app性能测试 - GT工具

203 阅读6分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第19天,点击查看活动详

开发者模式

开启开发者选项:

  • 系统应用-设置-关于平板电脑-多次点击版本号显示开发者选项一打开
  • 系统应用-设置-开发者选项-打开USB调试和输入中的指针位置

开启超级管理员访问权限

  • 系统应用-文件管理器-左上角目录栏-设置按钮-常规设置-高级下的访问模式修改为超级管理员访问模式

GT工具介绍

GT Android版本是由腾讯开发的性能测试平台,直接运行在手机上面的。

可以通过该工具进行基础的性能测试:内存、CPU 电量 网络流量 流畅度,可以以绘制图表的形式显示出指标的相关数据。

性能测试出现问题时需要获取对应的日志,该工具也提供了查看日志的功能,可以通过查看日志分析和定位app功能异常。

CPU测试

GT工具提供了两个CPU的监控指标:

  • CPU:指当前手机中CPU的整体使用率
  • jiffes:开机以来程序消耗的CPU时间片总数
  • 注意:根据不同的手机配置不同的公司CPU指标是不同的

当CPU使用长时间处于90%以上就会导致非常卡,会导致手机发热、耗电量增加、反应变慢、引起ANR(假死状态,卡死了....)


GT工具实现CPU测试:

  1. 打开GT软件

  2. 在AUT界面

    1. 添加被调试的应用
    2. 选择CPU指标
  3. 切换到参数界面

    1. 点击编辑,进行参数选择(一个性能指标可能有多个参数)
    2. 选择完成后将关注的参数勾选
  4. 切换到日志界面,打开logcat记录日志

  5. 切换到参数页面,点击进行录制

  6. 切换到AUT界面,启动app

  7. 针对app进行相关的业务操作

  8. 返回GT工具界面

    1. 参数界面取消录制
    2. 双击已关注的参数可以产看详细信息
  9. 保存测试数据

    1. 切换到参数页面,点击保存

内存测试

内存测试的两个指标:

  • PSS:实际使用内存,将跨进程的共享内存也加入进来,进行按比例计算PSS,就能够准确的表示进程占有的实际物理内存
  • private dirty:代表私有内存,表示进程独占的内存,也就是进程销毁时可以回收的内存容量
  • 注意:根据不同的手机配置不同的公司内存指标是不同的

内存可能出现的问题:

  • 内存泄露:当程序运行时申请了对应的内存空间,而当程序销毁时并没有释放对应的内存空间
  • 内存溢出:程序在申请内存空间时,没有足够的内存空间供其使用。

内存出现问题可能会出现的情况:

  • 程序实际使用的内存PSS会不停的增长
  • 程序会出现闪退

GT工具测试内存指标:

  • AUT页面选择内存的指标

  • 参数界面

    • 编辑参数,选择MEM参数
    • 完成之后勾选已关注的参数
  • 切换到logcat界面开启

  • 切换到参数界面,进行录制

  • 在测试的app中进行操作

  • 停止录制,查看具体的测试数据

流畅度测试

流畅度测试指标:

  • FPS:人的肉眼能够看到的画面每一秒的帧数。如果想要达到流畅的效果,至少每秒的帧数要达到24帧
  • 注意:根据不同的手机配置不同的公司流畅度测试指标是不同的,一般来视频和游戏类应用对流畅度要求较高,如果想要达到最佳的流畅度需要达到每秒60帧,当页面静止不懂事FPS的值显示的0.

GT工具测试:

  • AUT界面选择被调试的应用
  • 参数界面:选择FPS参数
  • 日志界面:打开日志
  • 回到参数界面:勾选已关注参数,开启录制
  • 打开app进行操作(不断的滑动屏幕,尽量不要停顿)
  • 停止录制
  • 查看结果

流量测试

流量:手机在访问网络过程中所产生的的上传和下载的数据

流量监控指标:GT工具提供了监控流量的指标NET,需要借助插件

常用流量测试方法:

  • 抓包测试法:通过抓包工具将所有的网络应用数据包,全部抓取并保存到某个文件中,进行分析的过程

    • 抓包工具:wireshark(可以抓取所有的报文) tcpdump(linux命令进行抓包) fiddler(抓取http/https协议的报文)
  • 统计测试法:获取的是某一个应用程序获取的数据报文,统计出对应的流量


GT工具流量测试:

  • AUT界面:选择调试的应用
  • 参数界面:选择NET参数,勾选和录制
  • 日志界面:打开日志
  • 插件界面:抓包插件tcpdump
  • 运行app
  • 回到GT,停止录制,插件界面点击停止,查看数据
  • 如果觉得抓到的数据包大小有问题,可以将抓到的包的文件交给开发查看

流量优化策略:

  • 数据压缩:比如在http协议的头部会有一个字段(content_encoding)标识数据压缩方式,将数据进行压缩后进行传输,减少数据容量
  • 不同的数据格式:比如json格式的数据更小一些
  • 控制访问的频次:比如向下拉滚动条才会继续发送请求
  • 只获取必要的数据
  • 缓存机制

电量测试

GT工具提供了电量的监控指标:电流、电压、电量、温度,并不是支持所有的手机型号。电量测试就是对移动设备电量消耗快慢的一种测试方法,一般用平均电流来衡量电量的消耗速度。

常见的耗电场景:定位、网络传输、蓝牙连接、屏幕亮度


GT工具测试耗电量:

  • AUT界面:选择应用
  • 日志:打开
  • 插件:耗电量数据采集(只能测试部分的手机型号)

如果GT工具不能进行电量测试可以换成其他测试工具也可以拿同类型的产品在同样的场景下进行对比测试。

用户体验测试

用户体验主要是跟app的界面有关。

  • UI界面测试:界面设计、元素、颜色、布局、按钮特效、文字内容等等....
  • 易用性测试:操作层面上的测试,比如菜单的层次、完成某一个业务需要的操作的步骤是不是太多、按钮的有效点击范围...
  • 横竖屏的测试:横竖屏切换之后某些数据显示的问题,比如表格在横竖屏上的显示
  • 关注手机上的其他辅助功能:比如系统放大字体,再看app上能够正常显示