1 GT简介
GT(随身调) Android版是腾讯 MIG 专项测试组自行研发的 Android APP 随身调测平台,它是直接运行在手机上的“集成调测环境”(ITE, Integrated Test Environment)。
GTAndroid 版由两部分组成:
1) 可独立安装的 GT(APK)。
2) 需要嵌入被测应用(App Under Test,以下简称 AUT)代码中的 GT SDK(jar 包)。
之所以叫“集成调测环境”,是因为仅用 GT即可独立完成如下针对 AUT 的测试工作:
l 基础性能测试:手机整机或者手机上安装的任何一个 APP 的 CPU、内存、网络流量、流畅度/帧率、电量等基础性能指标的实时展示、历史数据采集及 excel 格式存储、曲线绘制等。
l 日志查看:APP 的 Logcat 日志查看,便于直接用手机现场定位 APP 功能异常、crash。
l 网络数据包抓包:直接用手机抓包保存成 pcap 文件,下载到 PC 后用 Wireshark 查看。
除了如上的 GT 控制台的“集成测试”能力,用户还可以将 GT SDK 嵌入到被测应用中,从而使用 GT 的如下更高级的开发调试、测试能力:在 AUT 中加入各种自定义“输入参数”,从而在 AUT 运行时,通过 GT 的悬浮窗或者设置界面修改这些输入参数,实时改变 AUT 的能力和行为(例如,把微博客户端的单次刷新条数定义为一个 GT 入参),达到“开发调试”的目的。
在 AUT 中加入各种自定义的“输出参数”(例如,AUT 的各项核心指标),从而在用户操作 AUT 时,实时观察 AUT 的这些白盒指标的变化(举例,客户端动态选择的就近接入的后台服务器地址)。
在指定的 AUT 代码中插入 GT 的代码耗时 API,得到 AUT 运行时的某些代码片段的耗时数据,通过分析进行执行效率调优。
2 安装、启动、退出
1) 安装:请像安装普通 APP一样的安装GT
2) 启动:像启动普通 APP 一样的启动 GT
3) 在 GT 的一级页面中,点击手机的菜单键会弹出“Exit”选项。点击“Exit”即可退出 GT
3 AUT、性能指标与参数设置
启动GT后,展示的第一个页面是AUT的设置页面。如果是独立使用GT对AUT进行性能测试(不需要在AUT中嵌入GT SDK),就需要在此页面设置AUT及需要观测的基础性能指标项(CPU、CPU 时间片Jiffes、NET(流量信息)、各类 MEM)。
3.1 设置AUT
3.2 设置关注的性能指标
GT可以支持存在多个进程的AUT的测试,可以关注AUT每个进程的CPU、CPU时间片Jiffes、内存的 PSS和内存的PrivateDirty指标,以及AUT不区分进程的流量指标Net。选中一个AUT后,即可设置本次测试所关注的性能指标:
如AUT存在多个进程,而想要测试的进程的会比AUT的启动滞后一些,此时需要在想要测试的进程启动后,点击下图的refresh按钮,通知GT将新启动的被测进程的性能指标也监控起来。
3.3 输出参数
GT提供了三种测试指标或关注信息的展示方式,其中最常用的是将指标或关注信息定义为输出参数(以下简称出参),在出参界面以列表的形式展示。
1) 默认出参界面
GT出参界面,在不选择任何AUT的情况下默认展示了手机整机的基础性能指标,有CPU、内存、网络流量、信号值、流畅度/帧率。整机的CPU指标默认放置在可用参数区域即时展示当前值,其他指标默认放置在禁用区域不关注。
2) 出参界面展示AUT设置的性能指标
AUT设置的性能指标会在出参界面以出参的形式展示:
3) 出参调整
可以调整哪些出参禁用、可用、放到悬浮框展示。
4) 出参数据采集
大部分GT基本性能出参和通过GTSDK在AUT中插桩自定义的数字型出参,都可以采集其历史数据。
第一步,在未采集的状态下,勾选需要记录历史数据的出参。
第二步,点击开始采集按钮采集数据。
点击开始按钮后,会开始采集出参的历史数据。这时可以到 AUT 界面开始测试 AUT。测试结束后,可点击悬浮窗上的停止按钮,或者进入出参界面,点击停止按钮。停止后,可以保存采集的历史数据。
5) 出参数据保存
停止采集后,可以一键保存和删除所有勾选的出参的历史数据。
点击保存按钮时输入的名称为本次测试数据存放的目录名。数据默认保存在 SD 卡上的 GT/GW//GW_DATA 目录下,每个出参历史数据分别保存到一个文件,文件命名格式为_.csv,如 FPS_20131128205049.csv。
测试开始前,如果不希望看到上次测试的历史数据,可以先清空勾选的出参。
6) 出参数据展示
在出参区域为非编辑状态,出参所在区域为非禁用出参区域,且有历史数据的情况下,点击此条出参,可以进入出参数据展示界面。
历史数据图表默认显示最近不超过50条的记录,想查看最近50条之前的记录请拖动图表。在图表上长按并滑动可以显示具体一条记录的详细信息。点击保存按钮可单独保存该出参信息,保存位置与命名方式和一键保存相同。长按曲线展示区域,可查看某个点的值。
除了AUT内存的PSS/PrivateDirty和信号值,包括CPU/Jiffes/帧率/流量信息等其他采集到的数据展示都类似上述图中的曲线,其中流量信息在点击删除按钮时会同时归 0。流量数据展示:
AUT内存的PSS/PrivateDirty和信号值的数据展示界面同时有多条曲线,以PSS为例,其展示界面会同时展示PSS的Total/Dalvik/Native三个值的曲线(注:内存的PSS/Private都区分Total/Dalvik/Native 三个值,与Android手机的meminfo信息对应)。
7) 出参告警
在出参数据展示页可以设置持续一段时间,值不在设置的阈值范围内时的告警提示。告警提示的方式为通知栏文字变化+鸟鸣声+震动+出参和 GT 图标变为桔色。
3.4 输入参数
输入参数(以下简称“入参”)为用户自定义的插入到被测应用程序代码里的一种桩,可以在运行时改变被测代码里参数的值。
举个例子:比如被测代码里有些参数需要调优时,可以通过入参随时对这些参数进行修改,对比不同参数值下的效果(