前言
当前移动设备越来越多地涌现在我们日常生活中,人们通过移动设备可以高效地完成很多事,比如网络购物、充值缴费、新闻资讯、理财等。随着中国IT、互联网的发展和市场的不断成熟,人们对软件功能的期望值也逐步增高。试想一下,当你打开一个APP要花费2分钟,玩游戏不断的卡顿,视频通讯时软件电量消耗极快,这会多么令人苦恼,直接的后果就是放弃使用这些应用。对于这些应用的厂商来说,失去的是用户、市场及口碑,而这些往往决定了企业的生存与发展。
不容置疑,性能测试在任何软件的测试过程中都是一个很重要的环节,它直接影响了用户的体验和用户满意度。
一、APP性能测试
APP性能测试的关键指标主要包括:启动时间、内存、CPU、耗电量、流量、流畅度等。
APP性能测试的基本原理是在各种测试场景下通过监控APP的各项指标来识别和发现APP存在代码质量问题并对程序进行修正和优化。而APP的性能测试工具正是基于这一过程的自动化需求应运而生。
Android操作系统本身提供了一些官方性能测试工具,包括:检测布局复杂度的HierarchyViewer,开发者模式中的电量统计,检测内存泄露的DDMS-MAT等。
但是这些工具往往需要单独部署使用,没有很好的整合起来,并且安装、学习和使用耗费的时间成本较高。
APP性能测试的自动化工具市场上也有很多,主流的第三方工具包括:LeakCanary、Emmagee、iTest、GT以及最近被热炒的PerfDog。以下从四个方面对这些工具进行比较:
1.测试范围
除了 LeakCanary仅仅针对内存泄漏,其余各工具均能支持APP性能测试中的大部分指标项监测。
2.易用性
iTest/ Emmagee/ PerfDog明显略胜一筹,这三款工具不需要对APP再集成SDK即可对APP进行性能测试。
3.平台兼容性
GT和PerfDog既支持Android又支持IOS系统,但是PerfDog更好,因为在真机上测试不需要ROOT和越狱。
4.厂商影响力
GT和PerfDog均来自腾讯,GT由MIG专项测试组开发,而PerfDog由腾讯游戏部门开发,而我们知道对于游戏的性能指标要求比一般的应用测试要求更加苛刻和严格。
所以下面我们将重点放在PerfDog的关键功能和使用上。
二、认识PerfDog
移动性能测试一直是众多性能测试者的心头病:每次测试都要动用众多工具,ROOT/越狱难,工具准确性存疑,需要进行多次复测……等。基于此,腾讯研发了一款移动性能测试工具,并于2019年11月1日正式发布,开放下载——PerfDog,也称性能狗。
PerfDog性能狗是移动全平台iOS/Android性能测试工具平台,快速定位分析性能问题,提升APP应用及游戏性能和品质。
PerfDog的八大特性:
- 移动全平台——支持Android/iOS移动平台,如手机、iPad、Watch、Android模拟器等。提供PerDog软件Windows&Mac版本。
- 无需ROOT/越狱——Anroid设备无需ROOT,iOS设备无需越狱。高效解决Android&iOS性能测试分析难题。
- 数据准确性——工具本身对测试设备CPU的性能影响<1%,帧率无影响。保证了性能数据准确真实性。
- 数据完整性——可提供截图、FPS、Jank、FTime、CPU、GPU、Memery、Battery、NetWork、CTemp等性能参数,这些都可轻松获得。
- 应用广泛性——支持所有APP应用、游戏、小程序、小游戏、H5、Web等。
- 工具易用性——无需安装,即插即用,减少繁琐的测试障碍。
- 云端看板——基于云端的看板,可随时随地存储、可视化、编辑、管理和下载使用任何版本的PerfDog收集所有的测试数据。
- 团队合作——可随时创建任务、邀请团队成员加入、支持共享和查看团队完成情况,开启高效的协作模式。
三、PerfDog的使用
第一步:下载安装
进入官网下载,注册登录。
下载后运行客户端,登录后开始进行设备连接,用于工具获取设备信息。
1.Android客户端
先将手机设置为允许USB调试(或进入开发者模式),使用USB线将设备与电脑连接。此时,手机上会自动安装perfdog.apk,用于后台运行在屏幕上显示测试过程中的实时数据。
安装后apk会请求权限,若想在屏幕上显示性能实时数据,一定要打开悬浮窗权限。
2.iOS客户端
iOS客户端无需用户做过多操作,即插即用。
iOS既可以使用USB测试模式,也可使用WIFI模式。不过WiFi模式同样需要先使用USB进行设备连接,在工具识别并成功连接到设备后,下拉框中选择WIFI模式即可。
第二步:测试应用性能
打开PC端的PerfDog,通过USB与手机连接成功后,PerfDog能立即识别手机型号和各项系统参数。选择要测试的软件后,马上就能看到监控数据。PerfDog默认显示三个指标展示,FPS/CPU Usage/Memory Usage。指标变化采用曲线图的方式展示,其中CPU Usage还显示了总共和当前APP的消耗对比,数据很全面。如下图:
1.标签设置
点击顶部的“label1”,可以针对不同操作或者界面设置标签tab,通过标签按钮给性能数据打标签。
2.添加批注
在数据任何位置双击,即可创建批注。若需删除,鼠标移动到批注顶部再次点击可删除。
3.性能指标
指标很全面,若工具上显示的数值没有你所需要的,可点击右下角的“ ”号。点击后即会弹出数据值的选择项,勾选,即进行该项数据的采集录制。
4.数据录制并保存
可随时通过点击右上角的Record按钮录制一定的数据,并保存到本地或者直接上传到PerfDog的云端服务器。
5.数据查看
录制完成后保存数据为excel文件,可在本地打开查看,也可登录web端回看本次测试数据。PerfDog的云端和本地使用的是同一套账号,登录后即可查看云端数据:
点击需要查看的数据,即可进入数据报告详情页,显示非常详尽,各个指标不光是数据,而且有图形展示:
6.在云端还可以创建测试任务和对测试任务进行跟踪处理
四、总结
整个测试过程中完全感觉不到测试工具对手机的影响,很流畅。官网上给出的数据:安卓平台比较关注的是工具本身对手机性能影响,为了测试的严谨性、可对比性,我们在小米5手机上锁死最低频率。含截图测试影响结果如下:
PerfDog(性能狗)性能影响:CPU占比6%-10%(正常频率下CPU占比1-3%)。
其他工具性能影响:CPU占比27%-33%
如果你也在做APP性能测试,不妨试用下PerfDog,一定会有所帮助的。
官网PerfDog使用说明书:
https://bbs.perfdog.qq.com/article-detail.html?id=5
参考文档:
https://testerhome.com/topics/21507