Mario洁 发表于 2018-6-12 15:53:41

移动APP客户端性能测试指标

性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。中国软件评测中心将性能
测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测
试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。通过性能
测试工具得到测试对象的各项性能指标,将各项性能指标与行业中的标准值或者竞品值去做对比,以得
到一个综合的结论与优化改进的方案。下面将以典型APP为例对客户端性能指标进行详细说明。后

包体大小

包体大小能被列为性能指标,是从APP性能指标及运营两个维度考虑的,用户是更希望包体小的同时性
能要好,有时它们会是一个互相取舍的关系。

启动时长

移动应用的启动时间是用户体验的一个重要方面,IOS一直建议尽可能的缩短启动时间,防止用户不愿意
使用它们。对于浏览器而言,由于程序启动时还会有教育页和闪屏的下发,因此启动时间的获取显得尤
为重要。

启动时间分为冷启动时间和热启动时间,所谓的“冷启动”,就是一个完全没有运行的应用的启动时间,
与热启动(应用已经在后台运行,某个事件将其带至前台)相比,由于此时系统尚未建立缓存,因此冷
启动往往要较平时(热启动)耗费更长的时间。

内存使用

在Android系统中,每个APP进程除了同其他进程共享(shared dirty)外,还独用私有内存(private dirty),
通常我们使用PSS(=私有内存+比例分配共享内存)来衡量一个APP的内存开销。移动设备的内存资源是
非常有限,为每个APP进程分配的私有内存也是有限制。一方面我们要合理的申请内存使用,以免导
致频繁的GC(垃圾回收机制)影响性能和大对象申请发生内存溢出;另一方面,我们要及时释放内存
,以免发生内存泄漏。

CPU占用率

一般情况下,用主流手机使用APP20%-40%的CPU占用率算是合理的,当然这个数值随着近年来手机
硬件配置的提高,会略微下降,如果CPU占用率超过80%就非常值得我们去关注了。

图片处理器每秒刷新的帧数(FPS)

可用来指示页面是否平滑的渲染。手机APP帧率FPS,30-60都可接受,上了60对于人眼主观感受差别
就不大了。对于移动应用开发而言,并不是FPS越高就一定越好,FPS取决于显卡,其次是内存、CPU
,然后是网络。故综合APP其他性能指标,选择一个适合的FPS即可。

电量

相对于PC来说,移动设备的电池电量是非常有限的,保持持久的续航能力尤为重要。另外,android的
很多特性都比较耗电(如屏幕,GPS,sensor传感器,唤醒机制,CPU,连网等的使用),我们必须要慎
重检查APP的电量使用,以免导致用户手机耗电发热,带来不良体验。

流量

目前的网络类型包含2G\3G\4G\wifi,其中还有不同运营商的区分,我们在APP的使用中经常遇到大资
源,重复请求,调用响应慢,调用失败等各种情况。在不同的网络类型之下,我们不仅要控制流量使
用,还需要加快请求的响应。另外,对于需要联网的手游来说,部分游戏对不同联网方式的网络类型
采用了不同的流量消耗策略,主要分为wifi环境和蜂窝网络环境。所以针对不同的游戏,我们统计流量
消耗时,可能要连接不同的网络进行测试。

       以上是移动APP客户端性能测试一些常见的性能指标,至于这些指标如何测试,后续我会收集更
多的分享大家。



qqq911 发表于 2018-6-26 11:23:47

感谢分享·~

2011的骑士 发表于 2020-3-23 18:17:19

感谢分享

wyq0121 发表于 2020-10-15 15:37:16

有没有移动端性能测试专用的工具,推荐一下?

郭小贱 发表于 2020-10-23 16:59:35

帧率是否需要考虑在内?感觉卡顿很容易让用户反感,甚至卸载客户端,尤其在游戏应用上更明显。

郭小贱 发表于 2020-10-23 17:02:31

App闪退、崩溃问题感觉也要作为重点测试,找到具体原因,不然也是一大隐患。

Miss_love 发表于 2020-12-25 09:30:38

感谢分享
页: [1]
查看完整版本: 移动APP客户端性能测试指标