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

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


在软件工程中,压力测试也称为耐力测试。在压力测试下,将在短时间内对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自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 上 Nginx 配置访问 web 服务器及配置 https 访问配置过程记录

目录 一、前言说明二、配置思路三、开始修改配置四、结尾 一、前言说明 最近自己搭建了个 Blog 网站,想把网站部署到服务器上面,本文记录一下搭建过程中 Nginx 配置请求转发的过程。 二、配置思路 web项目已经在服务器上面运行起来了,运行的端…

WPS使用技巧——默认粘贴无格式文本

从网页或者其他文档内复制的文本往往带有原本的格式,粘贴到自己的word文档里面,要么先粘贴后统一格式,要么右键选择“只粘贴文本”,非常不便。 今天分享一个可以将粘贴方式默认为“只粘贴文本”的无格式粘贴方法,这样…

pycharm的使用技巧

1.新建文件时,自动生成代码 settings->editor->file and code templates,选择python script ${NAME} 文件名 ${DATE} 日期 2.自动补齐自定义段落 settings->editor->live templates,在右侧点击+号,添加自定义的内容 完成之后,在下方勾选python 3.修改注释的…

(23)Linux的软硬连接

前言:上一章我们讲解了 inode,为文件系统收了尾,这几章我们充分地讲解完了文件系统的知识点,现在我们开始开始学习软硬链接了。 软硬链接 1、Linux 下的快捷方式:软链接 上一章我们介绍完了 inode ,我们…

【C语言】Linux实现高并发处理的过程

一、实现高并发的几种策略 C语言本身并没有内建的多线程支持(新版C语言支持,但用得不多),但是在多数操作系统中,可以使用库来实现多线程编程。例如,在POSIX兼容系统上,可以使用 pthreads 库来创…

FindMy技术用于键盘

键盘是我们生活中不可或缺的输入工具,是人与计算机之间沟通的桥梁,无论是编写文档、浏览网页、玩游戏、或是进行复杂的数据分析,键盘都在其中发挥着关键的作用。此外,键盘还是各种软件的快捷键操作的关键。通过熟练地运用快捷键&a…

vue-vben-admin 与.net core 结合实例 【自学与教学 小白教程】---第3节

ue-vben-admin 与.net core 结合实例 这里计划使用.net core 作为后端 。目标:打造好看 易用 开箱即用 的netcore一体化框架。Vue Vben Admin For NetCore 取命 hcrain-vvadmin 我不是前端人员 但有时开发还是要写一些界面。 之前使用layui是时候 狠心升级下了。 …

Linux网络的命令和配置

目录 一、网络配置命令 1、配置和管理网络接口 1.1 ifconfig 1.2 ip 1.2.1 ip link 1.2.2 ip addr 1.3 修改网络接口名 1.3.1 临时修改网络接口名 1.3.2 永久修改网络接口名 1.4 永久配置单网卡 1.5 永久配置双网卡 1.6 ethtool 2、查看和设置主机中路由表信息…

“第四个中国人民警察节”细语

今(2024年1月10日)天,是第四个中国人民警察节,本“人民体验官”推广人民日报官方微博文化产品《一起致敬人民警察!》。 图:来源“人民体验官”推广平台 笔者认同“平安的密码叫110”这个洽当比喻。因为人民…

开源了,免费使用GPT4(Windows/Linux/Mac 一键启动脚本)

开源了,免费使用GPT4(Windows一键启动脚本) 大家好,我打算每日花1小时来写一篇文章,这一小时包括文章主题思考和实现,连续日更几天,看看能不能被官方推荐。(帮我点点赞哦&#xff5…

Java IO学习和总结(超详细)

一、理解 I/O 是输入和输出的简写,指的是数据在计算机内部和外部设备之间的流动。简单来说,当你从键盘输入数据、从鼠标选择操作,或者在屏幕上看到图像,这些都是 I/O 操作。它就像是计算机与外部世界沟通的桥梁,没有 I…

【思扬赠书 | 第2期】语义解析为何作为连接自然语言与机器智能的桥梁?

⛳️ 写在前面参与规则!!! ✅参与方式:关注博主、点赞、收藏、评论,任意评论(每人最多评论三次) ⛳️本次送书1~4本【取决于阅读量,阅读量越多,送的越多】 文章目录 01 …

esp32UART串口外设(Arduino)

通用异步接收器/发送器 (UART) 介绍 通用异步接收器/发送器 (UART) 是一种硬件功能,它使用广泛采用的异步串行通信接口(如 RS232、RS422 和 RS485)处理通信(即时序要求和数据成帧&…

小白兼职做抖店,一个月能做到5000利润吗?抖店现状问题解答

我是王路飞。 全职状态下做抖店的话,精细化操作的单店月利润保守数据在10000-30000(该数据来自醒醒团队内部学员一般水平下月营收数据均值,仅供参考) 但如果是新手小白(没有电商经验),且是兼职…

ES-极客学习第二部分ES 入门

基本概念 索引、文档、节点、分片和API json 文档 文档的元数据 需要通过Kibana导入Sample Data的电商数据。具体参考“2.2节-Kibana的安装与界面快速浏览” 索引 kibana 管理ES索引 在系统中找到kibana配置文件(我这里是etc/kibana/kibana.yml) vim /…

spring boot 自动扫描Controller、Service、Component原理

项目里面为什么不加上ComponentScan("com.yym.*")注解,也能加载到子目录里面的Controller,Service,Component的bean呢? 启动类没有ComponentScan注解 SpringBootApplication public class BootStrap {public static v…

【unity】基于Obi的绳/杆蓝图、绳杆区别及其创建方法

绳索 是通过使用距离和弯曲约束将粒子连接起来而形成的。由于规则粒子没有方向(只有位置),因此无法模拟扭转效应(维基百科),绳子也无法保持其静止形状。然而,与杆不同的是,绳索可以被撕裂/劈开,并且可以在运行时改变其…

java碳排放数据信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web碳排放数据信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环 境为TOMCAT7.0,Myeclipse8.5开发,数据库为…

行为型设计模式——模板方法模式

学习难度:⭐ ,比较常用 模板方法模式 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知&#xff0…

【重学C语言】一、C语言简介

【重学C语言】一、C语言简介 什么是编程语言?编程语言 C语言发展史C语言标准变迁开发软件CLion安装步骤 VIsual Studio安装步骤 Clion 和 VS2022 绑定 电脑常识 什么是编程语言? 人类语言:语言就是人类进行沟通交流的表达方式,应…