Androidapp性能测试⼩结(7个性能指标)
1.性能测试的⼏个指标:
2.性能测试环境准备:
3.启动时间
3.1,监控值的获取⽅法
启动分为冷启动和热启动,冷启动:应⽤程序⾸次启动,进程⾸次创建并加载资源的过程;热启动:应⽤程序启动后点“back”键、“Home”键,应⽤程序退到后台,并未被完全“杀死”的状态,再次启动;
3.1.1,冷启动
启动App命令:adb shell am start -W -n package/activity      停⽌App命令:adb shell am force-stop package
获取package/activity的⽅法:1.先执⾏监控指令 adb logcat | grep START,再启动程序,⽣成的log信息中可以查看该程序的包名和activity 名
ThisTime:647  这条信息中的时间就作为这次应⽤启动的耗时
3.1.2,热启动
启动App命令:adb shell am start -W -n package/activity      停⽌App命令:adb shell input keyevent 3  (发送⼀个keyevent事件,3代表点击⼿机上的“back”键)
ThisTime:427  这条信息中的时间就作为这次应⽤启动的耗时
3.2,“启动时间”监控的脚本实现
“启动时间”监控的脚本实现有两种⽅式:1.获取命令执⾏时间,作为启动时间参考值;2.在命令前后加上时间戳,以差值作为参考值(此种⽅式相对更精准)
脚本中需要创建两个类以及⽅法:
脚本实现如图1、2
android模拟点击
得到的数据在csv⽂件中,数据分析时去掉第⼀次的数据,取均值,并绘制出⼀个数据曲线,得到的均值的参考价值的体现⽅式有两种形式:1.取竞品的数据作为对⽐(⽐如测试的是google浏览器,⽤其他浏览器做对⽐);2.取历史版本的数据做对⽐(版本间对⽐,看最新版本的开发过程中是否造成了启动时间的延长)
3.2.2,时间戳差值监控⽤到的类以及⽅法:
4,CPU监控值的获取⽅法、脚本实现和数据分析
4.1获取⽅法:取图中第⼀个百分数作为cpu状态值
脚本实现如图3、4
注意:关于cpu的状态测试的时间要稍长⼀些,需要配合⼀个⾃动化脚本来实现对设备的操作,例如重复搜索100次,同时执⾏监控命令,来获取搜索100次之后的cpu状态值
5,流量监控值的获取⽅法、脚本实现和数据分析
5.1获取⽅法:
1.⾸先要获取进程的ID,命令:adb shell ps | grep packagename;
,如图中的“5715”就是我们想要的进程的ID。
2.获取进程的ID流量,命令:adb shell cat/proc/pid/net/dev(pid:第⼀步中获取到的进程的ID);
如图,得到的结果中只需要关注两个值:Receive(app接收到的数据)、Transmit(app发出的请求数据);流量等于这两个值的和:Receive+Transmit。只取eth0、eth1两个⽹卡的Receive和Transmit即可,也就是把图中框起来的4个数值相加。
脚本实现如图5、6
在实际的测试采集过程中,需要多次采集数据,取最后⼀次采集到的流量值和第⼀次采集到的流量值的差,作为我们本次测试过程中的流量消耗,这也是我们关注的重点!
6,电量监控值的获取⽅法、脚本实现和数据分析
*注意:⼀般,⽤硬件去测试电量的消耗更为准确,⽤脚本的⽅式去获取电量值会与⽤硬件获得的值有⼀点的偏差,但是⽤脚本的⽅式适合硬件资源相对有限的创业公司。
6.1获取⽅法:
1.命令:adb shell dumpsys battery;
2.因为测试过程中需要⼿机和电脑通过USB线连接,这样会造成测试电量的过程中⼿机同时也在充电,所以需要通过命令切换成“⾮充电状态”,此命令为:adb shell dumpsys battery set status 1;
如图,level值就是电量,取测试结束后和测试开始时的电量做差,就是我们要得到的测试过程中电量的消耗。
脚本实现如图7、8

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。