zoukankan      html  css  js  c++  java
  • Android性能测试摘入(TestHome)

    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
     
     
  • 相关阅读:
    STM32的CRC32 软件实现代码
    AES CBC/CTR 加解密原理
    Either, neither, both
    Answer Sheet
    Both
    How to convert a byte to its binary string representation
    how convert large HEX string to binary array ?
    TEA -- Tiny Encryption Algorithm
    DES
    IAR EWARM Checksum Technical Note
  • 原文地址:https://www.cnblogs.com/fqfanqi/p/6394634.html
Copyright © 2011-2022 走看看