性能测试工具 GT-非官方介绍

李雷雷 · 2017年06月21日 · 最后由 wangpengfei100 回复于 2018年03月23日 · 8065 次阅读

GT-非官方介绍

机智的防爬虫标识
原创博客地址:https://testerhome.com/topics/9092
博客求关注: http://www.cnblogs.com/alexkn

一.GT 介绍

  • 是什么:GT(随身调)是 APP 的随身调测平台,它是直接运行在手机上的 “集成调测环境”
  • 它能做什么:
    • 可对 APP 进行快速的性能测试 (CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash 日志查看、网络数据包的抓取、APP 内部参数的调试、真机代码耗时统计等
    • 利用 GT 提供的基础 API 自行开发有特殊功能的 GT 插件
    • 支持 android/ios

1.GT 客户端

主要是 GT 控制台,通过控制台,我们可以看到被测应用实时性能数据。总体来说,GT 客户端跟 SDK 需要配合使用,才能完成很多自定义操作,而且需要在被测应用中插桩。目前不太确定,是否有足够的 API 帮忙做任务调度跟初始化操作。

2.GT SDK

GT 需要控制台跟 SDK 一起使用才能发挥出最大效果,SDK 也可以脱机接入,不过需要在被测应用中插桩,主要分为三步:

  • 在手机中安装 GT.apk
  • 将 SDK jar 包添加到工程中
  • 在合适的位 置插入 GT 初始化的代码

建立联系:在被测应用初始化阶段通过 GT.connect(Context, AbsGTParaLoader) 建立测试应用跟被测应用的联系
断开联系:完成测试后,需要在被测工程中调用 GT.disconnect(Context) 方法断开被测应用与 GT 的联系

3.GT Tools

GTTools 工具包是从 Android GT 源码中剥离并重构出来的可复用模块,在抽象过程中尽可能的考虑可扩展性。GTTools 工具包主要提供给基于 AndroidJUnit 的测试脚本用于性能指标的采集和数据监控。
这个的使用方法跟伽利略就很像了,同样是通过驱动测试脚本,来达到性能数据收集的目的。

4.GT 广播模式

本来广播不属于 GT 模块的一部分,之所以单独拿出来,是因为 GT 的广播模式可以无侵入式监控被测应用,也可以很方便接入到平台去扩展。但是目前还没办法确定,测试精确性问题,需要看源码。

二.使用方式

1.手动使用

单独使用 GT 客户端,可以完成一般的性能数据收集工作,可用于手动跟进一些问题。

2.内嵌方式使用

  • 通过 GT 客户端跟 GT SDK 配合,在被测应用内部完成数据收集功能
  • 通过在 AndroidJunit 测试工程中使用 GTTools,来完成数据收集功能,由于 GTTools 需要在 android 工程中引用,因此也没办法简单单独抽离,如果需要用于平台级别的任务调度,需要在 AndroidTest 工程中开发数据整理以及结果上传的模块

3.与平台集成使用

通过广播方式去启动测试任务:http://gt.qq.com/docs/a/UseGtWithBroadcast.txt
目前支持的测试包括 CPU/内存/PrivateDirty/NET 采集/FPS 采集/流畅度采集/耗电测试/内存填充/驱动抓包

三.GT 接入的优缺点

1.优点

  • 完全开源
  • 同时支持手动跟进性能问题以及自动接入方式支持
  • 接入方式比较灵活:可以内嵌/可以以 androidTest 工程接入/可以通过平台方式接入

2.缺点

  • 无法完全自动化:使用 profiler 前需要先手动开启 profiler 功能
  • 应用内部插桩:需要熟悉被测应用的业务逻辑,难度相对较大。
  • 测试准确性问题:处理方法综合来看比较简单粗暴,对整体的测试准确度存疑。
  • 性能监控跨越到性能问题分析有一道天生的鸿沟

四.总结

如果想在 GT 做封装,可能使用广播模式驱动是比较合适的。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 6 条回复 时间 点赞
李雷雷 源码解读腾讯 GT 的性能测试方案 中提及了此贴 06月21日 22:52

赞,搞 gt 系列,到时候放到 wiki 里去

恒温 回复

没有那么多,怕刷屏所以把所有的性能测试项的测试方法全放在一篇文章里了https://testerhome.com/topics/9094
可能最多再加一篇 GT 架构这样的文章。

李雷雷 源码解读腾讯 GT 的性能测试方案 中提及了此贴 06月22日 08:39

看介绍和之前听过携程无线分享的掌测功能相似

欢迎来自博客园的朋友~

Test soldier 回复

掌测那个 git 地址有木有?记得当时介绍时说有 1K 多的 star。。。

GT 用广播的方式去实现,最后有没有操作?

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