Android性能测试:

     客户端性能测试

     服务端性能测试

 

客户端性能测试:

     1.ROM版本的性能测试(即手机的不同操作系统):关注功耗测试

     2.应用的性能测试

          a.启动时间

          b.内存

          c.CPU

          d.GPU

          e.功耗

          f.流量

          ......

 

一、启动时间的测试:暂分三类

     1、首次启动:应用首次启动所用的时间

     2、非首次启动

     3、应用界面切换:应用界面内切换所花费的时间

 

抓取日志计算的方法:

 

adb logcat > 文件夹路径/文件名(./logcat/logcat.txt)
     find "Displayed"  ./logcat/logcat.txt > ./logcat/displayed.txt
     find "activityName" ./logcat/displayed.txt > ./locat/last.txt

     再根据last.txt文件中的时间计算启动时间

 

二、内存测试:关注内存消耗

目标: 为了让应用不占用过多的系统资源,且及时释放内存,保障整个系统的稳定性

     分类:

          1、空闲状态: 打开应用后,点击home键让应用在后台运行

          2、中等规格操作: 对应用的操作时间的间隔较长

          3、满规格操作: 对应用的操作时间的间隔较短

     测试子项:

          1.空闲状态下的应用内存消耗情况

          2.中等规格状态下的应用内存消耗情况

3.满规格状态下的应用内存消耗情况

4.应用内存峰值情况

5.应用内存泄露情况

6.应用是否常驻内存

7.压力测试后的内存使用情况

 

1)第三方工具: 网易的Emmagee、安测试、腾讯的GT等

2)抓取日志方法:

     adb shell dumpsys meminfo > ./logcat/meminfo.txt

     find "应用名称" ./logcat/meminfo.txt > ./logcat/mem.txt

3) 使用 android 提供的 procrank

 

procrank 方法(批处理)

首先去google获取procrank、procmem、libpagemap.so 三个文件 .

然后push文件,执行 adb push procrank /system/xbin adb push procmem /system/xbinadb push libpagemap.so /system/lib

赋权 adb shell chmod 6755 /system/xbin/procrank adb shell chmod 6755 /system/xbin/procmemadb shell chmod 6755 /system/lib/libpagemap.so ,

在开启工具记录 adb shell procrank |grep packagename >/address/procrank.txt

 

内存泄露方面的测试,可以通过几个方面来测试:

1.通过monkey压力测试记录内存使用情况,分析数据曲线图及日志情况

2.通过eclipse上的mat+heap来分析存在内存泄露方面的节点

 

三、CPU的测试

     测试子项:

          1.空闲状态下的应用CPU消耗情况

 2.中等规格状态下的应用CPU消耗情况

 3.满规格状态下的应用CPU消耗情况

 4.应用CPU峰值情况

CPU的测试方法分为几类:
1.使用android提供的adb shell dumpsys cpuinfo |grep packagename >/address/cpu.txt来获取

2.使用top命令 adb shell top |grep packagename>/address/cpu.txt 来获取     

 

四、GPU的测试

     测试子项:

  1. 界面过度绘制
  2. 屏幕滑动帧速率
  3. 屏幕滑动平滑度

对于过度绘制的测试主要通过人工进行测试,通过打开开发者选项中的 显示GPU过度绘制 来进行测试(PS:只有android4.2及以上的版本才具备此功能),验收的标准为:

  1. 不允许出现黑色像素
  2. 不允许存在4x过度绘制
  3. 不允许存在面积超过屏幕1/4区域的3x过度绘制(淡红色区域)

五、功耗测试

     测试子项:

          1、测试手机安装目标APK前后待机功耗无明显差异

          2、常见使用场景中能够正常进入待机,待机电流在正常范围内

          3、长时间连续使用应用无异常耗电现象

 

命令获取: adb shell dumpsys battery

......

 

六、流量测试

     测试子项:

          1、应用首次启动流量提示

          2、应用后天连续运行2小时的流量值

          3、应用高负荷运行的流量峰值

          4、应用中等负荷运行时的流量均值

测试方法:

     1、tcpdump抓包,wireshake获取报信息计算

     2、获取uid: adb shell dumpsys package

                  //adb shell cat /proc/uid_stat/uid/tcp_rcv

                 // adb shell cat /proc/uid_stat/uid/tcp_snd

                         adb shell cat /proc/net/xt_qtaguid/stats