PerfDog性能狗上手体验及总结分析

一、PerfDog简介

  1. PerfDog性能狗是移动全平台iOSAndroid性能测试工具,快速定位分析性能问题,提升APP应用及游戏性能和品质,手机无需ROOT/越狱,手机硬件、游戏及应用无需做任何更改,极简化即插即用。
  2. PerfDog支持移动平台所有应用程序(游戏、APP应用、浏览器、小程序、小游戏、H5、后台系统进程等)、Android模拟器、云真机等性能测试。支持APP多进程测试(如Android多子进程及iOS扩展进程APP Extension)。

二、性能数据概览

以下做个人通俗解释,官方释义指路PerfDog官网-帮助中心(PerfDog | 移动全平台性能测试分析专家

  • ScreenShot (截屏,只支持USB模式,对每步操作截屏记录,在之后的上传到云端的性能数据记录中会看到)

  • FPS (1秒内游戏画面或者应用界面真实平均刷新次数,俗称帧率/FPS)

  • InterFrame (部分机型具有动态补帧/插帧技术,此参数可真实反映1秒内插入的帧数)

  • Jank (1S内卡顿次数)

  • Stutter (测试过程中,卡顿时长的占比)

  • FTime (上下帧画面显示时间间隔,即认为帧耗时)

  •  CPU Usage(传统CPU利用率,也叫未规范化CPU利用率,TotalCPU表示整机未规范化CPU使用率,AppCPU表示进程未规范化CPU使用率。)

  • CPU Clock (各个CPU核心的未规范化频率和未规范化使用率)
  • Memory (物理内存)
  • Swap Memory  (类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。Swap Memory,部分设备支持Swap功能,在启用Swap功能后,系统会对PSS内存进行压缩,Swap增加,PSS会相应减少,由于压缩会占用CPU资源,同时相应会导致FPS降低)
  • Virtual Memory (VSS) 虚拟内存
  • Available Memory (整机可用剩余内存)
  •  Memory Detail (NativePSS、GFX、GL、Unknown,极限测试情况下开启可能会造成性能损耗)。
  • GPU Usage
  • GPU Frequency
  • Network(Recv/Send,测试目标进程流量)(注:USB/WiFi测试模式下均为APP数据)
  • CTemp(CPU温度)
  • Battery Power(仅WIFI模式,Current电流、Voltage电压、Power功耗)
  • Log日志采集(WIFI模式下,不支持Log收集

 三、实践

  1. 以目前博主所在项目app为例,对于两个场景(称为A和B)进行USB录制并输出性能数据结果。
  2. 安装PerfDog并启动,本次测试用USB连接测试机。(过程就不赘述了,傻瓜式安装

  3. 手机app操作A测试流程,记录性能数据

  4. 测试结束点击结束按钮,上传报告至云端

四、测试用例设计及最后的结果分析

      因为只实际操作了Android系统的应用,所以暂时只讨论Android端app情况,ios系统有兴趣的小伙伴可以实践下。

  1. 针对用户量不大、流程场景不复杂的应用,此工具的实用性不大,可用jmeter设置代理录制脚本然后通过编辑脚本和控制并发数等,实现一些性能测试;对耗电量和内存等需求比较明显的应用,比如上传照片或者拍摄视频时会耗电耗内存,可用PerfDog来监测数据。
  2. 针对用户量一般,但流程场景较复杂的应用,例如移动端手游,在一些核心任务功能、访问量最大的功能、切换场景、挂机重进等情况,PerfDog可以监测一些性能,如上面开始提到的FPS过程中是否掉帧,Memory在场景中是否内存泄露导致卡顿或者闪退,以及其他的性能,在这里就不过多举例。
  3. 对于输出的性能结果数据,为了方便分析和定位,可以在录制过程中对脚本进行打点记录,标记过程名称,这样就可以在最后生成的图表让结果和过程清晰的对应起来。其中明显的耗电量升高和内存泄露等缺陷,可直观体现出来并且后续不断复现进而直接定位问题;得到的性能数据可以全部导出为原始数据,然后按实际测试需要二次加工成表格或者图表,方便分析定位。

五、总结

  1. 易上手,数据展现清晰明了,可查看全部性能数据,可拖动图表按时间查看;
  2. 案例上传云端,方便管理与分享,可按条件搜索,可导出二次加工成图表;
  3. 工具收费,贵;
  4. 若出现问题无法及时定位;
  5. 对手游类app实用性较大,可通过不同场景、模块切换等分析掉帧情况,以及内存泄漏、耗电、CPU等数据分析;
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>