性能测试——App性能测试需要关注的指标

news2024/11/17 3:45:51

目录

一、Android客户端性能测试常见指标:

二、预期标准指定原则

三、测试方法及工具

一.从用户角度出发

二.站在管理员的角度考虑需要关注的性能点

三.站在开发(设计)人员角度去考虑

四.站在测试工程师角度考虑

总结:


一、Android客户端性能测试常见指标:

1、内存

2、CPU

3、流量

4、电量

5、启动速度

6、滑动速度、界面切换速度

7、与服务器交互的网络速度

二、预期标准指定原则

1、分析竞争对手的产品,所有指标要强于竞品

2、产品经理给出的预期性能指标数据

3、符合业内行业标准

 

 

三、测试方法及工具

1、内存:使用adbshell脚本进行测试,查看Log数据。adb shell dump meminfo

2、CPU:使用adbshell脚本进行测试,查看Log数据。adb shell top

注意:程序持续运行及操作过程中,内存不能一直增加,不然系统会自动kill掉该进程。

3、流量监控:可以借用网易的开源工具:Emmagee

4、电量监控:和竞品做对比测试,同一机型的测试机在不同时间,不同网络条件,不同功能使用的情况下分别测试电量使用情况。

5、启动速度和滑动、界面切换速度:编写测试代码(AndroidInstrumentation),打桩到源码中,运行后通过log数据进行分析。

6、其他测试工具:腾讯开发的工具:GT随身调。下载地址:http://gt.qq.com/

不可置否,在对APP的整个测试环节中,性能测试是一个很重要的环节,它直接影响了用户的体验,那么,对于APP的性能测试,我们到底需要关注那些点呢?

其实,我们可以想想在软件设计、部署、使用、维护中一共有哪些角色参与,然后再考虑这些角色各自关注的性能点是什么,那么作为一个软件性能测试工程师,我们就能够从中总结出,对于APP的性能测试主要应该关注哪些比较重要的点。

一.从用户角度出发

开发软件的目的是为了让用户使用,我们先站在用户的角度分析一下,用户需要关注哪些性能。

对于用户来说,当点击一个按钮、链接或发出一条指令开始,到系统把结果已用户感知的形式展现出来为止,这个过程所消耗的时间是用户对这个软件性能的直观印象。也就是我们所说的响应时间,当响应时间较小时,用户体验是很好的,当然用户体验的响应时间包括个人主观因素和客观响应时间,在设计软件时,我们就需要考虑到如何更好地结合这两部分达到用户最佳的体验。如:用户在大数据量查询时,我们可以将先提取出来的数据展示给用户,在用户看的过程中继续进行数据检索,这时用户并不知道我们后台在做什么。

简单地说,用户最关注的其实就是其操作的响应时间。

二.站在管理员的角度考虑需要关注的性能点

(1)、响应时间

(2)、服务器资源使况是否合理

(3)、应用服务器和数据库资源使用是否合理

(4)、系统能否实现扩展

(5)、系统最多支持多少用户访问、系统最大业务处理量是多少

(6)、系统性能可能存在的瓶颈在哪里

(7)、更换那些设备可以提高性能

(8)、系统能否支持7×24小时的业务访问

三.站在开发(设计)人员角度去考虑

(1)、架构设计是否合理

(2)、数据库设计是否合理

(3)、代码是否存在性能方面的问题

(4)、系统中是否有不合理的内存使用方式

(5)、系统中是否存在不合理的线程同步方式

(6)、系统中是否存在不合理的资源竞争

四.站在测试工程师角度考虑

那么从用户、管理员、开发者的角度去总结了其关注的性能指标之后,笔者最终认为,对于测试工程师来说,他们在做性能测试的时候,主要应该关注的测试指标应该是:

(1)连接超时

这个是App关闭的首要问题,而在移动应用中网络错误数据比例报错中最高的就是连接超时错误。想象一下当花重金好不容易把你的App推广到用户手机上,而在用户初次尝试时发生连接超时无法正常使用,多数用户会选择再也不会打开应用第二次。

(2)崩溃

这个已无需多言。APP的崩溃,就是用户的崩溃。当用户使用你的App出现闪退或崩溃时,他们很有可能跑去AppStore赠送你一个“一星”差评。

(3)系统交互(电话短信干扰,低电量提醒,push提醒,usb数据线插拔提醒,充电提醒等)

在APP使用过程中,可能会遇到各种中断场景,那么一旦发生这些场景,APP就卡死或者闪退,想必也没有多少用户愿意持续使用你的APP。

(4)弱网下的运行情况

电梯里、地铁上,网络信号差时,APP页面的菊花转不停,界面卡死,同时错误提示一堆,这样的情况怎能不让用户抓狂。

(5)CPU使用问题

CPU频率设置过高时会导致过热,过热导致耗电更严重,CPU频率设置过低导致手机滞后,应用处理缓慢同样会导致耗电。更多时候,用户解决CPU超载问题只能关闭甚至卸载App,App就被Kill了!

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/687930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无功功率补偿及电容器的简单介绍 安科瑞 许敏

摘要:主要对无功功率的概念、电容器的补偿方式、补偿容量的计算等方面进行了阐述,在此基础上介绍了电容器运行的注意事项。 关键词:电力电容器;补偿方式 ;运行 0 引言 笔者从进入吕合煤业从事电工工作的那天起&#…

Wav2Lip原理以及训练

原理 1: 音视频同步判别器 常规SyncNet: 功能:音频和嘴唇同步 实质:判断音频和唇形在某个共同参数空间下的相似性。 网络结构: 一种伪孪生网络结构,分别提取嘴形特征和音频特征,然后通过对比损失计算两者…

VS2017+OpenCV4.5.1 安装与配置,扩展模块opencv_contrib的安装与配置

文章目录 VS2017OpenCV4.5.1 安装与配置,扩展模块opencv_contrib的安装与配置1、OpenCV下载:(1)下载地址:https://opencv.org/releases/page(2)解压到指定文件夹: 2、配置环境&#…

如何进行可视化的数据过滤?Sugar BI 的过滤组件教你快速实现

Sugar BI 中支持了 10种过滤组件,这些过滤组件都是让用户在浏览报表或大屏的时候,能够交互式的对页面上的图表进行数据的过滤。所有过滤组件对图表的数据过滤设置都是一样的,如下: 例如页面中已有两个图表(这两个图表…

人脑髓鞘化

髓鞘化 大纲:髓鞘化定义;髓鞘化能用来干嘛;髓鞘化现阶段存在的痛点;现有方法如何解决问题;我们方法的优势。 定义 髓鞘化是指髓鞘发展的过程,它使神经兴奋在沿神经纤维传导时速度加快,并保证…

开窗函数分享

开窗函数定义 开窗函数:用于为行定义一个窗口,它一组值进行操作,不需要使用group by子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列。 划重点!!! 开窗函数返回:基础行列、聚合列 下面通过例子看一下…

OJ# 376 机器翻译

题目描述 ​ 小李的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 ​这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的…

简单易用多git服务器ssh密钥配置管理

文章目录 前言一、什么是ssh-key二、配置步骤添加ssh-key配置多ssh-key 总结 前言 快速理解如何配置管理多个git服务器的ssh,当我们有多个git帐号时会涉及如何管理不同的remote使用不同的git账户登陆推送 当前repo的origin remote是github,我们在推送时…

EMMC基础知识总结

1、说明 1.0 整体架构 ‘ EMMC最简单的可理解为带有控制器的FLASH,具体结构如下: EMMC: Embedded multiMediaCard EMMC. EMMC内部: host interface 、 flash controller 、 flash memory 1.1 flash memory 结构 EMMC 中一般…

学习Vue3——watchEffect(高级侦听器)

立即运行一个函数,同时响应式地追踪其依赖,并在依赖更改时重新执行。 watchEffect有两个参数 第一个参数就是要运行的副作用函数 第二个参数是一个可选的选项,可以用来调整副作用的刷新时机或调试副作用的依赖 API—watchEffect 基本用法 …

电脑必备,推荐几款好用的程序软件,让你工作更加高效

在当今的信息化时代,电脑已成为我们日常生活中必不可少的工具。而在电脑上安装一些好用的程序软件,能够大大提高我们的工作效率和体验。但是市面上的软件五花八门,要如何选择呢?下面将为大家推荐几款值得使用的程序软件&#xff0…

告别脚本小子系列丨JAVA安全(8)——反序列化利用链(下)

0x01 前言 在前面的文章中介绍了基于CC链的反序列化利用方式,并且通过最终调用Runtime类的exec方法达到命令执行的效果。在CC链中还可以通过xalan来执行命令。 xalan是java操作xml的库,属于java内置的官方库之一,在CC链中主要用到的是com.sun…

论文研读|TNNLS 期刊近三年对话生成工作介绍(2篇)

前言:本篇博客记录TNNLS期刊近三年的对话生成相关工作中本人比较感兴趣的两篇工作。首先给大家分享一下论文精确查找的方式,然后对两篇工作的主要思想进行简要介绍。 目录 1. 论文精确查找方法2. 论文简介2.1 面向用户个性保持与回复多样性的两阶段对话生…

错误:No module named ‘osgeo’

from osgeo import gdal 报错:No module named ‘osgeo’ pip install gdal 会出错,也不知道什么原因。 解决方案: 下载whl,然后pip install .whl即可。 详细步骤如下: whl下载地址:https://www.lfd.uci.edu/~go…

基于java+servlet+mysql-图书商城

基于javaservletmysql-图书商城 一、系统介绍二、功能展示1.项目骨架2.首页3.图书详情4.我的订单5.我的购物车6、注册7、登录8、图书管理9、订单管理 四、其它1.其他系统实现五.获取源码 一、系统介绍 项目类型:Java web项目 项目名称:基于javaservlet…

浅谈企业能源监测管理系统的设计与应用

安科瑞 华楠 摘要: 针对企业目前能源监测现状, 结合企业信息化建设情况和发展需要, 介绍了能源监测管理信息系统, 提出了企业能源监测管理系统建设建议。 关键词:管理系统; 能源监测; 企业信息化 0 引言 节能降耗是缓解中国资源约束的根本出路, 也是提高企业自主创新能力的…

【机器学习】如何选择合适的假设函数

在前面的线性回归中,我们可以使用不同次数的多项式对数据集进行拟合,但是选择次数过低的多项式会导致欠拟合,选用次数过多的多项式会过拟合,那么如何选择合适的多项式呢?这就是本文需要解决的问题。 想要了解自己训练…

什么是α测试β测试和灰度测试?

吃软件测试这碗饭的,如果基础理论都不懂,谈何长久? 欢迎来学习本系列,基础理论比较枯燥,这也是为什么现在很少人掌握的主要原因。热饭尽量用浅显易懂 生动的例子 来帮助大家学习基础理论,所以请耐心看完此系…

纯JavaScript简单实现移动端网页的上拉加载、下拉刷新

公司要在安卓软件中,添加H5网页包,实现订单卡片列表,要求有上拉加载、下拉刷新的功能。 经过搜索资料后,实现如下: 创建一个类PullData class PullData() {/*** 类的构造函数,在new PullData({xx: xxx})时…

尚硅谷甄选--(暂时不更新,实习,后期有时间更)

文章目录 搭建后台管理系统模板项目的资源地址项目初始化2.1.1环境准备2.1.2初始化项目2.2项目配置一、eslint配置1.1vue3环境代码校验插件1.2修改.eslintrc.cjs配置文件1.3.eslintignore忽略文件1.4运行脚本 二、配置**prettier**2.1安装依赖包2.2.prettierrc.json添加规则2.3…