性能测试工具 [腾讯 TMQ] GT3.1 简化您的 App 性能测试 (1)——全新的性能监测体系

匿名 · 2018年03月09日 · 最后由 Darker 回复于 2018年11月18日 · 167 次阅读

导读

GT 君此次给大家送来了强力的安卓 GT3.1 版本更新。在本次更新中,采用了在被测应用内嵌 SDK 的方式来获取流畅值,解决了 2.x 版本测试应用流畅值必须 root 手机的痛点。除此之外,GT3.1 版本引入了 Hook 功能,可以获取更加丰富详细的应用信息,例如页面加载速度,卡顿代码调用栈、IO 使用情况等。

下面我们不妨来看看这些便利的功能点吧!

1 基础性能分析

CPU:表示进程或线程的繁忙程度

内存:表示当前进程内存的使用情况

流量:表示当前进程网络的使用情况

流畅值:表示当前应用的流畅程度


图:基础性能检测的结果

2 卡顿检查分析

低流畅值区间:流畅值低于 40 帧/s 的区间 (正常绘制间隔为 16.7ms 即 60 帧/s)

单次大卡顿:当两次绘帧间隔大于 70ms,相当于丢了 4 帧以上的区间


图:卡顿区间的代码定位

3 页面测速分析

Activity 测速:包括 Activity 的冷/热启动、生命周期、绘制信息、卡顿信息、页面平均流畅值,启动时长等。

Fragment 测速:包含了 Fragment 的冷/热启动、生命周期、卡顿信息、页面平均流畅值,启动时长等。

而以下几种情况则可认为页面启动卡顿或启动超时:

Activity 启动时长超过 250ms

Activity 页面 1 秒内卡顿超过 300ms

Activity 页面 5 秒内卡顿超过 500ms

Fragment 启动时长超过 150ms


图:每个 Activity 页面详细的启动数据


图:每个 Fragment 页面详细的启动数据

4 布局检测分析

View 构建时长:View 在使用之前需要进行 Infalte 操作,此操作在主线程执行且耗时严重,通常是造成卡顿的直接原因。

View 绘制深度:View 的绘制深度决定着当前视图的复杂度,复杂度越高,越容易引起卡顿。

而以下情况则可认为 View 构建超时和绘制超时或 View 过于复杂:

当 View 构建时长超过 30ms,则可认为此 View 构建超时

当绘制时长超过 10ms,则可认为此 View 绘制超时

当 View 绘制深度大于 8 则可认为 View 绘制过于复杂


图:View 构建的数据


图:View 绘制的详情

5 线程时间片分析


图:线程分析结果

6 DB 检测分析


图:DB 检测结果

总结

除了以上那些维度的分析检测外,还有包括 GC 检测、关键日志统计等维度的分析。测试简单,操作便捷,最多 30 分钟的测试时间,您就可以从多种维度,用不同的视角,全面了解您的应用!后续我们也将奉上详尽的原理讲解,溯本求源,让大家更深入了解这些功能的实现原理。

项目开源地址:
https://github.com/Tencent/GT

如果您还有好的建议,可以给我们留言

未完待续……

版权所属,禁止转载!

扫描下方二维码,关注微信公众号:腾讯移动品质中心 TMQ,获取更多测试干货!

共收到 9 条回复 时间 点赞

GT 3.1 工具现在可以下载使用吗?在哪里可下载? 找了好久都没找到

匿名 #2 · 2018年03月12日
风苛刻 回复

文末有项目开源地址的

3.1,出参那边 cpu 啥的都没得选额,被测包已经引入了 compile 'com.tencent.wstt.gt:gt-sdk:3.1.0'

匿名 #4 · 2018年04月09日
风苛刻 回复

这个问题已反馈给团队啦,但是还没有回复😂

3.1 的广播方式使用 GT 的文档到时会更新吗

匿名 #6 · 2018年04月09日
linpengcheng 回复

(⊙o⊙)…,不懂你提到的是啥呀😂

http://gt.tencent.com/docs/a/UseGtWithBroadcast.txt
比如 GT3.1 的导出数据 用广播方式这么实现呢?

被测 app 必须要集成 sdk,限制太大

iOS 你不能不维护了吗

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