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

 
 

最新文章

  1. 深入理解Angular中的$Apply()以及$Digest()
  2. 02-Vue入门之数据绑定
  3. qlserver、Mysql、Oracle三种数据库的优缺点总结
  4. 【转】PackageInfo、ResolveInfo 笔记
  5. SQL Server 索引介绍
  6. HeadFirst设计模式之单例模式
  7. 标准程序员系列-Github篇-初始化一个代码仓库
  8. 一个简单的string类,读书看报系列(一)
  9. UVALive 7070 The E-pang Palace(暴力)
  10. Java-transient总结
  11. P1991 无线通讯网 最小生成树
  12. ES6---扩展运算符和rest‘...’(三点运算符),在数组、函数、set/map等中的应用
  13. pythonの信号量
  14. Android应用启动、退出分析
  15. 【BZOJ1492】【NOI2007】货币兑换
  16. Java JDBC基本用法
  17. eclipse中的项目鼠标右键卡死
  18. easyUI datagrid 排序
  19. 华为P10闪存门
  20. SQL数据类型(SQL Server六个类型使用)

热门文章

  1. SQL Server Profiler 跟踪sql小技巧
  2. 【Java集合源代码剖析】TreeMap源代码剖析
  3. Atitit .h5文件上传 v3
  4. [docker]bind9.11-with-mysql5.6 docker容器化实战
  5. tensolrflow之基础变量
  6. java中的锁池和等待池
  7. 【问题记录】shiro logout UnknownSessionException
  8. Hadoop 安装指南
  9. powerDesigner建表时选择不同数据库类型
  10. STM32F10x_硬件I2C读写EEPROM(标准外设库版本)