app性能测试.docx

app专项性能测试:

包体大小:包体不能太大,竞品分析

1、启动(冷启动,热启动,完全启动,有网启动,无网启动)

1)冷启动:首次启动app的时间间隔,只是启动时间,不包括页面加载

C:\Users\cherrylixh>adb shell am start -W com.pptv.launcher/.UserCenterActivity

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.pptv.launcher/.UserCenterA

Status: ok

Activity: com.pptv.launcher/.UserCenterActivity

ThisTime: 182

TotalTime: 182

WaitTime: 194

Complete

thisTime:该Activity启动耗时

TotalTime:应用自身启动耗时,ThisTime+应用application等资源启动时间;

WaitTime:系统启动耗时,TotalTime+系统资源启动时间

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

操作:按back键后,在启动,adb命令

3)完全启动:从启动到首页完全加载出来的时间间隔

4)有网启动:从发起跳转到页面完全加载出来的时间间隔

5)无网启动:从发起跳转到页面完全加载出来的时间间隔

完全启动,有网启动,弱网启动,无网启动:可以通过fiddler或charles抓包来获取启动时间

使用androidstudio的android Montior,查看手机日志系统输出

2、内存

android系统中app一般有私有内存PSS和共享内存,来衡量app的内存开销,内存占用过多增长太快存在内存泄漏;

测试点:

1)空闲状态:切换至后台或者启动状态不做操作,消耗内存最小

2)中强度状态:时间较长的操作

3)高强度状态:使用money来操作

测试方法:

1)adb shell dumpsys meminfo com.pptv.tvsports.a

C:\Users\cherrylixh>adb shell dumpsys meminfo com.pptv.tvsports.a

Applications Memory Usage (kB):

Uptime: 500286431 Realtime: 500286431

** MEMINFO in pid 28546 [com.pptv.tvsports.a] **

Pss Private Private Swapped Heap Heap Heap

Total Dirty Clean Dirty Size Alloc Free


Native Heap 34906 34828 0 0 49140 49140 48139

Dalvik Heap 36519 36388 0 0 44444 36866 7578

Dalvik Other 2148 2148 0 0

Stack 884 884 0 0

Other dev 25 0 24 0

.so mmap 9217 404 6308 0

.apk mmap 425 0 96 0

.ttf mmap 489 0 56 0

.dex mmap 16361 0 14360 0

code mmap 4760 0 1212 0

image mmap 4727 1512 2176 0

Other mmap 167 56 44 0

Unknown 11041 11040 0 0

TOTAL 121669 87260 24276 0 93584 86006 55717

其中native heap:JVM分配的内存 49140

dalvik heap:java分配的内存 44444

PSS total:实际使用的内存 TOTAL 121669

3、cpu

主要关注CPU占用率,cpu过于繁忙会存在ANR问题

测试点:

1)在空闲时间(切换至后台)的消耗,不占用cpu

2)常用使用场景,cpu占用率《30%

3)长时间高强度运行,cpu占用率《50%

测试方法:

1)top -m 5 -s cpu|grep 包名

2)adb dumpsys cpuinfo |findstr com.pptv.tvsports

4、FPS (应用的使用流畅度)

FPS是指画面每秒传输帧数,动画或者视频的画面数,android设备的屏幕刷新率是60帧/s,要保持画面流畅不卡顿,要求每一帧不超过1000/60=16.6ms

测试方法:

1)打开手机:开发者选项—>profile GPU rendering —> in adb shell dumpsys gfxinfo

  1. 操作要测试的apk

3)adb shell dumpsys gfxinfo 包名

  1. 得到一个矩阵数据,计算矩阵中帧率大于16的点所占比例,即为卡顿比

2、打开手机开发者选项—>profile GPU rendering —> on screen as bars,操作被测软件,界面出现统计表,超过绿色的线代表有卡顿

3、使用第三方工具:emmagee,GT

4、使用android studio自带的android monitor

5、GPU渲染

GPU渲染是指一个像素点绘制多次,过度绘制对动画性能有影响

测试方法:

1、手机自动的Debug GPU overdraw

1)打开手机—>设置—>开发者选项—>Debug GPU overdraw—>show overdraw areas

2)打开被测的应用

GPU过渡渲染不同的颜色代表不同的绘制程度

1)、原色:无过渡绘制

2)、蓝色:绘制一次 (理想状态)

3)、绿色:绘制二次

4)、浅红:绘制三次 (可以优化)

5)、深红:绘制四次 (必须优化)

测试指标:

1、控制过渡绘制为2x

2、不允许存在4x过渡绘制

3、不允许存在面积超过屏幕1/4的3x过渡绘制

6、耗电量

测试前先查看在规定时间内手机正常待机下(重启后待机)电量消耗为多少,然后再启动待测试app查看消耗的电量增加了多少

测试点:

1)测试手机安装目标apk前后待机功能无明显差异

2)常见使用场景中能用正常进入待机,待机电流在正常范围内

3)长时间连续使用应用无异常耗电现象

测试方法:

(先关闭所有的应用,再打开被测app)

1、使用第三方测试工具:Emmagee、GT等,只需要测试的电流静置一晚,待机电流在正常范围内即可。一般是被测应用对比待机电流<=2mA。

2、使用adb命令

adb shell dumpsys batterystats |grep packageName

测试项

测试子项

含义

测试手段

预期结果

备注

启动

冷启动

首次启动

1、adb shell am start -w 包名/activyty名2、查看启动时间

不超过1.5s

热启动

非首次启动

1、启动后按back键再次adb启动

不超过1s

cpu

1)top -m 5 -s cpu|grep 包名 2)adb dumpsys cpuinfo |findstr com.pptv.tvsports 3)使用第三方工具:emmagee,GT 4)使用android studio自带的android monitor

不存在ANR

内存

monkey情况

1、adb shell dumpsys meminfo 包名 2、看PSS total的大小 3、使用emmagee测试 4、使用android studio的android monitor

native heap,dalvik heap两者不能一直增长,不存在内存泄漏

两个一直增长有内存泄漏

电量

测试前需要关闭所有应用,再打开app

1)adb shell dumpsys batterystats |grep 包名 2)使用第三方测试工具emmagee,GT等

1、测试手机安装目标apk前后待机功耗无明显差异 2、长时间连续使用应用无异常耗电现象

流量

流量上传下载

1、adb shell cat /proc/net/xt_qtaguid/stats |grep uid

fps

卡顿占比

画面流畅率

1)打开手机:开发者选项—>profile GPU rendering —> in adb shell dumpsys gfxinfo 2) 操作要测试的apk 3)adb shell dumpsys gfxinfo 包名 4) 得到一个矩阵数据,计算矩阵中帧率大于16的点所占比例,即为卡顿比

不超过16ms

GPU

页面渲染

在一个像素点绘制几次

打开手机—>设置—>开发者选项—>Debug GPU overdraw—>show overdraw areas

不超过4层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值