性能测试【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、当数据采集完毕后,及时点击红色正方形停止收费

### 如何使用PerfDog进行性能测试 #### 工具概述 PerfDog是一款专为移动应用设计的性能测试工具,支持Android和iOS平台的应用性能数据采集与分析[^3]。它能够提供多维度的数据监控,包括CPU、内存、GPU、帧率、电量消耗以及网络流量等方面的信息。 #### 安装与配置 要开始使用PerfDog,需先访问其官方网站下载并安装软件[^2]。完成安装后,连接目标设备至电脑即可启动测试环境。值得注意的是,该工具无需对设备进行Root或越狱操作便可实现即插即用的功能,极大地方便了团队成员参与性能测试活动。 #### 数据收集过程 当一切准备就绪之后,在界面中选择对应的应用程序版本开启监测会话。在此期间,PerfDog将持续记录各项指标的变化情况,并自动生成详尽报告供后续审查之用[^1]。 #### 结果解读与优化建议 通过查看生成的图表和统计数据,可以直观发现应用程序运行过程中存在的瓶颈所在。依据这些反馈信息制定针对性改进措施,从而有效提高产品整体表现水平及其用户体验质量。 ```python # 示例Python脚本用于自动化部分重复性的数据分析任务 import pandas as pd def analyze_performance_data(file_path): df = pd.read_csv(file_path) cpu_average = df['cpu'].mean() memory_peak = df['memory'].max() return { 'average_cpu_usage': cpu_average, 'peak_memory_consumption': memory_peak } results = analyze_performance_data('performance_metrics.csv') print(results) ``` 上述代码片段展示了一个简单的例子,演示如何利用Pandas库加载CSV文件中的性能度量标准,并计算平均CPU利用率及峰值内存占用等关键参数值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值