【APP移动端性能测试】第三节.性能测试工具GT和常见的性能测试点(上)

2024-06-21 22:28

本文主要是介绍【APP移动端性能测试】第三节.性能测试工具GT和常见的性能测试点(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、性能测试工具GT
  •       1.1 性能测试工具GT的基本介绍
  •       1.2 性能测试工具GT的基本使用
  • 二、CPU性能测试
  •       2.1 CPU说明
  •       2.2 CPU测试步骤
  •       2.3 监控结果保存到目录文件
  • 三、内存性能测试
  •       3.1 内存知识点介绍
  •       3.2 常见的内存问题和现象
  •       3.3 内存测试步骤
  • 四、流畅度性能测试
  •       4.1 流畅度知识点介绍
  •       4.2 流畅度测试步骤
  • 总结


前言


一、性能测试工具GT

1.1 性能测试工具GT的基本介绍

GT简介:

GT(随身调)Android版是腾讯MIG专项测试组自行研发的APP随身调测平台,它是直接运行在手机上的"集成调测环境"(ITE,Integrated Test Environment)。

之所以叫"集成调测环境”,是因为仅用GT即可独立完成如下针对AUT的测试工作:

  • 基础性能测试:手机整机或者手机上安装的任何一个APP的CPU、内存、网络流量、流畅度、帧率、电量等基础性能指标的实时展示、历史数据采集及excel格式存储、曲线绘制等。
  • 日志查看:APP的Logcat日志查看,便于直接用手机现场定位APP功能异常、crash。
  • 网络数据包抓包:直接用手机抓包保存成pcap文件,下载到PC后用Wireshark查看。

GT安装:

GT有两种版本:

(1)可独立安装的GT (APK,IOS无该版本),像普通APP一样安装。

(2)GT SDK:将GT的SDK嵌入到被调测的应用的工程里。


1.2 性能测试工具GT的基本使用

详细内容跳转至链接博客:http://t.csdnimg.cn/gWgJC

性能测试工具GT的基本使用:

安装:手机有root权限

(1)进入AUT界面,配置要监控的指标

(2)进入参数页面,选择要统计的参数,选择需要实时监控的数据

(3)配置日志开头为logcat为on

(4)进入APP进行测试

(5)回到GT界面,在参数界面看查看监控指标的数据统计

(6)进入日志,查看响应的日志记录


二、CPU性能测试

2.1 CPU说明

CPU知识点介绍:

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

CPU关键指标:

CPU使用率:

  • 用户态:应用程序占用的CPU时间
  • 系统态:系统内核占用的CPU时间
  • 空闲态:空闲进程占用的CPU时间(idle process)

CPU使用率=非空闲态/CPU总时间=(用户态+系统态)/CPU总时间

jiffies:

从开机到目前为止应用程序占用的CPU的总时间片。


CPU问题产生的影响

即CPU出现问题的现象:

1、CPU长时间超过90%

2、手机发热、耗电量增加

3、手机卡顿、出现ANR


2.2 CPU测试步骤

CPU测试的步骤:

(1)打开GT,配置CPu的监控指标

(2)进入被测APP,进行相关的业务操作

(3)进入GT,查看CPU的监控统计(先看曲线图)

(4)收集CPU详细数据并分析


2.3 监控结果保存到目录文件

监控结果保存到目录文件的步骤:

(1)打开模拟器桌面上的文件管理器

(2)在文件管理器内,自己找你需要导出的文件,然后点击勾。

(3)连续点击返回按钮,一直到文件管理器的根目录下

(4)点击mnt文件夹,点击shared文件夹,然后点击other文件夹,再点击点击粘贴此选项。

(5)出现表示粘贴成功,再点击我的电脑按钮,点击打开文件夹,就可以看到刚刚保存的文件


三、内存性能测试

3.1 内存知识点介绍

内存关键指标:

私有内存:

进程独占的内存,在进程销毁的时候同步回收私有内存

实际使用内存:

除了私有内存以外,与其他进程共享的内存空间,在进程销毁的时候不能回收。


3.2 常见的内存问题和现象

内存问题:

1、内存泄漏:程序操作时申请内存,操作结束后内存未全部释放

2、内存溢出:程序操作时申请内存,但是此时内存不够,不能满足申请的要求,就出现内存溢出。


内存问题出现的现象:

1、实际使用内存PSS持续增长

2、程序崩溃(出现crash)


3.3 内存测试步骤

内存测试的步骤:

1、打开GT工具,配置内存相关的指标

2、打开被测APP,测试相关业务,监控内存指标

3、打开GT,查看内存监控数据(曲线)

4、收集内存相关的数据,并分析


四、流畅度性能测试

4.1 流畅度知识点介绍

流畅度的重要指标:

FPS:每秒渲染的帧数。

流畅度问题的影响:

表现形式:卡顿

FPS指标的数据要求:

通常要求在24帧/s以上,保证流畅。(10-12帧)

最高60帧/s


4.2 流畅度测试步骤

流畅度测试的步骤:

1、打开GT,配置流畅度指标FPS

2、打开被测APP,滑动页面,统计FPS值

3、进入GT,查看流畅度曲线

4、收集滑动操作时的流畅度数据,计算平均值。(24帧/s——60帧/s)

总结

这篇关于【APP移动端性能测试】第三节.性能测试工具GT和常见的性能测试点(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1082510

相关文章

SQL中redo log 刷⼊磁盘的常见方法

《SQL中redolog刷⼊磁盘的常见方法》本文主要介绍了SQL中redolog刷⼊磁盘的常见方法,将redolog刷入磁盘的方法确保了数据的持久性和一致性,下面就来具体介绍一下,感兴趣的可以了解... 目录Redo Log 刷入磁盘的方法Redo Log 刷入磁盘的过程代码示例(伪代码)在数据库系统中,r

SQL BETWEEN 的常见用法小结

《SQLBETWEEN的常见用法小结》BETWEEN操作符是SQL中非常有用的工具,它允许你快速选取某个范围内的值,本文给大家介绍SQLBETWEEN的常见用法,感兴趣的朋友一起看看吧... 在SQL中,BETWEEN是一个操作符,用于选取介于两个值之间的数据。它包含这两个边界值。BETWEEN操作符常用

python中各种常见文件的读写操作与类型转换详细指南

《python中各种常见文件的读写操作与类型转换详细指南》这篇文章主要为大家详细介绍了python中各种常见文件(txt,xls,csv,sql,二进制文件)的读写操作与类型转换,感兴趣的小伙伴可以跟... 目录1.文件txt读写标准用法1.1写入文件1.2读取文件2. 二进制文件读取3. 大文件读取3.1

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(