求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
目录
软件测试
1.教程
2. 软件测试原则
3. 软件开发生命周期(SDLC)
4. 软件测试命周期(STLC)
5. 软件测试的类型
6. 测试成熟度模型
7. 测试级别
SDLC 模型
1.瀑布模型
2.螺旋模型
3.混合模型
4.原型模型
5. V模型/V和V模型/验证和验证模型
测试的类型
1.手动测试
2.自动化测试
手册的类型
1.白盒测试
2.黑盒测试
3.灰盒测试
白盒技术
1.数据流测试
2.控制流测试
3.分支覆盖测试
4.语句覆盖率测试
5.决策覆盖率测试
黑盒技术
1.决策表
2.全对测试
3.黑盒测试中的因果图
4.状态转换技术
5.用例技术
黑盒的类型
1.功能测试
2.非功能性测试
功能类型
1.单元测试
2.集成测试
3.系统测试
非功能性的类型
1.性能测试
2.易用性测试
3.兼容性测试
测试用例开发
1.测试文档
2.测试场景
3.测试用例
测试技术
1.错误猜测技术
2.等效分区技术
3.边界值分析
测试管理
1.测试计划
2.测试用例审查过程
3.需求可追溯性矩阵
缺陷跟踪
1.软件测试中的错误
2.Bug生命周期
3.测试中bug的严重性和优先级
4.测试环境
5.缺陷管理过程
其他类型的测试
1.回归测试
2.冒烟测试
3.健全性测试
4.静态测试
5.动态测试
6.负载测试
7.压力测试
8.恢复测试
9.探索性测试
10.可视化测试
11.验收测试
12.Alpha 测试
13.Beta 测试
14.数据库测试
15.主机测试
16.Adhoc测试
17.全球化测试
18.变异测试
19.安全测试
20.可访问性测试
21.结构测试
22.批量测试
23.可伸缩性测试
24.稳定性测试
25.峰值测试
26.负面测试
27.正面测试
28.耐久性测试
29.可靠性测试
30.Monkey测试
31.敏捷测试
32.组件测试
33.GUI测试
34.测试策略
软件测试工具
1.软件测试工具
2.测试管理工具
3.缺陷/Bug跟踪工具
4.自动化测试工具
5.性能测试工具
6.跨浏览器测试工具
7.集成测试工具
8.单元测试工具
9.移动测试工具
10.GUI测试工具
11.安全测试工具
12.渗透测试工具
差异
1.自动化测试与手动测试
2.负载测试与压力测试
3.冒烟测试和健全性测试之间的差异
4.系统测试和验收测试之间的差异
5.质量保证与质量控制
6.静态测试与动态测试
7.验证和确认测试
8.Alpha 测试和 Beta 测试
9.黑盒测试与白盒测试与灰盒测试
10.全球化测试和本地化测试之间的区别
11.测试用例与测试场景
12.测试计划 VS.测试策略
13.边界值分析和等价划分之间的差异
14.SDLC VS.STLC
15.Bug, Defect, Error, Fault 和 Failure之间的区别
16.测试和调试之间的区别
17.前端测试 VS.后端测试
18.HLD和LLD的区别
19.BRS vs SRS
20.正面测试和负面测试之间的区别
21.自上而下和自下而上的集成测试之间的区别
22.用例和测试用例之间的区别
23.Monkey 测试 VS Gorilla 测试
24.Stubs和Drivers之间的区别
25.组件测试和单元测试之间的区别
26.软件测试和嵌入式测试之间的区别
27.GUI 测试和可用性测试之间的差异
28.SDET和Tester的区别
29.桌面应用程序测试、客户端-服务器应用程序测试和 Web 应用程序测试之间的区别
30.主动测试
31.什么是API
32.自动化测试
 
 
目录
压力测试
来源:Javatpoint     翻译:Linda (火龙果软件)
666 次浏览
3次  

在本节中,我们将了解压力测试,这是性能测试的重要组成部分,用于通过施加大于预期负载的负载来检查应用程序的行为。

我们还要了解它的过程,为什么我们需要进行压力测试,压力测试的目标,示例,压力测试的各种功能,优点和缺点。

1. 压力测试介绍

在软件测试中,压力测试是非功能性测试下性能测试的重要组成部分。

压力测试是用于检查软件的可访问性和健壮性超出通常功能限制的测试。它主要考虑关键软件,但也可用于所有类型的软件应用程序。

它也被称为耐力测试、疲劳测试或折磨测试。

压力测试包括超出标准操作大小的测试,反复测试到临界点,以获得输出。

它突出了重载下的错误处理和健壮性,而不是常规条件下的正确行为。

换句话说,我们可以说,压力测试是用来验证恒常性和系统的可靠性,并确保系统在灾难情况下不会崩溃。

为了分析系统在极端条件下的工作方式,我们在正常负载之外进行压力测试。

2. 压力测试的目标

使用压力测试的主要目的是满足以下几个方面:

  • 执行压力测试的主要目的是确认软件不会因缺少磁盘空间、内存和网络请求等计算资源而崩溃。
  • 压力测试的实施证明系统故障并毫不费力地改进,称为可恢复性过程。
  • 我们可以使用压力测试来发现硬件问题,数据损坏问题。
  • 压力测试将帮助我们识别在整个恒定峰值负载中可能潜入的安全漏洞。
  • 它有助于确定软件应用程序在整个极端负载中的数据完整性,这意味着数据在发生故障后应处于可靠状态。

3. 压力测试的特点

以下是压力测试的基本特征:

  • 压力测试还可以确保不可预测的故障不会导致安全问题。
  • 它用于分析系统在极少数情况下的工作以及系统在故障后的行为。
  • 压力测试用于检查系统在崩溃之前是否已保存数据。
  • 压力测试保证在系统处于压力之下时显示适当的错误消息。

4. 为什么我们需要执行压力测试?

如果遇到以下情况,我们需要执行压力测试:

每当电子商务或在线购物网站在节日期间宣布销售时,流量就会激增。或者,当一篇文章在顶级报纸上被提及时,它知道流量出乎意料。

如果我们未能协助这种突然的流量可能会导致利润和地位的损失。因此,在这种情况下,我们需要执行压力测试来整合这种不规则的流量峰值。

对于以下情况,还需要执行压力测试:

  • 当系统处于压力之下时,它应该显示正确的错误消息。
  • 检查系统是否在异常情况下工作。
  • 如果系统在危险情况下出现故障,可能会导致巨大的利润损失。
  • 通过实施压力测试,我们将为极端条件做好准备。

5. 压力测试示例

让我们看一些实时示例,在这些示例中我们可以发现压力测试的用法。

示例1:电子商务网站/应用程序

在整个新产品发布、销售、假期促销和节日优惠中,电子商务应用程序往往会在很短的时间内获得许多用户。

示例 2:某些重大/病毒事件发生时的新闻网站

当重大事件发生时,新闻网站会崩溃或减速;例如,当迈克尔杰克逊去世时,最大数量的新闻网站会变慢,或者其中一些网站也崩溃了。

为了克服这种情况,我们需要对特定应用程序执行压力测试,并准备好在发生任何崩溃或故障时快速恢复。

示例 3:教育局的成绩网站

压力测试对于在教育局的结果网站上进行很重要。在一些结果的当天,许多学生、用户和申请人将登录特定以检查他们的成绩。

因此,执行压力测试有助于识别应用程序的故障,并在短时间内发生最终负载或结果出来时评估性能和可恢复性。

注意:对网站或应用程序进行压力测试对于处理多个访问者或用户的意外增加非常重要。

6. 压力测试的类型

压力测试可以分为不同的部分,如下所示:

  • 产品或应用程序压力测试
  • 服务器-客户端或分发压力测试
  • 分析压力测试
  • 系统压力测试
  • 事务压力测试

产品或应用程序压力测试

  • 应用程序或产品压力测试主要侧重于确定与软件产品中的网络问题、数据锁定、阻塞和性能瓶颈相关的故障。

服务器-客户端或分布式压力测试

  • 在这种类型的压力测试中,将测试与服务器相关的所有客户端。
  • 分布式压力测试用于从服务器跨所有客户端执行。
  • 服务器可以与客户端 A 和 B 通信,但当客户端-服务器系统存在压力时,它无法与客户端 C 和 D 链接,如下图所示:

分析/探索性压力测试

  • 分析或探索性测试用于执行系统,具有在实际场景中不太可能发生的异常约束。
  • 它主要用于识别极少数情况下的错误,例如大量用户同时登录或数据库在从网站检索时脱机。

让我们看一些使用这种不规则条件的分析压力测试示例:

  • 当大量并行用户尝试登录应用程序时。
  • 数据在数据库中大量添加。
  • 当网站尝试从前端访问它,并且链接到该网站的数据库关闭时。

系统压力测试

  • 它是组合测试,用于在类似服务器上运行的各种系统中执行测试。
  • 使用系统的压力测试,我们可以轻松检测一个应用程序的数据阻止另一个应用程序的瓶颈。

事务压力测试

  • 另一种类型的压力测试是事务压力测试,用于在各种应用程序之间实现一个或多个事务。
  • 执行事务压力测试的主要目的是提高系统性能。

7. 压力测试过程/如何进行压力测试

压力测试过程将按以下步骤完成:

步骤1:检测测试环境

在压力测试的第一步中,我们将确定可用于实现压力测试的网络、软件和硬件配置和工具。

步骤 2:查找性能验收标准

确定测试环境后,我们将找到性能验收标准,这有助于我们对用于测试应用程序在压力下的性能的指标进行分类。

此外,确定压力测试的成功标准,例如,最大负载可以应用于应用程序以使其失败。

步骤3:规划和设计压力测试

在压力测试过程的下一步中,我们将计划和设计压力测试计划,确定测试场景等。

步骤4:配置测试环境

成功创建压力测试计划后,我们将进入下一步,在功能和组件可用于测试时,创建执行每种方法所必需的测试环境、工具和资源。

步骤5:实施测试设计

在测试环境配置之后,我们将开发压力测试,从而使测试设计发挥最佳性能。

步骤6:执行测试

在下一步中,我们将执行特定的测试,观察并确认测试以及测试数据和输出收集。

步骤7:分析结果

在压力测试过程的最后一步,我们将分析结果,合并和共享各自团队的输出数据。

8. 压力测试工具

众所周知,压力测试是性能测试的一部分,用于性能测试的工具可用于压力测试。因此,我们在市场上有各种类型的压力测试工具,其中一些是商业工具和开源工具。下面列出了一些最常见的压力测试工具:

  • Apache JMeter
  • NeoLoad
  • Stress tester
  • LoadRunner

9. 压力测试的优缺点

优点

执行压力测试的一些重要好处如下:

  • 压力测试表示系统在发生故障后的行为,并确保系统从崩溃中快速恢复。
  • 执行压力测试的最重要优势将使系统以适当的方式在规则和不规则条件下工作。
  • 它决定了软件的可扩展性并增强了性能。

缺点

压力测试的一些最常见缺点如下:

  • 即使在像JMeter这样的开源工具中,也需要负载测试环境,该环境应尽可能接近生产环境设置。
  • 如果我们正在编写压力测试脚本,则该人应该对特定工具支持的语言有足够的脚本知识。
  • 如果我们使用压力测试,它将需要额外的资源,这使得这种测试的成本更高。
  • 如果我们手动执行压力测试,它就会成为一项繁琐而复杂的任务,并且也可能无法产生预期的结果。

10. 总结

在本教程中,我们已经了解压力测试用于在极端情况下评估系统。它可以验证系统是否恢复到正常状态。

它是一种非功能测试,通常在功能测试之后执行。

压力测试完全集中在极端负载情况下测试系统,以检测其断点,并查看在系统无响应时是否显示合适的消息。

 

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



666 次浏览
3次