【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

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A