【APP性能测试】

一、普遍的apk性能测试,主要是以下七类

1、响应
2、内存
3、CPU
4、FPS (app使用的流畅度)
5、GPU过度渲染
6、耗电
7、耗流

二、响应测试

1查看appPackage及appActivity ,执行命令:

adb shell dumpsys activity | findstr "mResume"

Android 8.1之前应使用:

adb shell dumpsys activity | findstr “mFocus”

以新浪微博为例,执行成功如下所示:

 mResumedActivity: ActivityRecord{6dea1c2 u0 com.sina.weibo/.MainTabActivity t144}

appPackage:com.sina.weibo

appActivity:.MainTabActivity

2、查看APP冷启动时长

杀掉后台APP进程

adb shell am force-stop appPackage

启动APP,然后执行:

adb shell am start -W -n appPackage/appActivity   (绝对路径,首个Activity)

【APP性能测试】_第1张图片

 含义:
ThisTime: 该Activity的启动耗时;
TotalTime: 应用自身启动耗时, ThisTime+应用application等资源启动时间;
WaitTime: 系统启动应用耗时, TotalTime+系统资源启动时间

3、查看APP热启动时长

点击返回按钮退出app,启动APP,然后执行:

adb shell am start -W -n appPackage/appActivity   (绝对路径,首个Activity)

【APP性能测试】_第2张图片

 测试标准:冷启动时间不超过1.5s, 热启动不超过1s.

切换APP至后台

adb shell input keyevent 3

三、流量测试

(1)打开命令行窗口,执行adb shell

(2)获取pid,执行:

ps -ef | grep appPackage

【APP性能测试】_第3张图片

(3)获取流量

adb shell cat /proc/pid/net/dev   获取结果以bytes为单位

【APP性能测试】_第4张图片

补充:统计流量有以下几种方法,其中推荐:D > E > C > A> B,但是实际使用过程中会碰到有的手机没有uid_state文件或者没有root权限无法执行命令等情况,导致以上方法无法进行测试,因此本示例中使用了最后一种方式进行测试,如果使用最后一种方法,由于监测的是系统整体流量,因此需要后台杀掉其他应用,仅保留测试应用进行测试

【APP性能测试】_第5张图片

(4)计算流量消耗

(将上下行的数据相加-测试前的数据)/1024/1024就得到所消耗多少M的流量

字节换算公式:
1KB = 1024B
1MB = 1024KB == 1024 * 1024B
1GB = 1024MB == 1024 * 1024KB == 1024 * 1024 * 1024B
1T = 1024GB == 1024 * 1024GB == 1024 * 1024 * 1024 * 1024B

【APP性能测试】_第6张图片

最左边的表示接口的名字,Receive表示收包,Transmit表示发包;

bytes表示收发的字节数;

packets表示收发正确的包量;

errs表示收发错误的包量;

drop表示收发丢弃的包量;

((535404422+40063875)-(521318050+40063875)/1024/1024=13.4MB

四、查看APP占用CPU及内存

CPU测试,主要关注的是cpu的占用率。很多时候,我们玩手机时,会出现发热发烫,那是因为CPU使用率过高,CPU过于繁忙,会使整个手机无法响应用户,整体性能降低,用户体验就会很差,也容易引起ANR(application not responding, 主线程(UI线程)如果在规定时内没有处理完相应工作,就会出现ANR)等等一系列问题。

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

测试场景 操作方法 预期
1、应用空闲状态运行监测CPU占用率 空闲状态:应用按Home键退到后台,不再占用系统的状态(通常是灭屏半分钟后) CPU占用率=0%
2、应用中等规格运行监测CPU占用率 中等规格:模拟用户最常见的使用场景 CPU占用率≤30%
3、应用满规格长时间正常运行监测CPU占用率 Monkey测试 CPU占用率≤30%
4、应用正常运行期间监测CPU占用率峰值 应用正常运行:打开应用进行基本操作 CPU占用率≤50%



 


 


 

测试方法:
1、使用adb命令:

top -d 5  | grep appPackage

-d 代表刷新间隔,每隔多少秒输出一次

第一列代表占用系统CPU,第二列代表占用系统内存

【APP性能测试】_第7张图片

你可能感兴趣的:(自动化测试,app)