【APP性能测试】

article/2025/9/30 0:09:55

一、普遍的apk性能测试,主要是以下七类

1、响应
2、内存
3、CPU
4、FPS (app使用的流畅度)
5、GPU过度渲染
6、耗电
7、耗流

二、响应测试

1查看appPackage及appActivity ,执行命令:

adb shell dumpsys activity | findstr "mResume"

Android 8.1之前应使用:

adb shell dumpsys activity | findstr “mFocus”

以新浪微博为例,执行成功如下所示:

 mResumedActivity: ActivityRecord{6dea1c2 u0 com.sina.weibo/.MainTabActivity t144}

appPackage:com.sina.weibo

appActivity:.MainTabActivity

2、查看APP冷启动时长

杀掉后台APP进程

adb shell am force-stop appPackage

启动APP,然后执行:

adb shell am start -W -n appPackage/appActivity   (绝对路径,首个Activity)

 含义:
ThisTime: 该Activity的启动耗时;
TotalTime: 应用自身启动耗时, ThisTime+应用application等资源启动时间;
WaitTime: 系统启动应用耗时, TotalTime+系统资源启动时间

3、查看APP热启动时长

点击返回按钮退出app,启动APP,然后执行:

adb shell am start -W -n appPackage/appActivity   (绝对路径,首个Activity)

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

切换APP至后台

adb shell input keyevent 3

三、流量测试

(1)打开命令行窗口,执行adb shell

(2)获取pid,执行:

ps -ef | grep appPackage

(3)获取流量

adb shell cat /proc/pid/net/dev   获取结果以bytes为单位

补充:统计流量有以下几种方法,其中推荐:D > E > C > A> B,但是实际使用过程中会碰到有的手机没有uid_state文件或者没有root权限无法执行命令等情况,导致以上方法无法进行测试,因此本示例中使用了最后一种方式进行测试,如果使用最后一种方法,由于监测的是系统整体流量,因此需要后台杀掉其他应用,仅保留测试应用进行测试

(4)计算流量消耗

(将上下行的数据相加-测试前的数据)/1024/1024就得到所消耗多少M的流量

字节换算公式:
1KB = 1024B
1MB = 1024KB == 1024 * 1024B
1GB = 1024MB == 1024 * 1024KB == 1024 * 1024 * 1024B
1T = 1024GB == 1024 * 1024GB == 1024 * 1024 * 1024 * 1024B

最左边的表示接口的名字,Receive表示收包,Transmit表示发包;

bytes表示收发的字节数;

packets表示收发正确的包量;

errs表示收发错误的包量;

drop表示收发丢弃的包量;

((535404422+40063875)-(521318050+40063875)/1024/1024=13.4MB

四、查看APP占用CPU及内存

CPU测试,主要关注的是cpu的占用率。很多时候,我们玩手机时,会出现发热发烫,那是因为CPU使用率过高,CPU过于繁忙,会使整个手机无法响应用户,整体性能降低,用户体验就会很差,也容易引起ANR(application not responding, 主线程(UI线程)如果在规定时内没有处理完相应工作,就会出现ANR)等等一系列问题。

测试点:
1).在空闲时间(切换至后台)的消耗,基本没大应用使用cpu
2).在运行一些应用的情况下,cpu已占50%的情况下,观察应用程序占用cpu的情况
3).在高负荷的情况下看CPU的表现(cpu占用应是在80%以上)

测试场景操作方法预期
1、应用空闲状态运行监测CPU占用率空闲状态:应用按Home键退到后台,不再占用系统的状态(通常是灭屏半分钟后)CPU占用率=0%
2、应用中等规格运行监测CPU占用率中等规格:模拟用户最常见的使用场景CPU占用率≤30%
3、应用满规格长时间正常运行监测CPU占用率Monkey测试CPU占用率≤30%
4、应用正常运行期间监测CPU占用率峰值应用正常运行:打开应用进行基本操作CPU占用率≤50%



 


 


 

测试方法:
1、使用adb命令:

top -d 5  | grep appPackage

-d 代表刷新间隔,每隔多少秒输出一次

第一列代表占用系统CPU,第二列代表占用系统内存


http://chatgpt.dhexx.cn/article/cIkUG5xc.shtml

相关文章

Android app 性能测试实用工具

主要是想分享安卓专项测试监控两个小工具,一个电耗,一个性能监控,不是什么多大高深技术,只是把一些原理给集成起来,变成一个实用小工具。想用就用,不想用就路过~ 电耗工具--------------------------------…

全网最全移动端App性能测试方法,值得收藏!

关注上方“测试开发技术”,选择星标, 干货技术,第一时间送达! 普遍的apk性能测试,主要是以下七类 1、响应 2、内存 3、cpu 4、FPS (app使用的流畅度) 5、GPU过度渲染 6、耗电 7、耗流 (app除了这些性能测试&#xff0c…

app常见性能测试点

普遍的apk性能测试,主要是以下七类 1、响应 2、内存 3、cpu 4、FPS (app使用的流畅度) 5、GPU过度渲染 6、耗电 7、耗流 (app除了这些性能测试,还有:手机版本号兼容性,屏幕分辨率兼容性,稳定性测试,安全测…

APP性能测试工具——GT 使用方法

APP性能测试工具——GT 使用方法 场景介绍 通过GT工具兼容移动端的 CPU、内存、流量、电量、帧率/流畅度等等GT官方使用介绍文档地址:https://gt.qq.com 一、工具下载 应用宝下载GT app并安装 二、工具介绍 1.打开GT,允许访问权限 进入工具AUT页面&am…

APP外包开发性能测试工具

APP的性能测试是指对APP在不同场景下的性能进行测试,包括响应速度、稳定性、负载能力、资源占用等方面。下面介绍一些APP性能测试的方法和工具,希望对大家有所帮助。 1. 压力测试 压力测试是指在模拟高负载情况下对APP进行测试,以测试APP在高…

功能测试(八)—— APP之专项测试、性能测试、性能测试工具SoloPi

目录 APP测试要点 目标 一、APP专项测试 1.1 兼容性 1.2 安装 1.3 卸载 1.4 升级 1.5 干扰测试(交叉事件测试) 1.6 Push推送 1.7 用户体验 二、 性能测试工具 2.1 APP性能测试工具介绍 —— SoloPi简介 2.2 APP性能测试工具 —— SoloPi使用 三、APP性能测试 3.…

UML用例图(二)

1、 基本概念 (1)系统中与实现无关的视图,只关心系统的高级功能,而不关心系统的具体实现细节 (2)通常在项目开始时要先确定,之后不轻易修改(主要需求) 2、用例图由三部…

UML用例图详解

1. 概述 用例图(Use Case Diagram)描述“用户、需求、系统功能单元”之间的关系,是参与者所能观察和使用到的系统功能模型图。 用例图用于需求分析阶段 用例图包含6个基本元素:参与者(Actor)、用例&#xf…

UML用例图、时序图、类图、活动图

1 .类图 1.1关系 实现: 类实现接口 , [表现] implements 泛化: 类继承类 , [表现] extends 组合: 特殊的关联关系, 是整体与部分的关系, 部分与整体同生命周期, [表现] 成员变量 聚合: 特殊的关联关系, 是整体与部分的关系, 部分与整体不同生命周期, [表现] 成员变量关联: 一个…

UML用例图关系(Include 和extend)

用例图关系 三种关系 泛化(Generalization) 包含(Include) 扩展(extend) 下面给大家分别通过举例来介绍一下这三种关系的概念和用法 概念和用法 概念 (1)泛化关系(带…

图书管理系统 UML用例图

细节处还未扣。资料保留

(转)UML用例图

用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的…

UML的用例图

用例图的构成 1 角色:人员角色——人、事; 角色不一定局限于人,还可以是事物、事儿 2用例:功能的描述; 每一个用例描述了一个完整的系统服务 3 系统边界 4 关系:执行者与用例之间的关系。 泛化 依赖 关联…

UML用例图关系与画法

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下: 1. 参与者(Actor) 表示与您的应用程序或系统进…

设计模式之UML用例图

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下:   1. 参与者(Actor) 表示与您的应用程序或…

UML用例图和类图

UML常见关系: 用例图 构成:参与者、用例、关系。 概念: 参与者:外部用户、进程或其他系统的理想化概念。 用例:外部可见的一个系统功能单元,用例名字是一个动词短语字符串,比如,…

【软件工程】2.UML用例图

什么是UML? UML(Unified modeling language) 出现于70年代中期,建模语言数量从不到十种增加到了五十多种,OO(面向对象)方法的用户并不了解不同建模语言的优缺点及相互之间的差异; 90年代中期形成了UML统一建模语言,它是…

UML用例图与类图

1、用例图 用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。 (《UML参考手册》) 用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)。 用例图多用于静态建模阶段(主要是业务建模和需求建模)。 …

UML用例图介绍

1.什么是用例图 1.用例图用来描述系统的需求,从用户的角度来描述系统的功能,强调谁在使用系统,系统实现了哪些功能,总的来说,用例图就是描述用户的需求和系统的功能,从外部用户的角度来描述系统的功能。 2…

UML-----用例图

文章目录 什么是用例图?用例图的作用用例图的组成部分扩展关系与包含关系的不同点如下 实例绘制用例图 什么是用例图? 用例图就是用来描述用户需求的图。 用例图的作用 帮助开发团队以一种可视化的方式理解系统的功能需求。借助于用例图,系…