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

news/2025/2/27 6:18:34

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可以模拟人类的操作来去运行 不需要复杂的思路

要去打印日志

常用的APP命令格式

 adb命令基础操作命令

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

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

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

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

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

adb的环境准备 

adb uninstall xxx

获取包名

补充与总结 


http://www.niftyadmin.cn/n/5869628.html

相关文章

react 中,使用antd layout布局中的sider 做sider的展开和收起功能

一 话不多说,先展示效果: 展开时: 收起时: 二、实现代码如下 react 文件 import React, {useState} from react; import {Layout} from antd; import styles from "./index.module.less"; // 这个是样式文件&#…

安装react报错

安装react报错 背景 执行命令npx create-react-app my-app,然后出现报错unable to resolve dependency tree 解决: 出现这个报错是因为依赖包版本出现冲突,查看package.json可以看到react版本是19.0.0,但是testing-library/rea…

理解梯度消失与梯度爆炸及其缓解策略

目录 理解梯度消失与梯度爆炸及其缓解策略 一、梯度消失与梯度爆炸的概念 1. 梯度消失 2. 梯度爆炸 二、缓解梯度消失与爆炸的策略 1. 改进权重初始化 2. 选择合适的激活函数 3. 使用归一化技术 4. 梯度裁剪(Gradient Clipping) 5. 结构设计改…

NLP07-朴素贝叶斯问句分类之数据集加载(1/3)

一、概述 数据集加载(Dataset Loading)是机器学习、自然语言处理(NLP)等领域中的一个重要步骤,指的是将外部数据(如文件、数据库、网络接口等)加载到程序中,以便进行后续处理、分析…

PydanticToolsParser 工具(tool call)把 LLM 生成的文本转成结构化的数据(Pydantic 模型)过程中遇到的坑

PydanticToolsParser 的作用 PydanticToolsParser 是一个工具,主要作用是 把 LLM 生成的文本转成结构化的数据(Pydantic 模型),让代码更容易使用这些数据进行自动化处理。 换句话说,AI 生成的文本通常是自然语言&…

SAP Webide系列(7)- 优化FreeStyle新建项目预设模板

目录 一、背景 二、优化目标 三、定位调整点 四、调整步骤 五、效果展示 六、附言 一、背景 在每次通过Webide进行FreeStyle方式自开发SAP UI5应用的时候,新建项目,得到的模板文件都是只有很少的内容(没有路由配置、没有设置默认全屏等…

27.[前端开发-JavaScript基础]Day04-函数基本使用-递归-变量作用域-函数式编程

一、JavaScript函数 1 认识JavaScript函数 程序中的foo、bar、baz 认识函数 函数使用的步骤 2 函数的声明和调用 声明和调用函数 函数的参数 有参数的函数练习 函数的返回值 函数的练习 arguments参数(JS高级再学习) 3 函数的递归调用 函数中…

本地大模型编程实战(24)用智能体(Agent)实现智能纠错的SQL数据库问答系统(3)

本文将实现这样一个 智能体(Agent) : 可以使用自然语言对 SQLite 数据库进行查询。即:用户用自然语言提出问题,智能体也用自然语言根据数据库的查询结果回答问题。增加一个自动对查询中的专有名词进行纠错的工具,这将明显提升查询…