Android耗电量采集及简单分析

背景

电量测试在日常测试较为困难,本文介绍基于Battery Historian的Android 电量采集,从数据采集,环境搭建,数据分析三个方面进行介绍,希望对测试和开发有帮助。
本文介绍的方法优势是
1.不需要源码,无需打桩
2.数据功能丰富,包含电量,流量,温度,进程等信息
3.适用游戏,阅读,通讯,音乐等多种类型产品
4.可对竞品分析

耗电数据采集

Android系统提供dumsys工具用于数据采集,该采集行为是机器单方面的行为,不需要依赖第三方的辅助。
采集步骤如下:

Setup1.

打开开发者模式,手机通过usb接入电脑,并在终端执行如下命令

adb shell dumpsys batterystats --enable full-wake-history

该命令行的作用是打开全量采集wakelock(唤醒锁)数据开关,有利于全面观测分析数据;默认情况下该开关为关闭,不采集wakelock数据。

Setup2.

清空历史采集数据,在终端输入如下命令

adb shell dumpsys batterystats --reset

Setup3.

拔出USB。主要有如下两个原因:
1.手机连接USB接口处于充电状态,不能真实反应app耗电量
2.batterystats是系统级别指令,会一直记录数据,且只记录最后一次充满电后的记录,因此一直连接USB采集的数据可能被覆盖

Setup4.

执行电量测试用例,业务强相关。建议测试过程中关闭其他手机app,测试时间为30分钟,时间过长导出的日志文件过大(20M以上)

Setup5.

导出电量采集数据,在终端输入如下命令:

adb bugreport > filename.txt

Setup6.

关闭全量记录wakelock数据,终端输入如下命令:

adb shell dumpsys batterystats --disable full-wake-history

保持全量记录wakelock数据,会影响手机性能,建议关闭。
至此完成了电量数据采集。

耗电数据展示

耗电数据展示采用Battery Historian,及处理导出的 filename.txt电量采集数据。
git地址如下:https://github.com/google/battery-historian
Battery Historian是由Google提供的查看电量相关信息及事件的工具,适用与android5.0(API level 21)及以上系统。该工具能够让程序开发者在时间轴上可视化系统和app级别事件,具体包括查看设备上次充满电后的各种统计信息,选择应用程序并检查影响电池的指标等。

在第一代Battery Historian中,Google使用的python作为解析工具,将日志文件转化为可视化的html文件。由于是第一代产品不论是在功能性,还是使用便捷度都存在一定的问题。因此在第二代Battery Historian,google 选择了使用 docker 容器。本文使用第二代的Battery Historian。

下文将介绍如何搭建第二代的Battery Historian环境。

Setup1.

下载安装docker,Mac环境下载地址如下
https://store.docker.com/editions/community/docker-ce-desktop-mac
下载并启动docker。

Setup2.

终端输入下列命令:

docker run -p 9998:9999 gcr.io/android-battery-historian:2.1 --port 9999

第一次安装需要花一定时间安装相关的依赖,如果成功,将输出如下信息:

2017/06/20 02:51:46 Listening on port:  9999

Setup3.

访问127.0.0.1:9998,如下图

1.jpg

Setup4.

倒入耗电采集文件,展示如下:

2.jpg

耗电采集分析

使用Battery Historian展示耗电数据日志,接下来就是如何分析数据。
1.选择目标app及相关数据展示,在App Selection中通过name选择测试app

1.jpg

2.选择测试app,可以过滤掉其他app的相关数据,如下图:


1.jpg

我们能得到那些有用的数据呢?
1.app的耗电基本信息,如下图:

1.jpg

Device estimated power use:app的在测试时间内耗电量
Foreground:app在前台的运行时间

2.app的流量信息,如下图:

1.jpg

Wifi data transferred:Wi-Fi的流量
Mobile packets transferred:手机流量
Wifi packets transferred:Wi-Fi的数据包个数
Mobile active time:手机的数据包个数

3.wakelock唤醒锁信息


1.jpg

这块和业务强相关,一般指的是后台运行的任务。如阅读屏幕常亮,后台下载等场景。

4.服务信息

1.jpg

服务信息,可以查看app开启的services信息。

5.进程信息


1.jpg

经常信息,如图app有三个进程,分别是应用本身的进程,私信进程,push进程

6.网络信息

1.jpg

如图红色区域,反应了测试过程中的网络变化,绿色表示网络优,橘黄色表示网络弱

7.手机温度

1.jpg

反应测试阶段手机的温度,颜色约深温度越高

8.电量变化趋势

1.jpg

如红色区域,蓝色点越密集,表明该时间阶段耗电较大

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容