【性能测试入门】:压力测试概念!

压力测试可以验证软件应用程序的稳定性和可靠性。压力测试的目标是评估软件在极端负载条件下的鲁棒性和错误处理能力,并确保软件在紧急情况下不会崩溃。它甚至可以进行超出软件正常工作条件的测试,并评估软件在极端条件下的工作方式。


在软件工程中,压力测试也称为耐力测试。在压力测试下,将在短时间内对AUT施加压力以检验其承受能力。压力测试最主要的用途是确定系统、软件或硬件损坏的极限。它还检查系统在极端条件下是否显示出有效的错误处理能力。例如,从网站复制5GB数据并将其粘贴在记事本中,记事本承受压力,并显示“未响应”错误消息。

在本教程中,你将学习-

  • 什么是压力测试?
  • 压力测试的目标
  • 负载测试与压力测试
  • 压力测试的类型
  • 如何进行压力测试?
  • 推荐用于压力测试的工具
  • 压力测试指标

压力测试必要性


请考虑以下情形-

  • 在节日期间,在线购物网站可能会出现访问量激增的情况。
  • 在一家主要报纸上提到博客时,它的访问量突然激增。

必须进行压力测试以适应这种异常的流量高峰。无法适应这种突然的流量可能会导致网站收入和声誉受损。
由于以下原因,压力测试也非常有价值:

  • 检查系统是否在异常情况下工作。
  • 当系统处于压力状态时显示适当的错误消息。
  • 极端条件下的系统故障可能会导致巨大的收入损失
  • 最好通过执行压力测试为极端条件做好准备。

压力测试的目标


压力测试的目的是分析故障后系统的行为。为了使压力测试成功,在极端条件下,系统应显示适当的错误消息。
为了进行压力测试,有时会使用海量数据集,这些数据集在压力测试过程中可能会丢失。测试人员在进行压力测试时不应丢失与安全相关的数据。
压力测试的主要目的是确保系统在发生故障后恢复,这称为可恢复性。
负载测试与压力测试

负载测试压力测试
负载测试用于测试正常工作负载条件下的系统行为,而仅仅是测试或模拟实际工作负载压力测试是在极端条件下测试系统行为,并进行到系统故障为止。
负载测试不会破坏系统压力测试试图通过对大量数据或资源进行测试来破坏系统。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

压力测试的类型

以下是压力测试的类型,并解释如下:
1. 分布式压力测试


在分布式客户端-服务器系统中,测试是在服务器上所有客户端之间进行的。压力服务器的作用是向所有压力客户端分发一组压力测试,并跟踪客户端的状态。客户端与服务器联系后,服务器将添加客户端的名称并开始发送数据进行测试。
同时,客户端计算机发送信号或心跳信号,表明它已与服务器连接。如果服务器未从客户端计算机收到任何信号,则需要对其进行进一步调查以进行调试。从图中可以看出,服务器可以与2个客户端(Client1和Client2)连接,但是不能发送或接收来自客户端3和4的信号。
夜间运行是运行这些压力测试方案的最佳选择。大型服务器场需要一种更有效的方法来确定哪些计算机出现了压力故障,需要进行调查。
2. 应用压力测试
该测试专注于查找与应用程序中的数据锁定和阻止,网络问题以及性能瓶颈有关的缺陷。
3. 交易压力测试
它对两个或多个应用程序之间的一个或多个事务进行压力测试。它用于微调和优化系统。
4. 系统压力测试
这是集成的压力测试,可以跨同一服务器上运行的多个系统进行测试。它用于查找一个应用程序数据阻止另一应用程序的缺陷。
5. 探索性压力测试
这是压力测试的一种类型,该压力测试用于测试具有在实际场景中不太可能发生的异常参数或条件的系统。它用于发现意外情况下的缺陷,例如

大量用户同时登录
如果病毒扫描程序同时在所有计算机上启动
如果从网站访问数据库时数据库已脱机,
同时将大量数据插入数据库时

如何进行压力测试?


压力测试可以通过5个主要步骤完成:

  1. 规划压力测试。在这里,你可以收集系统数据,分析系统,定义压力测试目标
  2. 创建自动化脚本:在此阶段,你将创建压力测试自动化脚本,为压力场景生成测试数据。
  3. 脚本执行:在此阶段,你将运行压力测试自动化脚本并存储压力结果。
  4. 结果分析:在此阶段,你将分析压力测试结果并确定瓶颈。
  5. 调整和优化:在此阶段,你可以对系统进行微调,更改配置,优化代码,以使其目标达到所需的基准。


压力测试的工具


LoadRunner
HP的LoadRunner是一种广泛使用的负载测试工具。由Loadrunner调整的负载测试结果被视为基准。

Jmeter
Jmeter是一个开放源代码测试工具。它是用于压力和性能测试的纯Java应用程序。Jmeter旨在涵盖负载,功能,压力等测试类型。它需要JDK 5或更高版本才能起作用。
Stress Tester
该工具可以对Web应用程序的性能进行广泛的分析,以图形格式提供结果,并且非常易于使用。不需要高级脚本,即可获得良好的投资回报。
Neo load
这是市场上流行的测试Web和Mobile应用程序的工具。该工具可以模拟成千上万的用户,以便评估负载下的应用程序性能并分析响应时间。它还支持云集成-性能,负载和压力测试。它易于使用,具有成本效益并且提供了良好的可伸缩性。

压力测试指标


度量标准有助于评估系统的性能,通常在压力测试结束时进行研究。常用的指标是-

  1. 衡量可伸缩性和性能
  • 每秒页面数:衡量已请求的页面数/秒
  • 吞吐量:基本指标-响应数据大小/秒
  • 回合:测试方案的计划次数与客户执行的次数
  1. 应用响应时间
  • 命中时间:检索图像或页面的平均时间
  • 到第一个字节的时间:花费时间返回数据或信息的第一个字节
  • 页面时间:花费时间来检索页面中的所有信息
  1. 失败率
  • 失败的连接:客户端拒绝的失败连接数(弱信号)
  • 失败的回合数:失败的回合数
  • 失败命中次数:系统尝试失败的次数(链接断开或看不见的图像)

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:自动化测试老司机 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

简单介绍Java 的内存泄漏

java最明显的一个优势就是它的内存管理机制。你只需简单创建对象,java的垃圾回收机制负责分配和释放内存。然而情况并不像想像的那么简单,因为在Java应用中经常发生内存泄漏。 本教程演示了什么是内存泄漏,为什么会发生内存泄漏以及如何预防…

2024年第十届计算机与技术应用国际会议(ICCTA 2024)即将召开!

​ ​ 2024年第十届计算机与技术应用国际会议(ICCTA 2024) 会议时间:2024年5月15-17日 会议地点:奥地利维也纳 (线上线下会议) 会议官网: Home_ICCTA 2024 | Vienna, Austria 组织单位: 奥地利FH JOANN…

狂拿offer,这12道性能测试面试题你会多少?不要再被挖坑了

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、性能测试包含了…

NFS 共享存储实验

一、服务器部署 第一步、安装nfs和rpcbind包 [rootserver ~]# yum install -y nfs-utils rpcbind截图: 第二步、这里选择一个 lvm 挂载点做 NFS 共享目录 [rootserver ~]# df -HT截图: 第三步、修改配置文件 [rootserver ~]# vi /etc/exports /home …

2024农历新年是什么时候?电脑如何设置农历新年提醒

元旦的钟声已经远去,2024年的阳历新年就这样悄无声息地开始了。但对于我们很多人来说,真正的“过年”氛围,还得等到农历新年的到来。那么,今年的农历新年究竟是什么时候呢?答案是2月10日。 每当想到农历新年&#xff…

【docker笔记】Docker容器数据卷

Docker容器数据卷 卷就是目录或者文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性 卷的设计目的就是数据的持久化,完全独…

Element-Puls Form表单内嵌套el-table表格,根据表格复选框多选或单选动态设置行的验证规则

需求 根据 Table 表格内的复选框来控制当前选中行是否添加必填校验规则 效果图 实现思想 我们需要设置一个 flag 来标识已勾选的行,el-table渲染数据结构是数组对象形式,我们可以在每个对象中手动加如一个标识,例如默认:selected …

密码输入检测 - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 给定用户密码输入流input&#xff0c;输入流中字符 ‘<’ 表示退格&#xff0c;可以清除前一个输入的字符&#xff0c;请你编写程序&#xff0c;输出最终得到的…

fpmarkets盘点成功交易者的十个习惯(一)

在交易中能够盈利一次&#xff0c;fpmarkets认为这种情况100%的交易者都会做到&#xff0c;但是要做到每次交易都能盈利&#xff0c;即使是巴菲特也做到&#xff0c;我们只需要做到整体盈利就可以了&#xff0c;那么如何做到呢&#xff1f;今天fpmarkets就总结一下成功交易者的…

代码随想录算法训练营Day08|344.反转字符串、541. 反转字符串II、卡码网:替换数字、151.翻转字符串里的单词、卡码网:右旋字符串

文章目录 一、344.反转字符串1. 双指针法 二、541. 反转字符串II1. 字符串解法 三、卡码网&#xff1a;替换数字四、151.翻转字符串里的单词1.使用库函数2.自行编写函数3.创建字符数组填充3.双反转移位 五、卡码网&#xff1a;右旋字符串1. 自行编写函数 总结 一、344.反转字符…

【软件测试】白盒测试 / 逻辑覆盖法

《语句覆盖法》 使程序中的每个可执行语句至少执行一次 所有的可执行语句得到执行语句覆盖测试是较弱的一种测试发现错误能力最弱的逻辑覆盖 《判定覆盖法》 使每一个判定获得每一种可能的结果至少一次 每个判定得到真值和假值判断覆盖法满足了语句覆盖&#xff0c;因此比语…

【AI视野·今日Sound 声学论文速览 第四十期】Wed, 3 Jan 2024

AI视野今日CS.Sound 声学论文速览 Wed, 3 Jan 2024 Totally 4 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers Auffusion: Leveraging the Power of Diffusion and Large Language Models for Text-to-Audio Generation Authors Jinlong Xue, Yayue De…

十一、工具盒类(MyQQ)(Qt5 GUI系列)

目录 ​编辑 一、设计需求 二、实现代码 三、代码解析 四、总结 一、设计需求 抽屉效果是软件界面设计中的一种常用形式&#xff0c;可以以一种动态直观的方式在有限大小的界面上扩展出更多的功能。本例要求实现类似 QQ 抽屉效果。 二、实现代码 #include "dialog.…

2024年第二届语言、创新教育与文化交流国际学术会议(CLEC 2024)

2024年第二届语言、创新教育与文化交流国际学术会议(CLEC 2024) 2024 2nd International Conference on Language, Innovative Education and Cultural Communication 为迎接知识经济时代的挑战&#xff0c;创新教育被用来培养学生的创新精神与能力。知识的普遍性使得创新教育…

CSS同时使用背景图和渐变色

CSS同时使用背景图和渐变色 需求代码实现完整写法 需求 一个盒子&#xff0c;在拥有渐变色的前提下还需要同时拥有背景图层 类似如下的效果 代码实现 首先我们按照常规的写css的方式来写 <div class"box"></div>.box{width: 300px;height: 120px;bo…

「网络安全术语解读」SARIF详解

引言&#xff1a;什么是SARIF&#xff1f;它的产生背景是什么&#xff1f;SARIF主要包含哪些内容&#xff1f;使用SARIF有哪些好处&#xff1f; 1. SARIF简介 SARIF&#xff08;Static Analysis Results Interchange Format &#xff0c;静态分析结果交换格式&#xff09;是一…

jenkins 自由风格部署vue项目,参数化构建vue项目

1. 丢弃旧的构建 2. 是否需要install 3. git 4. 配置node16: 5. 脚本&#xff1a; 脚本&#xff1a; #进入Jenkins工作空间下项目目录 cd /var/lib/jenkins/workspace/你的任务名称 node -v #检测node版本&#xff08;此条命令非必要&#xff09; npm -v #检测npm版本&#x…

电力系统中的交流负载箱

交流负载箱是电力系统中的一种重要设备&#xff0c;主要用于模拟实际的电力负载&#xff0c;以便对电力系统进行各种性能测试和分析。在电力系统的设计和运行过程中&#xff0c;交流负载箱起着至关重要的作用。 交流负载箱的主要功能是模拟实际的电力负载&#xff0c;包括电阻、…

开源内容管理框架Drupal在Docker本地部署并实现公网远程访问

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

2024--Django平台开发-Django知识点(四)

1.知识回顾 创建项目&#xff1a;新项目、别人项目、新版版、老版本 项目目录&#xff08;v1.0版本&#xff09; 路由系统 常见路由编写加粗样式 /index/ 函数 /index/<str:v1> 函数 re_path(ryy/(\d{4})-(\d{2})-(\d{2})/, views.yy), re_path(ryy/(?…