全网最全移动端App性能测试方法,值得收藏!

关注上方“测试开发技术”,选择星标,

干货技术,第一时间送达!

全网最全移动端App性能测试方法,值得收藏!

含义:

ThisTime: 该Activity的启动耗时;

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

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

2)热启动:按back按键后再启动adb命令

全网最全移动端App性能测试方法,值得收藏!

限制网络情况需要用到charles的一个功能:Throttle Setting

全网最全移动端App性能测试方法,值得收藏!

3、代码日志输入查看

直接源码打日志,输入各个位置的耗时操作最为有效,需要源码。

4、借用工具,高速相机,但是成本较高。(如下图:目前项目团队使用的测试工具)

原理:通过压力感应来自动识别起始点,回放图片判断结束点,(一般默认手机界面静止不动为结束点), 键盘按S键为起始点,按F键为结束点。

这里便不介绍用法了。

二、内存

在Android系统中,每个APP进程除了同其他进程共享内存(shared dirty)外,还独用私有内存(private dirty),通常我们使用PSS(私有内存+比例分配共享内存)来衡量一个APP的内存开销。由于一个移动设备的内存是固定的,如果内存消耗过大就会造成应用卡顿或者闪退,需要对内存进行测试。正常情况下,应用不应占用过多的内存资源,且能够及时释放内存,保证整个应用内的稳定性和流畅性。

测试点:

1、空闲状态:切换至后台或者启动后不做任何操作,消耗内存最少。

2、中强度状态:时间偏长的操作应用。

3、高强度状态:高强度使用应用,可以跑monkey来测试(通常用来测试内存泄漏)。

内存泄漏:指应用里的内存一直没有释放,内存一直增加 ,系统内存一直减少 

测试方法:

1、使用adb命令:adb shell dumpsys meminfo packageName

获取应用包名和Actively:

adb shell dumpsys window | findstr mCurrentFocus

全网最全移动端App性能测试方法,值得收藏!

2、使用性能测试工具:Emmagee(只支持Android)

Emmagee是网易开发的一款测安卓应用性能的测试apk

1、安装Emmagee.apk,打开。

2、选择需要测试性能的应用启动

3、被测应用界面会展示内存、CPU、电流、流量等数据

4、stop Test之后,在本地SD卡中保存一份性能测试数据,可以从里面获取内存信息。

5、可以通过execl将数据转化成图表,更直观的查看各性能指标的数据。

(保存地址:/sdcard/Emmagee/******* .csv文件)

全网最全移动端App性能测试方法,值得收藏!

原理Emmagee是使用Android自身提供的ActivityManager.MemoryInfo()方法获得

可查看:cpu 内存 流量 电量 FPS(流畅度)是一个相对比较好的选择

但是只支持安卓6.0及以下的版本

除了Emmagee,还有腾讯提供的一个同样测试性能的app, GT。使用与Emmagee大体一致,但是GT除了支持Android,同样支持ios。GT相对于Emmagee功能也更强大:性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计。

3、使用AndroidStudio 自带 CPU 和内存检测功能 – Android Monitor

(首先要下载并安装好Android Studio)

Android Monitor 可以检测CPU 和内存,能够绘制出变化图,可以直观明了的看出内存和cpu的变化曲线。

全网最全移动端App性能测试方法,值得收藏!

关注点:

1、退出某个页面后,内存是否有回落。

如果没有及时回落,且程序自动GC或者手动GC,那便可确认有问题。

2、进行某个操作后,内存是否增长过快。

如果增长过快,也有可能存在风险,需重复操作确认。

三、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命令:

1) top -m -s cpu |grep packageName

全网最全移动端App性能测试方法,值得收藏!

全网最全移动端App性能测试方法,值得收藏!

2、除了使用adb shell, 还可以直接使用开发者选项自带的图表

1)打开手机:开发者选项—>profile GPU rendering —> on screen as bars

2) 操作被测的软件

3)界面会显示如下的一个统计数据表

全网最全移动端App性能测试方法,值得收藏!

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

1)、原色:无过渡绘制

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

3)、绿色:绘制二次

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

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

测试指标:

1、控制过渡绘制为2x

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

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

六、耗电量

测试应用对电量的消耗前需要对手机本身的电量消耗有个大概了解,测试前先看规定时间内手机正常待机下(重启后待机)电量消耗为多少。然后再启动待测试APP看看消耗的电量增加了多少取差值。

测试点:

  测试手机安装目标APK前后待机功耗无明显差异;

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

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

测试方法:

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

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

2、使用adb命令

adb shell dumpsys batterystats |grep packageName

转载自:

https://blog.csdn.net/xiaomaoxiao336368/article/details/83547318

推荐阅读

测试技术的提升你只需要关注这个!年薪20W都不是梦!

测试经理 : 不想测就不测呗,摆什么臭架子!

测试干了5年,薪资不如刚入行1年的小白薪28k真的是看工作年限吗br>

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91428 人正在系统学习中

来源:软件测试小黑屋

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月2日
下一篇 2021年5月2日

相关推荐