考虑
1.响应(发送请求的处理时长1/3/5/7处理,可以大体分为金融类/互联网类/电商类根据不同需求调整)
2.内存(程序占用的手机内存,一般只考虑手机内存占用率/手机内存占用量MB,不考虑内存类型)
3.CPU(CPU占用率)
4.FPS(使用观感,卡顿,心电图)
5.GPU(考虑编程渲染深度,一般为代码问题)
6.耗电量测试(h,满电低电)
7.流量监测
1.启动响应和请求响应
简单来说,用户点击(请求)到显示(响应返回,页面显示)的过程 ,也有第一次启动的加载时间
因此 考虑
1.冷启动(首次启动APP的时间间隔)
2.热启动(非首次启动APP的时间间隔)
*后台会残存进程,因此冷启动/无后台进程 热启动/后台残存进程
3.完全启动:从启动到首页完全加载出来的时间间隔
4.良好网络弱网络无网(部分APP对网络要求持续连接 比如谷歌商城对国内弱网络环境下不友好,部分软件无网络情况下加载缓慢会反复发送联网或者位置请求导致卡顿)
手机连接后
adb shell dumpsys window |findstr mCurrentFocus
adb shell am start -W tv.danmaku.bili/tv.danmaku.bili.MainActivityV2
测试标准:冷启动时间不超过1.5s, 热启动不超过1s.
B站
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=tv.danmaku.bili/.MainActivityV2 }
Status: ok
LaunchState: COLD
Activity: tv.danmaku.bili/.MainActivityV2
TotalTime: 2336 应用自身启动耗时
WaitTime: 2340
Complete
back
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=tv.danmaku.bili/.MainActivityV2 }
Warning: Activity not started, its current task has been brought to the front
Status: ok
LaunchState: HOT
Activity: tv.danmaku.bili/.MainActivityV2
TotalTime: 267 应用自身启动耗时 ThisTime+应用application等资源启动时间
WaitTime: 302 系统启动应用耗时 TotalTime+系统资源启动时间
Complete
无网启动
用charles或者fiddler throttle setting
内存测试
adb shell dumpsys meminfo tv.danmaku.bili
测试关注点:
1、Native heap alloc
2、Dalvik heap alloc
3、PSS
*内存优化
性能测试工具 Emmagee网易 GT腾讯 solopi阿里
CPU测试
CPU占用率 影响手机处理速度 过高的CPU占用容易引发ANR
在空闲状态测试
在50%的情况下测试
在高负荷的情况看cpu的表现75%以上
场景set
空闲状态:clear 返回手机系统页面
应用CPU=0
一般状态 开部分程序
CPU占用率≤30%
Monkey测试
CPU占用率≤30%
应用正常运行:打开应用进行基本操作
CPU占用率≤50%
查看峰值和离散率
top -m -s cpu | grep packageName
top CPU
-m 显示最大数
-s 指定行排序
-t 显示进程名称
-n 在退出前刷新几次
-d 刷新间隔
dumpsys cpuinfo |grep packageName
或者emmagee gt Android Monitor
FPS
标准60fps 1000/60 =16.6MS
中间的渲染帧如果超过16MS 则会发生跳帧 出现卡顿
adb命令
打开手机 :开发者选项 GPU in adb shell gfxinfo
打开APP
adb shell dumpsys gfxinfo 包名
关注点
Draw draw 方法占用时间
Process 引擎执行时间
Execute 实际花费的时间
Draw+Process+Execute 总时间>16ms 才能保证60fps
Emmagee gt
android monitor
GPU渲染
绘制像素点
对某个区域或者某个像素点多次不必要的渲染 >4 或者标准(滚动页面考虑较多)
手机自带的开发者选项中有 GPU渲染检测 可以输出
颜色意义
原色:无过度绘制
蓝色:1xOK)
绿色:2x(基本ok)
浅红:3x(可以优化)
深红:4x(必须优化)
测试指标
1.蓝色以下最好 2x
2.4x禁止
3.总屏幕面积25%的3x 禁止
耗电量测试
推荐工具测试
Emmagee 只开被测软件 静置一晚 看耗电 被测应用对比待机电流 <=2mA
adb
adb shell dumpsys batterystats | grep 包命
更多推荐
APP性能测试
发布评论