关键词: 客户端 APP 性能
一、APP客户端性能测试常见指标:
内存占用
CPU占用率
响应时长
流畅度
过度绘制
二、评估标准:
内存:
和竞品比较
和上一版本比较
CPU:
用主流手机使用APP,20%-40%的CPU占用率是合理的,不能超过80%。
响应时长:
优秀:0~400ms
标准:400ms~2000ms
轻微隐患:2000ms~5000ms
严重隐患:5000ms以上
流畅度:
APP帧率FPS,30~60帧都可接受,不能超过60帧,即16ms
过度绘制:
比较流行的验收的标准:
1)不允许出现黑色像素;
2)不允许存在4x过度绘制;
3)不允许存在面积超过屏幕1/4区域的3x过度绘制(淡红色区域)
三、测试方案
1、内存测试方法:
1)第三方工具GT,emmagee,itest,wetest
2)使用Android提供的adb命令
adb shell getprop | findstr dalvik 本机内存使用情况
adb shell dumpsys meminfo | grep packagename >address/mem.txt 应用的内存使用情况
测试范围:
空闲状态:打开应用后,点击home键让应用后台运行,此时应用处于的状态叫做空闲
中等规格:对应用的操作时间的间隔较长
满规格:对应用的操作时间的间隔较短
1)空闲状态下的应用内存消耗情况
2)中等规格状态下的应用内存消耗情况
3)满规格状态下的应用内存消耗情况
4)应用内存峰值情况
5)应用内存泄漏情况
6)应用是否常驻内存
7)压力测试后内存使用情况
2、CPU占用测试方法:
1)第三方工具GT,emmagee,itest,wetest
2)使用Android提供的adb命令
adb shell dumpsys cpuinfo 本机CPU占用率情况
adb shell dumpsys cpuinfo | grep packagename > address/cpu.txt 应用的CPU占用率情况
3)使用top命令
adb shell top | grep packagename > address /cpu.txt
测试范围:
1)空闲状态下的应用CPU消耗情况
2)中等规格状态下的应用CPU消耗情况
3)满规格状态下的应用CPU消耗情况
4)应用CPU峰值情况
3、响应时长测试:
1)adb命令
adb shell am start -W -n packagename/activity
2)抓取日志
% adb logcat -v threadtime >log.txt
%检索关键词:displayed
% 检索需要的activity
备注:方法一测冷启动和热启动时间;方法二测页面切换时间,求平均值。
测试范围:
1)首次启动(冷启动)----应用首次启动所花费的时间
2)非首次启动(热启动)---应用非首次启动所花费的时间
3)应用界面切换---应用界面内切换所花费的时间
测试步骤:
1)冷启动耗时:下载APP,不启动---》adb shell am start -W -n com.gggg/.MainActivity-----》读取TotalTime的数值,为冷启动时间。
2)首次启动耗时:下载APP,启动---》adb shell am force-stop com.gggg-----》adb shell am start -W -n com.gggg/.MainActivity----》读取TotalTime的数值,为首次启动时间。
3)热启动耗时:启动APP---》adb shell input keyevent 3-----》adb shell am start -W -n com.gggg/.MainActivity-----》读取TotalTime的数值,为热启动时间。
4)切换耗时:启动APP,切换到不同功能页面---》adb logcat -v threadtime >log.txt-----》检索关键词:displayed-----》检索需要的activity-------》读取TotalTime的数值,为切换时间。
备注:实时监控当前正在运行的activity命令如下:
>>adb shell
>>logcat | grep ActivityManager
4、流畅度测试
测试方法:
使用adb命令
1)保证手机与pc连接正常;
2)打开手机“设置”----》“开发者选项”(没有开发者选项就点击‘关于手机版本’连续点击灰出现开发者选项了)。找到监控一栏点击“GPU更显模式分析”——》勾选“dab shell dumpsys gfxinfo”
3)在pc上win+R 进入运行,输入cmd,回车。把手机停放在被测软件上,在命令行中输入 adb shell "dumpsys window | grep mCurrentFocus"之后会显示APP的名字,只记住从com开始到“/”结束的名字即可
4)打开被测APP进行滑动页面,结束后,在命令行输入adb shell dumpsys gfxinfo app的包名 >FPS.txt回车,页面无任何提示,则成功。
测试范围:
主要界面间的切换
5、过度绘制
测试方法:
点击进入“设置”-----》点击进入“开发者选项”----》选中“调试GPU过度绘制”----》选中“显示过度绘制区域”
测试范围:
1)APP所有页面
2)与竞品比较