app测试单排日记-2020/5/2-app性能测试

二、 使用 adb 进行测试

1. App 响应时间和响应速度测试

1.1 主要测试点
  • 冷启动
    首次启动 app 的时间间隔(只是启动时间, 不包括页面加载)
adb shell am start -W com.tencent.mm/.ui.LauncherUI

app测试单排日记-2020/5/2-app性能测试_第1张图片
app测试单排日记-2020/5/2-app性能测试_第2张图片

  • 热启动
    非首次启动 app 的时间间隔(只是启动时间, 不包括页面加载)

2 内存占用测试

2.1 主要测试点

  • 空闲状态
    切换至后台或者启动后不做任何操作, 消耗内存最少。
  • 中强度状态
    时间偏长的操作应用。
  • 高强度状态
    高强度使用应用, 可以跑 monkey 来测试(通常用来测试内存泄漏) 。
    内存泄漏:指使用 malloc 或 new 申请了一块内存, 但是没有通过 free 或 delete 将内存释放, 导致这块内存一直处于占用状态。
adb shell dumpsys meminfo com.tencent.mm

app测试单排日记-2020/5/2-app性能测试_第3张图片
app测试单排日记-2020/5/2-app性能测试_第4张图片
app测试单排日记-2020/5/2-app性能测试_第5张图片

3 CPU 繁忙测试

3.1 主要测试点

  • 在空闲时间(切换至后台)的消耗, 基本没大应用使用 CPU
  • 在运行一些应用的情况下, CPU 已占 50%的情况下, 观察应用程序占用 CPU 情况
  • 在高负荷的情况下看 CPU 的表现(CPU 占用应是在 80%以上)

3.2 具体场景

  • 应用空闲状态运行监测 CPU 占用率
     应用按 Home 键退到后台, 不再占用系统的状态(通常是灭屏半分钟后)
     CPU 占用率=0%
  • 应用中等规格运行监测 CPU 占用率
     模拟用户最常见的使用场景
     CPU 占用率≤30%
  • 应用满规格长时间正常运行监测 CPU 占用率
     应用正常运行, 打开应用进行基本操作
     CPU 占用率≤50%
adb shell dumpsys cpuinfo com.tencent.mm | findstr com.tencent.mm

在这里插入图片描述

adb shell top -m -s | findstr packageName

app测试单排日记-2020/5/2-app性能测试_第6张图片
app测试单排日记-2020/5/2-app性能测试_第7张图片

4 FPS 应用流畅度测试

  • 开启 Profile GPU rendering
    Settings→System→Advanced→Developer options→查找 profile→找到并单击 Profile GPU rendering→In adb shell dumpsys gfxinfo

  • 打开要测试的 app,测试

adb shell dumpsys gfxinfo 包名

app测试单排日记-2020/5/2-app性能测试_第8张图片

app测试单排日记-2020/5/2-app性能测试_第9张图片
app测试单排日记-2020/5/2-app性能测试_第10张图片

app测试单排日记-2020/5/2-app性能测试_第11张图片

  • 导出结果为log.txt
adb shell dumpsys gfxinfo com.tencent.mm > Desktop\log.txt

app测试单排日记-2020/5/2-app性能测试_第12张图片

  • 通过 execl 进行表格处理可以直观的查看软件的流畅度

将log.txt文件中的结果部分保存到excel

app测试单排日记-2020/5/2-app性能测试_第13张图片

  • 在设备中显示结果
    Settings→System→Advanced→Developer options→查找 profile→on screen as bars
    app测试单排日记-2020/5/2-app性能测试_第14张图片
    app测试单排日记-2020/5/2-app性能测试_第15张图片
    app测试单排日记-2020/5/2-app性能测试_第16张图片

5 GPU 过度渲染测试

  • 开启 GPU 过度渲染
    设置→开发者选项→单击 Debug GPU overdraw→选择 show overdraw areas
    使用 genymoton 可能会导致模拟器无响应, 建议使用 AVD 模拟器。
    app测试单排日记-2020/5/2-app性能测试_第17张图片

  • 打开被测的应用

  • GPU 过渡渲染不同的颜色代表不同的绘制程度
    app测试单排日记-2020/5/2-app性能测试_第18张图片

  • 测试指标
     控制过渡绘制为 2次
     不允许存在 4次 过渡绘制
     不允许存在面积超过屏幕 1/4 的 3次过渡绘制

三、 App 性能测试工具的使用

1 使用 monkey 对 App 进行压力测试

  • Monkey命令
adb shell monkey -p 包名 1 -p 包名 2 ... -v -v -v 次数

app测试单排日记-2020/5/2-app性能测试_第19张图片
例如:

adb shell monkey -p com.tencent.mm -v -v -v 500 > log.txt


app测试单排日记-2020/5/2-app性能测试_第20张图片

2 使用 GT 测试 App 性能

2.1 GT 的使用

app测试单排日记-2020/5/2-app性能测试_第21张图片
app测试单排日记-2020/5/2-app性能测试_第22张图片


2.2 导出结果与分析

  • 从安卓手机取文件 :
进入手机设备: adb shell
取文件: adb pull 文件名 C:\..\Desktop

app测试单排日记-2020/5/2-app性能测试_第23张图片
app测试单排日记-2020/5/2-app性能测试_第24张图片

  • 在 Excel 中插入散点图(带平滑线)
    app测试单排日记-2020/5/2-app性能测试_第25张图片
    app测试单排日记-2020/5/2-app性能测试_第26张图片
    app测试单排日记-2020/5/2-app性能测试_第27张图片

你可能感兴趣的:(软件测试)