• app性能测试之CPU和电量篇


    一、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
     
     
    版权声明:本文为博主原创文章,转载请附上博文链接!
    改变自己,从自律开始
  • 相关阅读:
    jsp完成页面自动刷新
    ssm整合案例
    MySql 里的IFNULL、NULLIF和ISNULL用法
    数据库优化
    数据库读写并发控制
    solr入门
    AngularJS入门(一)
    jsp和html的的区别
    Docker 网络(十一)
    Docker 容器资源隔离 namespace(十)
  • 原文地址:https://www.cnblogs.com/kekouwen/p/10403935.html
Copyright © 2020-2023  润新知