app性能测试之CPU和电量篇
2019-02-19 22:59 沁霖 阅读(2242) 评论(0) 编辑 收藏 举报一、app性能测试指标有哪些(what):
app包大小 、app的下载/安装速度、app启动时间(冷启动、热启动)、CPU、memory、常用页面的加载时间、流畅度、电量、流量、功耗
二、做这些性能指标的目的(why):1.竞品分析 2.版本对比
三、那么这些指标要怎么测(how)
1.cpu获取方法2种:
第一种:
adb shell top -n 1| grep + PackageName
取某个静态页面的cpu,和动态页面的cpu进行分析
第二种:
adb shell dumpsys cpuinfo 包名
2种得出来的数据差异性太大,原因可参考下面博客 :
2.电量的测试:
使用GT(腾讯公司研发的一款测app性能的工具,但是里面有些问题)
测试场景:
1)安装目标APK前后,电量无明显变化
2)使用一段时间后电量变化无异常
3)空闲状态下也就是按home键后台运行状态,电量无异常
android5.0后,获取电量数据不用这么痛苦了,dumpsys batterystats数据中。包含:Estimated power use (mAh):,下面就是每个uid的耗电量,只要把app下所有uid耗电量加起来即可!(来自 https://www.cnblogs.com/0616--ataozhijia/p/5134557.html)
电量是测应用使用过程中 总电量=每个process的耗电量+数据流量的耗电量+wifi的耗电量+ Uid的wake lock耗电量( wakelock,只关心partial的类型)+Uid 其他传感器耗电量
android5.0后,获取电量数据不用这么痛苦了,dumpsys batterystats数据中。包含:Estimated power use (mAh):,下面就是每个uid的耗电量,只要把app下所有uid耗电量加起来即可!
adb连接电脑后,会给手机充电,那么怎么测试他的耗电量
方法一:
1.断开adb服务 adb kill-server
2.开启abd服务 adb start-server 或者 adb devices
这两步操作的作用:adb作为一种连接的方式,有可能被其他的程序占用,所以我们做电量记录时要避免打开很多可能冲突的东西
3.手机电池历史信息:
adb shell dumpsys batterystats --enable full-wake-history
4.重置电池数据
adb shell dumpsys batterystats --reset
5.指定app跑monkey
adb monkey -v 1000 <包名>
6.获取电量,可以用
adb shell dumpsys batterystats <包名> >本地电脑地址.txt
可以用Battery Historian图像化报告
Battery Historian 一款由Google提供的Android系统电量分析工具
(以上方法来自: https://testerhome.com/topics/12241)
方法二:用万用表测
3.功耗测试方法:
功耗测试中的测试子项:
1、手机安装目标APK前后待机功耗无明显差异
2、常见使用场景中能够正常进入待机,待机电流在正常范围内
3、长时间连续使用应用无异常耗电现象
功耗测试方法:
方法一:软件
1、采用市场上提供的第三方工具,如金山电池管家之类的。
2、就是自写工具进行,这里一般会使用3种方法:
1)基于android提供的PowerManager.WakeLock来进行
2)比较复杂一点,功耗的计算=CPU消耗+Wake lock消耗+数据传输消耗+GPS消耗+Wi-Fi连接消耗
3)通过 adb shell dumpsys battery来获取
3、battery-historian(google开源工具)
方法二:硬件
一般使用万用表或者功耗仪安捷伦进行测试,使用功耗仪测试的时候,需要制作假电池来进行的,有些不能拔插电池的手机还需要焊接才能进行功耗测试
5.流量
流量主要关注某个页面中加载图片所使用的流量大小,可使用fiddler工具获取。可以借用网易的开源工具:Emmagee
版权声明:本文为博主原创文章,转载请附上博文链接!