测测APP app性能测试怎么测

博主:八字八字 3分钟前 2

我们关注的特殊性能:

1.注重资源消耗(CPU、内存、流量、功耗)

2.启动耗时(冷启、热启)(这也是很多云测时使用的指标)

3.主页加载时间

4.内存泄漏、抖动、卡顿、页面渲染(FPS)

今天只总结资源消耗,先说说。CPU

普遍的apk性能测试主要有以下七类

1、响应

2、内存

3、cpu

4、FPS (app使用的流畅度)

5、GPU过度渲染

6、耗电

7、耗流

(app除了这些性能测试外,还将继续更新手机版本号、屏幕分辨率、稳定性、安全性等的兼容性… 这里就不解释流量测试和这些一起更新了。 )

一、响应

软件的响应时间和速度直接影响用户体验。如果一个软件不能加载,它将直接影响软件的日常生活和保留。因此,对于一个软件来说,响应速度测试是必不可少的。

主要试点:

1.冷启动:首次启动:app时间间隔(只是启动时间,不包括页面加载)

2.热启动:非首次启动:非首次启动:非首次启动:非首次启动:非首次启动:非首次启动app时间间隔(只是启动时间,不包括页面加载)

3.完全启动:从启动到主页完全加载的时间间隔

4.有网启动:从发起跳转到页面完全加载的时间间隔

5.无网启动:从启动跳转到页面完全加载的时间间隔

(项目主要测试重点是冷启动和热启动)

测试方法:

1、使用adb命令

1) 冷启动

adb shell am stat -W packageName/ActivityName(绝对路径,第一Activity)

含义:

ThisTime: 该Activity启动耗时;

TotalTime: 应用自身启动耗时, ThisTime 应用application等待资源启动时间;

WaitTime: 系统启动应用耗时, TotalTime 系统资源启动时间

2)热启动:按back按钮后再启动adb命令

测试标准:冷启动时间不超过1.5s, 热启动不超过1s.

3)完全启动,无网启动,可通过有网启动chales抓包来获取启动的时间

chales除截取请求外,还可进行单接口压测,修改请求参数并发出请求,模拟无网、弱网、2G,3G,4G等。能解决app许多专项测试。

需要使用限制网络条件chales一个功能: Thottle Setting

启动时间可以通过设置网速和抓包获得,但有一定的误差。在项目中,只需测试冷启动和热启动。

2、使用AndoidStudio的Andoid Monito,检查手机日志系统输出

Andoid Monito共有五个模块:logcat, memoy, cpu, netwok,GPU

我们可以通过logcat获取应用程序的响应时间(如何使用,介绍内存)

cpu我们应该分为三种情况:

1.空闲时间消耗,基本没有大的应用cpu

2.在运行某些应用程序时,cpu在占50%的情况下,观察应用程序占用情况cpu的情况

3.高负荷下看CPU我定义了这种高负荷,cpu占用80%以上

1.1 如何查看CPU的使用值

使用命令:adb shell dumpsys cpuinfo apk包名

从上图可以看出:6.4%是针对这个的CPU的占用率是6.4%,标红的地方5.用户使用2%的占用率,1.一是内核占用率,这个数字只针对1核,

问题:现在手机是多核的,所以这个值不会太准确。我该怎么办?

经验:一般来说,当我测试这个值时,我会收集几次,寻求平均值

以上数据太多,我们也可以使用以下命令top命令,获取单个数据

adb shell dumpsys cpuinfo |gep packagename

2.内存篇

内存的方式和cpu类似地,我们通过多次收集获得内存值,看看内存是否异常,以及如何获得内存值

如何获取内存,使用命令

1.adb shell dumpsys meminfo

2.adb shell meminfo PID

手机的运行速度与内存有很大关系。我记得我以前的同事可以研究这个内存,并成立了一个特殊的小组。可以看出,水仍然很深,我知道一点,关注几个需要理解的指标:

vss,虚拟内存 ,每个应用程序都有一个java虚拟机,系统会分配一个内存,每个操作都会控制内存的大小,但不会大于最大限度,虚拟内存就会消失,我们更关心

Rss 物理内存(包括共享库内存),应用实际占用的内存,

pss实际使用的物理内存(共享占用内存的比例分配) 如果有三个过程,那么过程的消耗应该除以3,这意味着一个

USS 在这个过程中独自占用内存

USS对于一个过程开始时的内存泄漏,这是一个程序启动时会产生的虚拟内存,一旦程序过程被杀死,它将被释放

我觉得这个博主更好。我只是皮毛。https://blog.csdn.net/bigconvience/aticle/details/35553983

n多次测试内存

使用PID查看方式:

我们关注的是:Heap size 是实际使用的内存 Heap alloc :是实际分配值

问题:但你可以发现alloc<size 为什么会这样?我还能理解吗?他们用一句话解释说:过程中使用的是虚拟内存,远远大于物理内存。我现在还不太懂。

内存我们还可以查看他的单个应用程序最大的内存限制

adb shell getpop |gep heapgowthlimit

另一种方法:我们也可以使用它pocank工具可以查看内存值

3.流量

大神说可以用adb shell cat/poc/“ PID ”/net/dev 查看流量数的命令

然而,我认为这是不准确的。我获得流量的方法是抓住包,在操作中查看流量的消耗wieshok这个工具来帮忙

以上可能是他提到的内容和他自己的理解

总结:

性能测试有两种方法:1.竞品分析 2.版本对比 这是许多公司现在使用的一种方式

在说一句:腾讯的GT还是很好用的,可以在网上下载,试试

原文链接:https://blog.csdn.net/testMange/aticle/details/116991049

The End

发布于:2023-08-26,除非注明,否则均为八字原创文章,转载请注明出处。