考虑

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性能测试