App 性能测试关注点

一、 App 性能指标

App 性能问题如 app 使用时卡顿严重或者加载页面慢,cpu 占用率高,app 闪退等,在测试过程中,则需特别关注性能方面的体验,app 性能差,通常会导致用户对 app 的使用率下降,卸载率上升。

响应

软件的响应时间和响应速度直接影响到用户的体验度,如果一个软件,迟迟加载不 出来,会直接影响到软件的日活、留存。因此对于一个软件,对响应速度测试是必 不可少的。
优秀:0~400ms,标准:400ms~2000ms,轻微隐患:2000ms~5000ms,严重隐患:5000ms 以上。

内存

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

CPU

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

FPS

应用的使用流畅度,FPS 是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS 是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会愈流畅。
一般,Android 设备的屏幕刷新率为 60 帧/s,要保持画面流畅不卡顿,要求每一帧的时间不超过 1000/60=16.6ms,这就是 16ms 的黄金准则,如果中间的某些帧的渲染时间超过 16ms,就会导致这段时间的画面发生了跳帧,因此原本流畅的画面变发生了卡顿。

GPU 过度渲染

GPU 渲染是指在一个像素点上绘制多次(超过一次):显示一个什么都没有做的activity 界面算作画了 1 层,给 activity 加一个背景是第 2 层,在上面放了一个 Text View(有背景的 Text View)是第 3 层,Text View 显示文本就是第 4 层,仅仅只是为了显示一个文本,却在同一个像素点绘制了四次,这一定要优化的。过度绘制对动画性能的影响是极其严重的,如果你想要流畅的动画效果,那么一定不能忽视过度绘制。

耗电量

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

测试点:
测试手机安装目标 APK 前后待机功耗无明显差异;
常见使用场景中能够正常进入待机,待机电流在正常范围内;
长时间连续使用应用无异常耗电现象。

流量测试

目前的网络类型包含 2G\3G\4G\wifi,其中还有不同运营商的区分,我们在 APP 的使用中经常遇到大资源,重复请求,调用响应慢,调用失败等各种情况。在不同的网络类型之下,我们不仅加快请求的响应,还要控制流量使用。
每秒钟平均流量,建议值<5.12kb,每 10 分钟平均流量,建议值<3MB,不存在 app
偷跑流量等行为。
App 响应时间和响应速度测试

1.1 主要测试点


冷启动

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

热启动

非首次启动 app 的时间间隔(只是启动时间,不包括页面加载)
内存占用测试

2.1 主要测试点


空闲状态

切换至后台或者启动后不做任何操作,消耗内存最少。

中强度状态

时间偏长的操作应用。

高强度状态

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

内存泄漏
 指使用 malloc 或 new 申请了一块内存,但是没有通过 free 或 delete 将内
存释放,导致这块内存一直处于占用状态。

CPU 繁忙测试

3.1 主要测试点

在空闲时间(切换至后台)的消耗,基本没大应用使用 CPU

在运行一些应用的情况下,CPU 已占 50%的情况下,观察应用程序占用 CPU 的情


在高负荷的情况下看 CPU 的表现(CPU 占用应是在 80%以上)

3.2 具体场景


应用空闲状态运行监测 CPU 占用率

应用按 Home 键退到后台,不再占用系统的状态(通常是灭屏半分钟后)
 CPU 占用率=0%

应用中等规格运行监测 CPU 占用率

模拟用户最常见的使用场景
 CPU 占用率≤30%

应用满规格长时间正常运行监测 CPU 占用率

应用正常运行,打开应用进行基本操作
 CPU 占用率≤50%
GPU 过度渲染测试

开启 GPU 过度渲染

设置→开发者选项→单击 Debug GPU overdraw→选择 show overdraw areas

使用 genymoton 可能会导致模拟器无响应,建议使用 AVD 模拟器。

显示开发者选项
 打开手机的“设置”,进入到“设置”页面;
 滑到“设置”页面的最下端,进入“系统”;
 找到“关于手机”,进入到“关于手机”页面;
 找到“版本号”,连续点击。
 会弹出一段文字提醒,直到提醒次数为 0 后结束点击。
 重新进入“系统”,进入“开发者选项”。

打开被测的应用
 GPU 过渡渲染不同的颜色代表不同的绘制程度

原色:无过渡绘制

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

绿色:绘制二次

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

深红:绘制四次
(必须优化)
测试指标

控制过渡绘制为 2x

不允许存在 4x 过渡绘制

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

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

画江湖Test

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值