首页 > 其他分享 >【详细】性能测试的概念、分类、性能指标与流程

【详细】性能测试的概念、分类、性能指标与流程

时间:2023-11-08 17:25:03浏览次数:30  
标签:负载 请求 流程 系统 并发 测试 性能 性能指标

一、性能测试概论
1、性能的概念
性能:就是软件质量属性中的“效率”特征,效率又可以划分为时间和资源

——时间:系统处理用户请求的响应时间

——资源:系统运行过程中,系统资源消耗的情况

2、性能测试的概念
使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程

3、性能测试的目的
评估当前系统的能力
寻找性能瓶颈,优化性能
评估软件是否能够满足未来的需要
4、为什么要进行性能测试
满足真实场景的业务需求,支持大量的用户

5、功能测试与性能测试的区别
功能测试:验证系统的功能需求规格。焦点:功能(正向、逆向)

性能测试:验证系统的业务需求场景。焦点:时间、资源

关系:一般项目中,先功能测试通过后,再进行性能测试

 

二、性能测试的分类
1、基准测试
(1)基准测试的概念

狭义上:就是单用户测试。(单用户多次循环得到的数据)

广义上:建立基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响

(2)基准测试数据的用途

基准测试不会单独存在
为多用户并发测试和综合场景测试等提供参考依据
为系统/环境配置、系统优化前后的性能提升/下降提供参考指标
2、负载测试
(1)负载测试的概念

通过逐步增加系统负载,确定在满足系统的性能指标(如响应时间等)情况下,找出系统所能承受的最大负载量的测试

(2)负载测试的作用

系统最大负载量达到用户要求时,系统才能正式上线使用

3、稳定性测试
(1)稳定性测试的概念

在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试(1天-1周等),并最终保证服务器能满足线上业务需求

(2)稳定性测试的作用

系统在用户要求的业务负载下运行达到规定的时间下,系统才能正式上线使用

4、压力测试
(1)压力测试的概念

在强负载下的测试,查看系统在峰值情况下是否功能隐患、系统是否具有良好的容错能力和可恢复能力
(2)测试场景

极限负载情况下的破坏性压力测试
高负载下的长时间的稳定性压力测试
5、并发测试
(1)并发测试的概念

并发测试(绝对并发):是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力

(2)应用场景

特定活动场景,如:抢红包、秒杀、抢购等

(3)并发测试与负载测试的区别

并发测试:主要目的是测试极短时间内,并发请求时,系统资源争抢的问题(抢红包、秒杀)

负载测试:主要目的是测试高负载情况下,对系统资源的消耗,是否会耗尽的问题(双11活动)

 

三、性能测试的指标
1、响应时间
定义:指用户从客户端发起一个请求开始,到客户端接收到从服务端返回的结果,整个过程所耗费的时间

 

 

2、并发用户数
定义:某一时刻同时向服务器发送请求的用户数

3、吞吐量
定义:指的是单位时间内处理客户端请求数量,直接体现软件系统的性能承载能力

 

 

(1)QPS(Query Per Second)每秒查询数:即控制服务器每秒处理的指定请求的数量

(2)TPS(Transactions Per Second)每秒事务数:即控制服务器每秒处理事务请求的数量

区别:事务即业务,页面上的一次操作,可能对应一个请求或多个请求(例如:支付操作事务会有查询账号余额请求、检验支付安全请求、发送支付请求等)

4、点击数
定义:指客户端想服务器发送请求时,所有的页面资源元素(如:图片、链接、框架、CSS、JS等)的请求总数量

 

 

注意:点击数是请求数,不是页面上的一次点击,而且只有web项目才有这个指标

5、错误率
定义:指系统在负载情况下,失败业务的概率。错误率=(失败业务/业务总数)* 100%

注意:错误率是一个性能指标,不是功能上的随机bug,随机bug是功能bug,要先解决随机bug才能进行性能测试

6、资源利用率
定义:是指系统各种资源的使用情况,一般用“(资源的使用量/总的资源可用量)*100%”形成资源利用率的数据

常见资源指标:

CPU使用率:不高于75%-85%
内存(大小)使用率:不高于80%
磁盘IO(速率):不高于90%
网络(速率):不高于80%

四、性能测试的流程

 


性能测试的核心:需求分析、性能测试执行、性能分析调优

1、需求分析

 


2、性能测试计划
(1)测什么

项目背景
测试目的
测试范围
(2)谁来测

进度与分工
交付清单
(3)怎么测

测试策略
3、性能测试用例

 


4、性能测试执行

 


5、性能测试分析与调优
说明:性能测试分析人员经过对结果的分析以后,如果不符合性能需求,则会提出性能bug,然后由开发人员进行后续的调优

6、性能测试报告
性能测试报告主要内容:

测试工作的经过回顾
缺陷分析和调优
风险评估
性能测试结果
测试工作总结与改进

标签:负载,请求,流程,系统,并发,测试,性能,性能指标
From: https://www.cnblogs.com/R-bear/p/17817860.html

相关文章

  • 软件测试|MySQL DISTINCT关键字过滤重复数据
    简介在MySQL中,有时候我们需要从表中检索唯一的、不重复的数据。这时,我们可以使用DISTINCT关键字来过滤掉重复的数据行。在本文中,我们将深入探讨MySQL中DISTINCT的用法以及如何在查询中使用它来得到不重复的结果集。基本语法DISTINCT关键字用于在SELECT语句中指示查询结果中去......
  • 软件测试|Chrome 115之后的版本,如何更新driver?
    问题描述前两天在运行一个web自动化测试脚本时,报了如下的错误,ThisversionofChromeDriveronlysupportsChromeversion113Currentbrowserversionis115.0.5790.110withbinary,如下图所示:该报错提示我,当前的driver只支持113版本的Chrome浏览器,但是我的Chrome已经自动......
  • 白盒测试方法
    一、概述:白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有逻辑路径进行测试,是一种穷举路径的测试方法。但即使每条路径都测试过了,仍然可能存在错误......
  • Burpsuite测试神器使用
    1、Web漏洞扫描是在Web信息搜集的基础上,进行更进一步的自动化的安全评估、漏洞挖掘、渗tou测试2、Web漏洞扫描能让我们进一步挖掘目标服务器潜在的sql注入、Xss跨站脚本攻鸡、CSr跨站请求伪造等漏洞3、Web漏扫虽然能够帮助我们快速的实现自动化漏洞渗tou,但是并不是全能的,也会出现误......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-25-处理单选和多选按钮-中篇
    1.简介上一篇中宏哥讲解和介绍的单选框有点多,而且由于时间的关系,宏哥决定今天讲解和分享复选框的相关知识。2.什么是单选框、复选框?单选按钮一般叫raidobutton,就像我们在电子版的单选答题过程一样,单选只能点击一次,如果点击其他的单选,之前单选被选中状态就会变成未选中。单......
  • Arduino UNO 测试SD卡
    SD卡模块测试方法ArduinoIDE的LibraryManager中搜索‘SD’,安装最新版资料库;依次打开File-Examples-SD-CardInfo示例程序,Upload至开发板;打开串口监视器SerialMonitor,即可看到串口信息输出,如下Cardtype:SD2Clusters:15352BlocksxClu......
  • shell编程-流程控制
    拓展basename&dirnamebasename命令basename是去除目录后剩下的名字,取文件名例: [root@linux-server~]#temp=/home/temp/1.test[root@linux-server~]#base=`basename$temp`[root@linux-server~]#echo$base1.testdirname是获取目录名 例:[root@linux-server......
  • PMP-5.3.1 管理质量文件--质量报告、测试与评估文件、变更
    一、质量报告1.定义​质量报告可能是图形、数据或定性文件。2.作用(1)​其中包含的信息可帮助其他过程和部门采取纠正措施,以实现项目质量期望。(2)质量报告用于识别不合规的卖方过程、程序或产品。(控制采购过程)3.​质量报告的信息可以包含:(1)团队上报的质量管理问题由团队管......
  • [-006-]-Python3+Unittest+Selenium Web UI自动化测试之悬浮窗口中的元素点击
     1.分析现状:PPT模板悬浮出现悬浮窗口悬浮窗口中分为4大类:PPT模板,PPT模板页,PPT关系图,PPT图表大类下存在小类点击可跳转但是此页面里还存在PPT模板下的总结汇报等此种情况的元素此情况如果仅用text定位是无法定位到的所以排除了text定位方式2.解决方法:首先我们看下悬浮窗......
  • 运行Springboot测试类查询数据库数据显示白网页
    问题运行Springboot测试类时,查询数据库里面数据显示如下白网页程序报如下错误 解决方案 SpringBoot应用未能启动的原因是它没有找到合适的数据库配置具体来说,它需要一个数据源(DataSource),但未能在你的配置中找出,也没有找到任何嵌入式数据库(H2,HSQL或Derby)以下是几个......