(功能测试)第五章 APP性能测试 常用的APP命令格式 补充与总结

server/2025/3/4 2:24:13/

app性能测试

solopi 工具+监控性能数据

实时监控所选项的各类数据的变化  性能测试就是记录性能数据 从而去分析是否是存在有异常 使用工具去监控数据 查看录制数据

可以持续使用两个小时去查看性能的使用情况

重点是对拿到的数据去进行分析

内存数据查看

性能指标有如下内容:

cpu 内存 流畅度 流量 电量 启动速度 稳定性

性能测试:
内存:是在app进行使用的时候会占用手机中多大的内存空间

一直存储,如果不去释放 就会出现越存储越多的情况 如果存储到一定的程度就会出现崩溃

正常情况下存储就会释放 是一个有增有减的过程

有异常:就是内存在持续的增长

存在私有内存和实际使用内存两种情况

私有的意思就是独占内存

正常情况下查看的是实际使用内存

常见的内存出现的问题一共有两种:内存泄漏和内存溢出

内存一直在增长就是出现了内存泄漏

内存持续增长但是突然降为0---内存溢出oom  会提示某某程序停止运行

停止运行了--可能就是由于内存泄漏引起的

下图是一张异常曲线图

内存溢出是由于内存泄漏导致的 内存空间不够停止运行出现内存溢出

可能会有内存泄漏,但是不一定有内存溢出 

有内存溢出一定有内存泄漏

内存泄漏是内存曲线持续增长的过程 即使有减少,那也是增的远比减的多

降低的部分能说明是在回收,只不过是回收的力度不够  减的过程叫做回收

正常的内存图:

crush--崩溃 anr--闪退

我们要去判断内存的一个走势 看趋势

应用停止运行可能是发生了内存溢出

 cpu数据查看

一个手机中多个程序在运行但是不会出错

启动时占用CPU,之后会释放  每一个都会占用一个时间片

红色的曲线是正常的,有增有减是最正常的,增的时候占用CPU,减的时候释放CPU

若长期处于基线上面,就是不正常的,会出现手机卡顿,手机发烫的现象,而且电量消耗也是比较大的

首先是要有一个规定的基线,偶尔超出线是可以的,但是不能长期超线,否则是不满足性能的需求的

如果没有基线,那么90%是一个不可超越的值

手机特别烫的时候一般都特别的卡顿  可以进行杀进程来调整和减缓

在做性能测试的时候,最好不要开太多的程 否则会造成一定的干扰

流量和电量消耗

移动数据是需要进行收费的

测试上传和下载会消耗多少流量

测试流量的前提一定是要有安装流量卡的 测试流量一定是在真机测试

测试的时候是根据工具直接进行监控的

打开应用,然后去查看后台的测试数据的变化

测试:持续运行多少个小时,查看消耗多少的流量

测试的时候可以分开场景去测试,单独的登录操作会消耗多少的流量

这样根据某个动作去执行时间

借助工具去监控

也要去查看电量的消耗情况

两者都必须要用真机去测试  测试电量一定是在没有充电的情况下

优化:

面试题:打开页面比较慢,请问如何去优化?

首先可以对数据进行压缩  打开页面比较大,一定是数据量是比较大的,所以加载的比较慢

可以采用不同的数据格式

为了防止暴力点击,因为点击一次对应的一次请求,可以控制访问的一个频次

还有就是获取必要数据,例如拍照,只要环境一变化,就在拍照;所以在这种情况下流量消耗就比较大

除此之外还可以增加一些缓存机制:在播放视频的时候,提前缓存,不是实时缓存,否则会出现一直在加载,影响用户的体验感

可以针对不同的网络去设置不同的访问策略,例如在WiFi的情况下可以适当放宽,在4G的网络条件下就会受到一些限制

常见的耗电量较大的场景:

CPU的占量过大,也会使电量消耗过大

调用GPS定位,也会使耗电量增大 WiFi环境下的网络传输  屏幕亮度过大时

和竞品去对比!!!比他要好

一般的硬件测试都是需要进行拆机的,这样的成本是比较高的

使用软件工具去检测

测试结果分析可以和基准线去对比 以以往数据积累

可以进行横向对比,拉上竞品一起测试,目前多数采用这个方法

要比竞品好  

获取启动时间

离线状态启动叫做冷启动 如果是在后台运行时去启动叫做热启动

冷启动和热启动的时间是不一样的

如何去获取启动时间???

-W  获取时间

流畅度

 动画:单位时间内播放一张图片就形成了动画

单位时间内能播放多少图片就是流畅度

帧率:1s内能给用户展示多少图片

帧率越大 代表的流畅度是越好的

要让大脑觉得动作是连续的,至少是每秒10-12帧的速度   流畅--每秒24帧 这样看起来才是流畅的

60帧的流畅度是最佳的  游戏测试--效率高 不会低于60

设备离线和找不到设备 都可以重启模拟器解决

连接多个设备

稳定性测试

monkey测试容易出现问题 收集日志 提供给研发,是有效的数据作为是测试结果

长时间使用 产品持续运行多久 检验产品质量

monkey可以模拟触摸,点击和滑动,使用monkey去执行这些命令和操作

monkey可以模拟人类的操作来去运行 不需要复杂的思路

要去打印日志

性能指标的描述:一定是某种时间内某种条件执行某种操作,性能指标如何

时间+条件

性能测试和稳定性测试结合 性能监控工具监控性能数据

页面滑动操作查看页面的刷新 2h内的持续刷新操作

持续运行八个小时性能是如何的 

性能测试都是以分钟为单位的

常用的APP命令格式

 adb命令基础操作命令

常用的APP命令格式(启动时间 内存 CPU 安装  卸载 流量 抓取日志)

命令:工具的执行不够的话可以使用adb来替换

写自动化脚本就可以使用adb命令

adb命令是安卓的调试的命令  开发和测试都常用的命令

adb可以用来安装卸载软件 管理安卓软件 启动测试 抓取操作日志

adb的环境准备 

adb uninstall xxx(这个是包名)

在mac和Linux中是if config Windows--ip config

获取包名

清除缓存 

停止--杀进程

补充与总结 

如果想抓取https的包,就必须先安装好证书

面试题:

简述CS和BS的区别:


http://www.ppmy.cn/server/172227.html

相关文章

对话式AI引擎:DeepSeek技术引领多模态交互新篇章

摘要 DeepSeek技术公司推出了一项创新服务——“对话式AI引擎”,仅需两行代码即可激活任意大型AI模型的语音对话功能。这项技术使得文本型AI模型迅速转变为具备实时语音对话能力的多模态交互模型,解决了大型AI模型在语音交互方面的不足,为AI行…

Spring Boot 整合 JMS-ActiveMQ,并安装 ActiveMQ

1. 安装 ActiveMQ 1.1 下载 ActiveMQ 访问 ActiveMQ 官方下载页面,根据你的操作系统选择合适的版本进行下载。这里以 Linux 系统,Java环境1.8版本为例,下载 apache-activemq-5.16.7-bin.tar.gz。 1.2 解压文件 将下载的压缩包解压到指定目…

【心得】一文梳理高频面试题 HTTP 1.0/HTTP 1.1/HTTP 2.0/HTTP 3.0的区别并附加记忆方法

面试时很容易遇到的一个问题—— HTTP 1.0/HTTP 1.1/HTTP 2.0/HTTP 3.0的区别,其实这四个版本的发展实际上是一环扣一环的,是逐步完善的,本文希望帮助读者梳理清楚各个版本之间的区别,并且给出当前各个版本的应用情况,…

实例分割 | yolov11训练自己的数据集

前言 因工作要求使用的都是yolov5系列的模型,今天学习一下最先进的yolov11,记录一下环境配置及训练过程。 1.项目下载及环境安装 源码位置:yolov11 可以看到,这里要求python版本大于等于3.8,我这里安装python3.10.…

Vue3生命周期以及与Vue2的区别

文章目录 一、Vue3生命周期核心阶段与钩子函数二、Vue3生命周期示例:选项式 vs 组合式 API选项式 API 示例(Vue2)组合式 API 示例(Vue3) 三、Vue3与Vue2生命周期的核心差异1. 钩子函数更名2. 组合式 API 的影响3. 新增…

力扣打卡第三天

力扣打卡第三天 题目 分析题目 理解快乐数概念结束条件: 快乐数的结果为 1,返回True无限循环找不到 1,变相说法就是数值在到达一定数量之后会开始重复进入一个闭环,也就是只需要发现出现之前有的数值就重复了,也就可…

【Docker基础】理解 Registry 镜像仓库:分类、工作机制、命令与实操

文章目录 一、什么是 Docker RegistryDocker Registry 的主要功能:镜像的结构:Docker Registry 的组成:使用例子:Docker Hub: 二、镜像仓库分类三、镜像仓库工作机制四、常用的镜像仓库1. DockerHub2. 国内镜像源配置镜…

《Effective Objective-C》阅读笔记(下)

目录 内存管理 理解引用计数 引用计数工作原理 自动释放池 保留环 以ARC简化引用计数 使用ARC时必须遵循的方法命名规则 变量的内存管理语义 ARC如何清理实例变量 在dealloc方法中只释放引用并解除监听 编写“异常安全代码”时留意内存管理问题 以弱引用避免保留环 …