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

2024-01-09

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


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【性能测试入门】:压力测试概念! 的相关文章

随机推荐

  • 机器学习 前馈神经网络

    人工神经网络 Artificial Neural Network ANN 是指一系列受生物学和神经科学启发的数学模型 这些模型主要是通过对人脑的神经元网络进行抽象 构建人工神经元 并按照一定拓扑结构来建立人工神经元之间的连接 来模拟生物神经
  • G-LAB|2024年1月份开班课程

    1 最新的开班计划 可试听
  • 初中生python编程例题详解,中学生可以这样学python

    本篇文章给大家谈谈初中生python编程例题详解 以及中学生可以这样学python 希望对各位有所帮助 不要忘了收藏本站喔 Source code download 本文相关源码 人生苦短 我用Python 文章目录 前言 一 Python
  • React安装依赖 node_modules中有下载依赖项但package.json文件中没有依赖

    React安装依赖 node modules中有下载依赖项但package json文件中没有依赖 直接在下载依赖项后 加 S 就可以解决 随机 id 生成器 uuid nanoid npm install nanoid S S save
  • 苹果电脑交互式原型设计软件Axure RP 9 mac特色介绍

    Axure RP 9 for Mac是一款交互式原型设计软件 使用axure rp9以最佳的方式展示您的作品 优化现代浏览器并为现代工作流程设计 同时确保您的解决方案正确完整地构建 Axure RP 9 for Mac为您整理笔记 将其分配
  • CCF模拟题 202309-2 坐标变换(其二)

    问题描述 试题编号 202309 2 试题名称 坐标变换 其二 时间限制 1 0s 内存限制 512 0MB 问题描述 对于平面直角坐标系上的坐标 x y 小 P 定义了如下两种操作 1 拉伸 k 倍 横坐标 x 变为 kx 纵坐标 y 变
  • 微信公众号-订阅通知

    第一步 公众号需要实名认证 完成以后 设置 开发里找到基本配置 开发者ID AppID xxxxxxxxxxxxxxxxxxxxxxxxx 开发者密码 AppSecret xxxxxxxxxxxxxxxxxxxxxxxxx 白名单IP也要填
  • Microsoft 365 for Mac激活版(原Office 365)

    Microsoft 365 for Mac原office 365 包含Word Excel PowerPoint 和 Outlook应用程序 协作办公的最佳首选 软件下载 Microsoft 365 for Mac激活版下载 Microso
  • 电源芯片浪涌电流如何产生?该怎么测试?

    对于电源芯片的设计和制造商来说 防止芯片受到电源干扰是非常重要的 为了保障芯片能正常稳定运行 浪涌测试无疑是必要的 本篇文章将全方位为你介绍浪涌电流如何产生以及如何测试的过程 电源芯片浪涌电流的产生原因 1 开关电源切换和电压突变 在电源开
  • 基于GA优化的三维曲面极值计算matlab仿真

    目录 1 算法仿真效果 2 MATLAB源码 3 算法概述 3 1 遗传算法基础 3 1 1 种群初始化
  • 【一份老网工珍藏多年的网络配置笔记,很重要!】

    01 交换机 路由器的几种配置模式及模式转换 1 用户模式 登录到交换机 路由器 时会自动进入用户模式 提示符为 switchname gt 在该模式下只能够查看相关信息 对 IOS的运行不产生任何影响 2 特权模式 用户模式下 键入 en
  • 软件测试开发/全日制/测试管理丨Docker容器技术

    Docker 是一种轻量级的容器技术 通过将应用程序及其所有依赖项封装到一个可移植的容器中 实现了应用程序的便携性 可部署性和可伸缩性 下面是关于 Docker 容器技术的主要概念和优势 主要概念 容器 Container 容器是一个轻量级
  • CCF模拟题 202309-1 坐标变换(其一)

    问题描述 试题编号 202309 1 试题名称 坐标变换 其一 时间限制 1 0s 内存限制 512 0MB 问题描述 对于平面直角坐标系上的坐标 x y 小P定义了一个包含n个操作序列T t1 t2 tn 其中每个操作ti 1 lt i
  • “性能压测揭密:关键指标分析!“

    在进行全链路压测和性能测试时 需要关注多个关键性能指标 KPIs 来评估系统的性能表现 以下是一些常见的性能测试指标 1 吞吐量 Throughput 系统在单位时间内能够处理的请求数量或事务数量 通常以每秒请求数 RPS TPS 来衡量
  • cisp难不难?cisp如何备考通过率高?

    CISP 全称为Certified Information Security Professional 是国际上广受欢迎的信息安全专业认证之一 对于许多信息安全领域的从业者来说 CISP认证是他们职业生涯中的重要一步 那么 CISP难不难呢
  • 如何查看崩溃日志

    目录 描述 思路 查看ipa包崩溃日志 简单查看手机崩溃信息几种方式 方式1 手机设置查看崩溃日志 方式2 Xocde工具 方式3 第三方软件克魔助手 环境配置 实时日志 奔溃日志分析 方式四 控制台资源库 线上崩溃日志 线上监听crash
  • Python 如何安装Selenium(推荐)

    一 Selenium的定义 Selenium 是一个 Web的自动化测试工具 最初是为网站 自动化测试而开发的 Selenium 可以直接调用浏览器 它支持所有主流的浏览器 包括PhantomJS 这些无界面的浏览器 可以接收指令 让浏览器
  • 虚拟主机操作系统 Windows、Linux

    操作系统将直接影响服务器的性能 安全性和可用性 因此确保选择合适的操作系统对于成功运行您的网站或应用程序至关重要 以下是一些考虑因素 可帮助您选择适合您需求的虚拟主机操作系统 1 熟悉度和技术支持 如何选择操作系统应该考虑您的经验水平和熟悉
  • python 如何将英语单词翻译成中文

    要将英语单词翻译成中文 可以使用 Python 的第三方库 googletrans 该库使用 Google Translate 提供的 API 来进行翻译 首先 需要安装 googletrans 库 可以使用以下命令在终端或命令提示符中安装
  • 【性能测试入门】:压力测试概念!

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