WeTest腾讯质量开发平台 PerfDog 使用说明书

腾讯WeTest · 2020年12月08日 · 最后由 Andre 回复于 2022年05月19日 · 5315 次阅读

English User's Guide:https://bbs.perfdog.qq.com/article-detail.html?id=7

介绍:

移动全平台 iOS/Android 性能测试、分析工具平台。快速定位分析性能问题,提升 APP 应用及游戏性能和品质。手机无需 ROOT/越狱,手机硬件、游戏及应用 APP 也无需做任何修改,极简化即插即用。

PerfDog 支持移动平台所有应用程序(游戏、APP 应用、浏览器、小程序、小游戏、H5、后台系统进程等)、Android 模拟器、云真机等性能测试。支持 APP 多进程测试 (如 Android 多子进程及 iOS 扩展进程 APP Extension)。

Windows & Mac OS X 平台 PerfDog 桌面应用程序版本都支持对 iOS 和 Android 设备进行测试。PC 上 PerfDog 可多开,单 PC 可同时测试多台手机。

重要说明 Q&A:https://bbs.perfdog.qq.com/detail-128.html

特殊机型指南:https://bbs.perfdog.qq.com/detail-127.html

性能参考标准说明:https://bbs.perfdog.qq.com/detail-145.html

WEB 使用手册:https://bbs.perfdog.qq.com/article-detail.html?id=49

安装及运行:

步骤 1:登录 PerfDog 官网https://perfdog.qq.com/PC 平台选择想要下载的桌面应用程序,根据您的

Windows 平台:解压下载包,双击打开 PerfDog.exe 桌面应用程序。

Mac 平台:直接运行 dmg 桌面应用程序。

备注:PerfDog 采用免安装软件(绿色版)模式,想要更新软件则重新在官网下载最新版即可。

步骤 2:USB 连接手机,自动检测添加手机到应用列表中。

iOS:则即插即用,用户无需做任何操作。若 PerfDog 检测不到连接手机或无法测试,请先安装确保最新 itunes 是否能连上手机 (最新 itunes 可在 QQ 管家上直接下载安装)。

备注:若无法使用请参考:https://bbs.perfdog.qq.com/detail-128.html

Android:有两种模式,非安装模式和安装模式。(注:请开启手机 USB 调试模式及允许 USB 应用安装。)。

a. 非安装模式:

手机即插即用,无需任何设置及安装,使用非常简单,但手机屏幕上没有实时性能数据显示。

b. 安装模式:

需要在手机上自动安装 PerfDog.apk,手机屏幕上有实时性能数据显示(允许 USB 应用安装和 PerfDog 悬浮窗管理权限),启动 PC 版 PerfDog.exe,则会在手机上自动 PUSH 安装 PerfDog.apk,具体安装类似各个手机厂商安装第三方 APP 提示安装即可。(注:由于很多手机安装需要账号密码,导致无法自动安装,如果自动安装失败,则会把安装文件 PerfDog.apk 释放到当前文件夹里,手动安装 PerfDog.apk 即可)。此模式下,在测试过程中,可能由于系统资源紧缺会 kill PerfDog 显示 app(手机界面性能数据显示),但不影响正常测试功能。

备注:若无法使用请参考:https://bbs.perfdog.qq.com/detail-128.html

步骤 3:测试模式

l USB 模式测试:

USB 连线后,在设备列表选择 USB 图标设备进行 USB 模式测试

l WIFI 模式测试 (测试功率):

只能在 WIFI 模式测试功率等信息。USB 连线后,在设备列表选择 WIFI 图标设备进行 WIFI 模式测试。WIFI 检测连接成功后,拔掉 USB 连接线。(注:需要 PC 和被测手机连接同一 WIFI,WIFI 检测连接成功后,拔掉被测手机 USB 线 (USB 模式测试功率无任何意义,会充电))(备注:一般公司 WIFI 可能做了安全策略限制,导致 iOS 平台在公司 WIFI 下无法使用)

步骤 4:选择测试的游戏&应用

PC 如图:

Android 平台,安装模式下,手机屏幕左上角有实时性能数据显示(Android 手机请打开 PerfDog 悬浮窗管理权限,否则手机上不会显示性能参数)

软件性能数据采集:

iOS 平台(苹果官方 Xcode 工具参数对齐。注:iOS 系统对进程性能参数做严格限制,超过限制则会被系统 kill)

l ScreenShot(只支持 USB 模式)

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

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

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

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

l Jank(1s 内卡顿次数。iOS9.1 以下系统暂时不支持。类似 Android 的 Jank 卡顿和 iOS 的 FramePacing 平滑度统计原理。帧率 FPS 高并不能反映流畅或不卡顿。比如:FPS 为 50 帧,前 200ms 渲染一帧,后 800ms 渲染 49 帧,虽然帧率 50,但依然觉得非常卡顿。同时帧率 FPS 低,并不代表卡顿,比如无卡顿时均匀 FPS 为 15 帧。所以平均帧率 FPS 与卡顿无任何直接关系)

参考:https://bbs.perfdog.qq.com/article-detail.html?id=6

PerfDog Jank 计算方法:

  1. 同时满足以下两条件,则认为是一次卡顿 Jank.

a) 当前帧耗时>前三帧平均耗时 2 倍。

b) 当前帧耗时>两帧电影帧耗时 (1000ms/24*2=84ms)。

  1. 同时满足两条件,则认为是一次严重卡顿 BigJank.

a) 当前帧耗时>前三帧平均耗时 2 倍。

b) 当前帧耗时>三帧电影帧耗时 (1000ms/24*3=125ms)。

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

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

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

l FTime(上下帧画面显示时间间隔,即认为帧耗时,iOS9.1 以下系统暂时不支持)

1) Avg(FTime):平均帧耗时

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

l CPU Usage(TotalCPU 表示整机 CPU 使用率,AppCPU 表示进程 CPU 使用率,统计结果和 Xcode 一致,PerfDog 使用率=Xcode 使用率/核心数。备注:iOS 平台 CPU Usage 是未规范化 CPU 使用率,请参考https://bbs.perfdog.qq.com/detail-146.html)

l Memory (是统计 FootPrint,注:OOM 与 FootPrint 有关,与系统、机型无关。只与 RAM 有关,如 1G 内存机器。FootPrint 超过 650MB,引发 OOM)。注:PerfDog 暂时在 iOS9、10 系统无法获取,其他版本 ok。后续版本增加。如做性能测试,建议升级 iOS 系统版本

l Xcode Memory (XCode Debug gauges 统计方式即 XCode Memory)。注:iOS9、10 系统暂时无法获取,其他版本 ok。后续版本增加。如做性能测试,建议升级 iOS 系统版本

l Real Memory(Xcode Instrument 统计方式即 Real Memory,实际占用物理内存。注:物理内存系统策略有关,衡量内存指标时不会关注,但是它有助于分析定位整体性能问题。比如:footprint 没有降低,说明应用没有释放内存,但是 real memory 却降低了,说明系统对内存做了压缩。由于压缩会占用 CPU 资源,同时相应会导致 FPS 降低)

l Virtual Memory(虚拟内存)

l Wakeups(线程唤醒次数。注:超过 150 进程很大可能会被系统 kill。a sleep/wake cycle on each thread per second,Exceeding limit of 150 wakeups per second over 300 seconds,特别是 iOS13.2 闷杀后台进程事件,建议重点关注)

l CSwitch(上下文切换测试。注:单核超过 14000 进程会被系统 Kill。Context Switch Limit 14000(Core/Second)

l GPU Utilization

1) Render:渲染器利用率 (像素着色处理阶段,若占比高,说明是 PS 阶段出现瓶颈,shader 过于复杂或纹理大小、采样复杂等)

2) Tiler: Tiler 利用率 (顶点着色处理阶段,若占比高,说明是 VS 阶段出现瓶颈,顶点数太多等原因)

3) Device:设备利用率 (整体 GPU 利用率)

l Network(Recv/Send,测试目标进程流量,统计结果合 Xcode 一致)

l BTemp(电池温度)

l Battery Power(整机实时 Current 电流、Voltage 电压、Power 功耗)(注:20s 获取一次,目前最精准的统计方式,结果和 Battery life 结果一致,支持所有 iOS 机型)

注:Sum(Battery) 是耗电量。

l Energy Usage(即为 Xcode Energy Impact。监控应用使用的能耗情况 (包括 CPU、GPU、NetWork、Location、Display (iPhone X only)、Overhead)。(注:和 Xcode Energy Impact 结果一致。有线模式下测试,支持 iOS9 及以上系统。Total Energy<=270 为 Low,2701000 为 Very High)。

参考:https://help.apple.com/xcode/mac/11.0/index.html?localePath=en.lproj#/devf7f7c5fcd

l Log 日志采集 (WIFI 模式下,不支持 Log 收集)

Android 平台

l ScreenShot(只支持 USB 模式)

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

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

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

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

备注:高阶 FPS 功能-Android 窗口与 FPS

请参考https://bbs.perfdog.qq.com/?m=app&c=detail&a=index&id=201

l Jank(1S 内卡顿次数。解释说明如 iOS 平台说明)

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

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

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

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

1) Avg(FTime):平均帧耗时

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

l CPU Usage(传统 CPU 利用率,也叫未规范化 CPU 利用率,TotalCPU 表示整机未规范化 CPU 使用率,AppCPU 表示进程未规范化 CPU 使用率。备注:统计结果和 Android Studio Profiler 一致。具体参考https://bbs.perfdog.qq.com/detail-146.html)

l CPU Usage (Normalized)(规范化 CPU 利用率,TotalCPU 表示整机规范化 CPU 使用率,AppCPU 表示进程规范化 CPU 使用率。备注:建议参考规范化 CPU 利用率,性能参考更精准。具体参考https://bbs.perfdog.qq.com/detail-146.html)

l CPU Clock(各个 CPU 核心的未规范化频率和未规范化使用率)

l CPU Clock (Normalized) (各个 CPU 核心的规范化频率和规范化使用率)

l Memory (PSS Memory,统计结果和 Android Java API 标准结果一致,与 Meminfo 也一致。注:部分三星机器系统修改了 Meminfo 底层统计方式,导致 Meminfo 与 Java AP 统计结果不一致,新出三星机器已修复)

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

l Virtual Memory(VSS)

l Memory Detail(NativePSS、GFX、GL、Unknown)

l GPU Usage(目前仅支持部分高通芯片手机)。注:Top Android GPU 测试机型,请参考:https://bbs.perfdog.qq.com/detail-195.html

l GPU Frequency(目前仅支持部分高通芯片手机)。

l Network(Recv/Send,测试目标进程流量)

l CTemp(CPU 温度)

Battery Power(Current 电流、Voltage 电压、Power 功耗)(注:与仪器测试误差<3% 左右)。注:Sum(Battery) 是耗电量。

l Log 日志采集 (WIFI 模式下,不支持 Log 收集)

Web 性能数据管理:

l 账户信息管理

l 性能数据管理、图表展示、编辑、大版本对比

l 性能数据统计、分析及多维度对比等

l 性能测试任务管理

软件功能介绍:

  1. 性能参数控制 Page:

点击”+ ” 按钮,选择需要收集性能参数,控制性能参数显示 page

  1. 记录保存:

测试结束时,可自主选择两种方式保存处理 (Upload/Save) 性能数据:

1) 将性能数据同步上传 PerfDog 云端 web 看板

2) 本地导出 Excel 文件

  1. 记录回放(方便回看分析):

打开要回放文件

回放结果如图:

  1. 批注及标定 (鼠标左键双击,则批注。左键双击已生成的批注,则取消。鼠标左键单击,则标定):

  1. 设定性能参数统计分析阈值、编辑统计参数分析及框选记录保存 (对齐 TDR 标准):

可以通过鼠标框选/拖动查询时间周期内,统计数据等。同时可对框选数据进行保存。右边可以设定对应的性能参数统计分析阈值等。

  1. 场景 Label 标签:

通过标签按钮给性能数据打标签,鼠标左键双击颜色区域可修改对应区域标签名

  1. 屏幕记录:

注意:截屏记录开启,影响性能

  1. 多进程测试。

iOS 平台,APP 多进程分为 APP Extension 和系统 XPC Server。

比如:某电竞直播软件用到 APP Extension 扩展进程 (扩展进程名 LABroadcastUpload)。当然也可能用到系统 XPC Server 服务进程,如一般 web 浏览器会用到 webkit。

Android 平台,一般大型 APP,比如游戏有时候是多进程协作运行(微信小游戏,微视等 APP 及王者荣耀等游戏多子进程),可选择目标子进程进行针对性测试。默认是主进程。如图王者荣耀

Android 如何测试微信小游戏&小程序:https://bbs.perfdog.qq.com/article-detail.html?id=46

iOS 如何测试微信小游戏&小程序:https://bbs.perfdog.qq.com/article-detail.html?id=47

微信小游戏、小程序测试等,如下是微信小游戏 - 浪漫玫瑰园

备注:子程序进程名高亮显示,表示当前子进程处于顶层。

  1. FPS 高阶功能 (Android 平台):

满足高级用户更精准测试窗口帧率 (游戏、小游戏、小程序、直播、视频类、web 等所有应用都适用)。

请参考:https://bbs.perfdog.qq.com/?m=app&c=detail&a=index&id=201

  1. Log 日志功能:

采集系统日志信息。

  1. 停止功能:

无需拔手机,StopProfilling 即可停止采集信息。

  1. 自定义数据文件服务器地址,构建自己 web 云:

可修改数据文件服务器上传地址。Post 上传 http 协议格式文件至自己服务器地址。

参考说明及 Demo: https://bbs.perfdog.qq.com/detail-217.html

Web 云平台功能介绍:

  1. 个人性能数据 MyData。

具体性能数据展示。

  1. 测试任务管理

创建任务邀请测试成员加入,或加入其他人创建的测试任务中。

  1. 性能数据共享归纳

  1. 测试任务性能数据 Task Data

  1. 数据报告隐私分享

访问别人分享链接即可查看数据报告:

https://perfdog.qq.com/case_detail/367665 Password: xs2BPa

  1. Case 报告多维度对比 (详情、机型、版本、比例、区间、趋势、拖拉缩放等)。

比例、区间、趋势、拖拉缩放等对比 (鼠标左右拖动性能曲线)

性能测试技术交流群:720150565
查看 PerfDog 详情:https://perfdog.qq.com/?ADTAG=media.dev_website

共收到 1 条回复 时间 点赞

有没有免费版本?现在要收费了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册