移动应用性能测试剖析以及PerfDog与其他工具的对比分析11.22

商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。

导语:

在IT、互联网及游戏行业,软件测试都是一个重要且不可或缺的过程,测试是软件生命周期中的一个重要阶段,是软件质量保证的关键步骤。目的是为了检验软件系统是否满足需求。随着中国IT、互联网及游戏产业的发展和市场的不断成熟,人们对软件功能的期望值也逐步增高,通常关注的指标包括,性能、可靠性以及最重要的质量缺陷等。几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作。这些企业也意识到测试的广度和深度决定了产品甚至企业的的生存周期。

———————————————————————————————————
不容置疑,在任何软件的测试过程中,性能测试都是一个很重要的环节,它直接影响了用户的体验和用户满意度。试想一下,我们打开一个手机APP要花费2分钟,打一个游戏不断的卡顿,使用一个视频通讯软件电量消耗极快,这些与我们生活密切相关的移动应用软件的性能都会影响我们的生活质量,直接的后果就是导致对于这些应用的抛弃。 同样对于开发这些应用的企业,产品迭代的周期越来越快,也要求我们的产品开发部门能快速的交付高质量的产品版本,而性能测试作为交付前的最后一个关键环节,如果测试时间过长或者性能测试场景覆盖不完整,会直接影响到产品的运营以及产生大量的客户投诉。对于开发和运营这些应用软件的厂商来说,失去的包括用户、市场以及口碑,而这些往往决定了企业的生存和发展。

对于性能测试的需求,其中最主要的需求来源是产品研发和测试部,测试工程师会结合行业的通用标准、实际的测试场景以及APP应用的独特性来形成大部分的性能测试用例,举一个常见的例子,比如我们的游戏APP软件,FPS(画面每秒传输帧数)、 游戏响应速度以及对于手机CPU和内存的实时占用都是一个很关键的指标,因此在游戏性能测试时尤为关注这几个指标的曲线变化,研发部门往往会根据行业标准及游戏特点来设置一个阀值上限,性能测试的目的就是要严格控制在游戏操作过程中一系列指标位于阀值之内。当然还有一些应用的性能测试需求是直接来源于客户、管理者以及在产品日常运营过程中的一系列消费者调研又或者是售后过程中反馈的投诉和建议。

综上所述,性能测试未来的发展趋势一定是高度的自动化、开发与测试线上协同、测试过程可追踪可管理的高效过程。

1) 高度自动化的要求包括:性能测试过程工具化、工具智能化、性能测试结果自动化。

2) 开发与测试线上协同包括:性能测试过程流程化、电子化、云化、多地协同。

3) 测试过程可追踪可管理:支持对性能测试过程和结果数据进行追踪、统计分析和审计。

下面我们来分析一下手机APP性能测试的关键场景,主要可分为以下几类:

1) 极限测试:要求在各类边界压力情况下,例如电池、存储、网速等,验证应用是否能正确响应。

2) 响应能力测试:测试应用中的各种操作是否满足响应时间要求。

3) 压力测试:在反复/长期操作情况下、对于系统的资源是否占用异常。

4) 性能评估:评估在典型用户使用场景下,系统资源的使用情况。

5) Benchmark测试:与竞品的Benchmarking, 产品演变的对比测试。

APP性能测试的关键指标主要包括:响应、内存、CPU 、FPS、GPU过度渲染、耗电、耗流、手机版本号兼容性,屏幕分辨率兼容性,稳定性测试,安全测试、流量测试等)

———————————————————————————————————

APP性能测试的基本原理是在以上各种测试场景下通过监控APP的各项指标来识别和发现APP存在的代码质量问题并对程序进行修正和优化。而APP的性能测试工具正是基于这一过程的自动化需求应运而生。

APP性能测试的自动化工具市场上有很多,Android操作系统本身也提供了一些官方性能测试工具,包括:hierarchyviewer,主要检测布局复杂度,各视图的布局耗时情况;耗电量:Android开发者模式中的电量统计; 内存泄露检测工具:DDMS—MAT,等等,这些工具往往需要单独部署使用,没有很好的整合起来,并且安装、学习和使用耗费的时间成本较高。所以本文我们重点研究第三方的性能测试工具,主流的第三方工具包括leakcanary、Emmagee、itest、GT以及最近被热炒的PerfDog。

测试工具 测试指标
leakcanary 内存泄漏
GT Home CPU、内存、流量、点亮、帧率/流畅度、查看开发日志、crash日志、抓取网络数据包、APP内部参数调试、真机代码耗时统计
iTest cpu、内存、流量、电量等
Emmagee cpu、内存、流量、电量等
PerfDog cpu、内存、流量、电量等
提供厂商 目前收费
square
腾讯
淘宝
网易
腾讯
平台兼容 说明
Android 通过集成到程序中的方式,在程序运行时检测应用中存在的内存泄露,leancanry就是通过gc操作来检测内存泄露的
Android/IOS 应用需要集成GT的sdk后,GT这个apk才能在应用运行时对各个性能进行检测
Android Android自动化性能监控工具,能够记录特定应用的性能消耗情况, iTest不需要集成sdk到应用中,在itest中选中需要测试的应用即可进行测试;
Android Emmage和iTest一样,不需要在应用中集成sdk,能够对应用的常用性能指标进行检测,并以csv的格式保存方便查看应用的各项参数
Android/IOS 移动全平台iOS/Android性能测试、分析工具平台。能快速定位和分析性能问题,提升APP应用和游戏的性能和品质。手机无需Root/越狱,手机硬件、游戏及APP应用也无需集成任何sdk,极简化即插即用。

从上面五款工具的对比我们可以看到,除了 leakcanary仅仅针对内存泄漏,其余各工具均能支持APP性能测试中的大部分指标项监测。从易用性方面,iTest/ Emmagee/ PerfDog明显略胜一筹,这三款工具不需要对APP再集成SDK即可对APP进行性能测试。而从平台兼容性看,GT Home和PerfDog既支持Android又支持IOS系统,但是PerfDog更好,因为在真机上测试不需要ROOT和越狱。从厂商的影响力来看,GT Home和PerfDog均来自腾讯,GT由MIG专项测试组开发,而PerfDog由腾讯游戏部门开发,而我们知道对于游戏的性能指标要求比一般的应用测试要求更加苛刻和严格。所以下面我们将重点放在PerfDog的关键功能和使用上。
———————————————————————————————————
PerfDog的下载和安装非常方便,查看https://perfdog.qq.com/suppor...,我仅仅花了5分钟就已经安装完成并能实现USB和WIFI两种模式的APP监控了,无法言语的方便性。
接下来我选取了一个实际的APP进行性能测试和监控。打开PC端PerfDog并通过USB连接手机后如图,PerfDog能立即识别手机型号和各项系统参数:
8.png
打开单个数据,显示非常详尽,各个指标不光是数据,而且有图形展示:

10.png

测试数据支持批注及标定,鼠标左键双击,增加批注,再次双击,则取消批注。鼠标左键单击,则增加标定,再次点击则重新标定。
14.jpg

扫码即刻加群 与2000+测试同行深度交流
**PerfDog官网:perfdog.qq.com
腾讯WeTest官网:wetest.qq.com**
PerfDog交流群:602206842

你可能感兴趣的:(移动)