当前位置: 首页 > article >正文

性能测试【Perfdog】

官网:PerfDog | 全平台性能测试分析专家

测试采集手机在运行App时的性能指标数据:

FPS、Jank、FTime、CPU、GPU、Memory、Battery 、Network、CTemp等性能参数。

一、下载安装:

二、连接手机使用:

测试的安卓小米手机:

1,打开手机开发者模式

设置–>我的设备–>全部参数–>连续点击MIUI版本就开启开发者模式了,

在设置–>更多设置,中可以看见多了一个开发者选项,点击进入打开USB调试

2,使用USB连接

开启USB调试之后,连接上pc,选择文件传输模式。连接后pc端会弹出一个手机页面也显示指标的按钮,点击同意展示。【选择第一个USB】

注意:连接上之后,选择WIFI连接(手机和电脑需要在同一个WIFI下)。使用WIFI连接才可以测试电源相关性能的数据。

这里先选择USB连接,等待一下就会出现手机设备的相关数据,等弹出来后,点击你要继续测试的应用,点击启动就开始测试指标了

第一步:使用USB连接上手机-->客户端弹出perfdog这个框

第二步:选择需要的app

第三步:app会重启并开始获取数据

三、页面操作

1、双击数据区域可以添加备注,以便区分当前这一块内容属于那块区域

2、点击右上角标记,可以进行分区场景​​​​​​​

3、保存文件至本地或上传后台

下载出的Excel文件可以进行数据查看,之后在复现的时候在perfdog导入对应文件即

4、添加所需参数,点击右下角➕号,进行添加

5、视频录取

如果需要的话,在测试过程中也可以点击右上角▶️。开启视频录取,在完毕的时候点击左边红色区域关闭按钮,页面会弹出视频保存。

6、点击右上角小云朵,直接打开管理页面

四、后台相关

上传后台,相同app可进行对比指标

五、常用指标含义

  • ScreenShot:(只支持USB模式,注:部分机型截图影响性能)

  • StartupTiming(TTID((首屏时间):

    • 首屏时间表示启动到第一帧显示所用的时间.TTFD(主屏时间):主屏时间表示整个启动阶段结束达到用户可交互使用所用的时间(需要在代码里你认为初始化工作已经全部完成的地方调用reportFullyDrawn())) 注意:这个指标会重新拉起APP用来获取启动时长,若不希望PerfDog主动拉起APP,请不要勾选。

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

    • Avg(FPS):平均帧率(一段时间内平均FPS)

    • Var(FPS):帧率方差(一段时间内FPS方差)

    • Drop(FPS):降帧次数(平均每小时相邻两个FPS点下降大于8帧的次数)

    • Std(FPS):帧率标准差(一段时间内FPS标准差)

    • FPS>=x[%]: 一段时间内FPS大于或者等于某个值的占比

    • Min(FPS):最小帧率(一段时间内最小FPS)

    • Median(FPS):中位帧率(一段时间内FPS中位数)

    • MedRange(FPS): FPS偏离中位数20%(+-)内的占比

  • Jank:1S内卡顿次数

    • BigJank:1s内严重卡顿次数

    • Jank(/10分钟):平均每10分钟卡顿次数。

    • BigJank(/10分钟):平均每10分钟严重卡顿次数

    • SmallJank(微小卡顿,在Jank基础上对细微的卡顿进行捕捉)

  • Smooth:稳帧指数,可对游戏或者应用画面平稳度更精准的评估,一般游戏、视频建议<8,应用类APP(滑动时)建议<20

  • 1%Low:业界主流的流畅度指标,取帧耗时最长的1%求出平均值,根据这个值用1000除

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

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

    • Avg(FTime):平均帧耗时

    • Delta(FTime):增量耗时(平均每小时两帧之间时间差>100ms的次数)

    • Std(FTime):帧耗时标准差

    • Var(FTime):帧耗时方差

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

  • CPU Usage (Normalized):规范化CPU利用率,TotalCPU表示整机规范化CPU使用率,AppCPU表示进程规范化CPU使用率。

  • CPU Clock:各个CPU核心的未规范化频率和未规范化使用率

  • Thread CPU Usage:当前测试进程的各线程CPU使用率

  • CPU Frequency Limits:系统运行期间可调度的 CPU 的最大频率限制,用以观察是否降频

  • Memory :PSS Memory,统计结果和Android Java API标准结果一致,与Meminfo也一致

  • Swap Memory :Swap Memory,部分设备支持Swap功能,在启用Swap功能后,系统会对PSS内存进行压缩,Swap增加,PSS会相应减少,由于压缩会占用CPU资源,同时相应会导致FPS降低

  • Available Memory:整机可用剩余内存

  • Memory Detail(NativePss、Gfx、GL、Unknown、Dalvik Heap、Dalvik Other、Stack、Cursor、Ashmem、Other dev、.so mmap、.jar mmap、.apk mmap、.ttf mmap、.dex mmap、code mmap、image mmap、Other mmap、Graphics、Memtrack、.oat mmap、.art mmap、EGL mtrack、Other mtrack)

注:在极限测试情况下,例如开启游戏超高帧率,建议不要勾选收集Memory Usage和Memory Detail,因为较少部分的低端机型会有性能损耗。

  • Network:Recv/Send,测试目标进程流量(注:USB/WiFi测试模式下均为APP数据)

  • CTemp:CPU温度

  • GTemp:GPU温度

  • BTemp:电池温度)

  • NTemp:NPU温度

  • Brightness:屏幕亮度值,表示屏幕的亮度级别,非物理亮度。滑动手机设置里的亮度条会影响这个值

  • BatteryLevel:剩余电量的百分比

  • Battery Power:仅WIFI模式,整机Current电流、Voltage电压、Power功

  • FPower:帧能耗

  • Log日志采集:WIFI模式下,不支持Log收集

主要分析参数:FPS、CPU、GPU、Memory

FPS:帧率

帧率简单来说就是一秒内播放了多少帧的图片,如果说帧率越高那么代表画面越流畅,越清晰。

在性能参数中,关于FPS常见的参数就是AvgFPS(平均帧率)、VarFPS(掉帧次数,就是掉帧超过8的次数)、FPS>=18、FPS>=25、Jank、BigJank【看具测试什么】

CPU:中央处理器

在性能参数中,关于CPU常见的参数就是AvgAppCPU(APP平均CPU使用率)、AppCPU<=60%、AppCPU<=80%、AvgCtemp

GPU:图像处理器

在性能参数中,关于GPU常见的参数只有就是AvgGUsage(平均GPU使用率)

Memory:内存

在性能参数中,关于Memory常见的参数就是AvgMemory(平均内存)、PeakMemory(峰值内存)

六、列举场景

测试场景监控指标测试步骤预期结果实际结果
冷启动启动耗时、 FPS CPU 、内存1. 关闭应用
2. 使用 PerfDog 开始录制
3. 启动应用
4. 停止录制
启动耗时 ≤ 2s FPS ≥30
CPU ≤ 25%
内存 ≤ 300MB
热启动
页面切换
向上滑动
向下滑动
刷新页面
....

七、注意点

1、在PerfDog上勾选好性能测试需要的参数

(不勾选截图,截图记录会影响性能。勾选其他需要的即可,截图是定位问题用的,如果是要定位问题就勾选,而且截图只能在有线情况下使用)

2、当数据采集完毕后,及时点击红色正方形停止收费


http://www.kler.cn/a/567218.html

相关文章:

  • 【Nginx】在Windows服务器上用Nginx部署Vue前端全流程(附避坑指南)
  • SpringBoot原理-02.自动配置-概述
  • 【Linux】命令行参数 | 环境变量(四)
  • 超详细,多图文介绍redis集群方式并搭建redis伪集群
  • 25物理学研究生复试面试问题汇总 物理学专业知识问题很全! 物理学复试全流程攻略 物理学考研复试调剂真题汇总
  • Windows之远程终端问题集锦(十二)
  • NAT 代理服务 内网穿透
  • 轻松实现语音生成:GPT-SoVITS V2整合包的远程访问操作详解
  • Linux相关概念和易错知识点(32)(互斥锁和条件变量的封装、日志和线程池的实现)
  • 微软AI900认证备考全攻略:开启AI职业进阶之路
  • 网络编程 (UDP 和 TCP 介绍和代码实现) [Java EE]
  • 深度学习的正则化深入探讨
  • 小米SU7预估交付量2.45万台,小米15沦为牺牲品价比百元机让路
  • 一文读懂 KYC:金融、IT 领域的关键应用与实践
  • 《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》
  • 植物大战僵尸金铲铲版 v1.1.6(windows+安卓)
  • 云原生数据库砸了 K8S云自建数据库的饭碗--- CXL内存技术
  • vue图表插件ECharts使用指南
  • ListControl双击实现可编辑
  • virtualbox安装ubuntu,配置静态ip