来自同事分享
PerfDog性能测试工具调研报告
当前iOS性能测试工具少,且每个工具或多或少存在弊端和缺陷,阻碍性能测试的正常进行和效率提升,今天带来一款移动全平台性能测试分析专业工具PerfDog性能狗,这款工具不受APP版本、系统版本、系统平台影响,是一款完全独立并且使用简单的性能测试工具。即插即用,轻松获得专业性能报告。下面通过三方面来介绍PerfDog这款性测试工具
ü iOS端性能测试工具介绍
ü 性能测试工具优缺点对比
ü 性能测试工具使用方法介绍
性能测试工具介绍
|
PerfDog |
GT |
Instruement/eclipse |
支持平台 |
Android/iOS |
Android/iOS |
Android/iOS |
是否嵌入 |
否 |
是(SDK) |
否(Demo工程) |
是否root/越狱 |
否 |
否 |
否 |
测试指标 |
FPS、Jank、FTime、CPU、GPU、Memory、Battery 、Network |
CPU、Memory、Network、Battery、Battery Level |
CPU、Memory、Network、Battery等 |
是否连接PC/Mac |
有线/无线 |
无线 |
有线 |
对手机CPU影响 |
小于1% |
小于1% |
未知 |
可视化图表 |
是 |
否(需手动生成图表) |
是 |
测试数据编辑 |
支持 |
支持 |
不支持 |
云端查看 |
支持 |
不支持 |
不支持 |
易用性 |
即插即用 |
需嵌入到SDK |
需打开相应工程、经常升级开发工具及系统 |
支持应用 |
手机安装的所有应用 |
仅嵌入GT的应用 |
调试的应用 |
性能测试工具优缺点对比
- Xcode中的Instruement自带的监测工具
优点:
任何iOS提测版本均可以测试,可图形化的实时监测iOS性能数据
缺点:
性能测试的数据容易出现不准确;CPU&内存&流量(网速)无法同时监测(工具容易出问题影响测试效率);只可展示短时间内的性能数据,长时间监测的图形无法完整展示,且数据无法导出
- GT
GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”。利用GT,仅凭一部手机,无需连接电脑,您即可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。GT支持iOS和Android两个手机平台
优点:
可实时监测App的内存消耗、CPU占用、网络使用、电量使用情况等多项数据,并且实时保存这些数据,稳定性及数据可靠性高
缺点:
无法以图形化方式实时展示性能测试情况,只能等待测试完成以后手动绘表查看,且测试前需告知研发提前将GT的Framework包嵌入到对应的测试demo版本中方可
- PerfDog性能狗
PerfDog性能狗是移动全平台iOSAndroid性能测试工具平台,快速定位分析性能问题,提升APP应用及游戏性能和品质,收集无需ROOT/越狱,手机硬件、游戏及应用无需做任何更改,极简化即插即用
优点:
Ø 支持移动全平台: 支持Android/iOS移动平台,提供PerfDog软件Windows & Mac版本
Ø 无需ROOT/越狱:Android设备无需ROOT, iOS设备无需越狱
Ø 测试数据准确:工具CPU性能影响<1%,保证性能数据准确真实性
Ø 测试数据完整全面: 轻松获得 FPS、Jank、FTime、CPU、GPU、Memory、Battery 、Network、CTemp等性能参数
Ø 支持应用广泛:支持所有APP应用、游戏、小程序、小游戏、H5、web
Ø 工具易用性高:无需安装,即插即用,减少繁琐的测试障碍
缺点:
PerfDog当前处于市场推广阶段,存在诸多Bug,测试一天下来发下的Bug就不下5个,如:
- 在Mac上执行时,如果Mac屏幕休眠后,手机会与该工具断开连接导致测试中断
- 在Mac上执行测试期间图表显示正常,但上传到云平台后cpu或内存图表无法展示,且单次测试时间越长越容易复现,已提交给他们的开发处理这个Bug
- 在云平台上对浏览器的分辨率适配不好,当测试时间超过10分钟后,在云平台上无法展示完整的图表,比如测试30分钟,只显示13分钟的图标数据,可通过放缩浏览器,改变mac分辨率等方式解决,但显示有问题,已提交给他们的开发处理这个Bug
- 统计https的流量上行与实际值偏差大
- 测试数据保存本地时,经常出现PerfDog卡死
关于PerfDog的数据准确性验证,在相同场景下,可采用不同的性能采集工具采集一组数据做比较,本人亲测内存/cpu等数据差别不大
综合对比,并整体使用感受来看,PerfDog使用方便、数据直观、数据齐全,适合替代当前iOS端GT作为后续性能测试的工具,但PerfDog存在如下风险:
- PerfDog当前存在Bug
- PerfDog存在收费风险
性能测试工具使用方法介绍
- GT及Instruement介绍
- PerfDog使用介绍
安装方法
下面是Mac和Windows安装包的下载地址:
https://perfdog.qq.com/?ADTAG=media.wetest.product.banner1
在Mac上安装的是一个dmg文件,在PC上无需安装,下载后解压直接运行即可,这里重点介绍在Mac上安装的过程。
首先,打开双击打开安装包,然后将解压后的PerfDog.app文件拖到系统应用目录下(访达 -> 应用程序),
然后,在应用程序列表中打开PerfDog。需注意,在打开时可能会不允许打开,解决方法如下:
打开系统偏好设置 -> 安全性与隐私 -> 通用 -> 选择“任何来源”
如果“通用”里没有“任何来源”这个选项,打开终端,然后运行如下命令:
- 显示"任何来源":sudo spctl --master-disable(运行这个命令)
- 隐藏"任何来源":sudo spctl --master-enable
再在安全性与隐私中选择隐私,点击左下角的按钮解锁,然后在左侧列表中选择辅助功能,并在右侧勾选PerfDog
此时就可以正常打开PerfDog 应用了
PerfDog界面展示
左侧:用户及退出按钮、手机连接方式选择框、被测应用选择框,设备信息、参数设置等
中间:数据展示窗口,包括CPU Usage,Memory Usage,logcat日志等
右侧:文件存储、云端登陆、开始录制,录制选项等录制按钮
https://perfdog.qq.com/mydata/cases
准备与测试
- 插入手机等待识别
- 在手机连接方式中选择连接方式
① 一般采用有线连接
② 如果测试功耗、耗电量,需采用wifi连接
- 选择被测应用,当前应用列表中包含手机上安装的所有应用,想找到被测应用实属不易,已与PerfDog项目组提改进项,后续做两个列表,一个是系统App列表,一个是用户安装App的列表,后续会有系统app与安装app列表的区分,更容易在应用列表中查找到需要测试的应用
- 设置参数,也可选择默认值
- 在手机上打开被测应用,查看PerfDog开始运行了,并可以实时查看CPU、内存信息
- 点击录制按钮,结束后可上传从录制时间点开始之后的测试数据
注意事项:在PerfDog使用期间,如果电脑灭屏后,会导致手机与PerfDog之前断开连接
解决办法:
- 设置PC的休眠时间,打开系统偏好设置 -> 节能 -> 电源适配器,然后设置电脑进入修改的时间为永不,显示器进入休眠的时间改为永不
- 设置一个脚本,每隔一段时间鼠标自动点击屏幕一次,防止电脑休眠
- 结束录制,点击结束录制按钮,可弹窗提示修改文件名,并保存数据上传
① 需要注意,录制需要超过10秒,才能够正常上传该组数据
② Came name:文件名
③ Save path:保存路径
④ Upload:上传数据到云端平台,可通过云端随时随地查看并分享给他人
⑤ Save:保存测试数据到本地,该步骤偶现保存数据时app卡死,测试时间长数据量大时易现,不建议开启该功能
- 保存测试数据的方法有两种,一种是第七步的录制并保存,另一种方法是选中需要上传的区域时间段,然后点击鼠标右键并选择Save
- 数据统计,当前会统计两个维度的数据,一个是系统当前的总消耗,另一个是被测app的性能消耗,该问题已与PerfDog提改进项,后续只展示被测App的数据
云端查看
浏览器进入云端页面,然后刷新页面就可及时查看到上次上传的数据统计分析及图表展示,地址如下:
https://perfdog.qq.com/mydata/cases
- 在云端可查看FPS、Jank、FTime、CPU、GPU、Memory、Battery 、Network等信息,比在Mac上的PerfDog界面查看的数据更详细
- 存在问题:
- 易现上传到云平台后cpu或内存图表无法展示,单次测试时间越长越容易复现
- 云平台展示图表不完整,需改变浏览器放缩比例的方式查看
3.可设置是否分享测试结果,如果开启分享则他人可通过密码查看分享的测试报告,分享测试报告到相应的团队中则每个人都可以在云端上随时随地查看到。
https://perfdog.qq.com/case_detail/279749 Password: FIghOA
4.可根据不同维度查找测试报告
5.可导出测试数据,对测试数据二次加工,然后再手绘测试表格