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