求知 文章 文库 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 (火龙果软件)
696 次浏览
5次  

在本节中,我们将了解可伸缩性测试,它通过增加或减少特定规模(如用户数量)的负载来检查应用程序的性能。

我们还要了解它的需求,可伸缩性测试的目的,可伸缩性测试的类型,可伸缩性测试的先决条件,可伸缩性测试的各种功能,如何执行它,优缺点。

1. 可伸缩性测试简介

另一种类型的性能测试是可伸缩性测试,它属于软件测试的非功能测试。

它用于通过增加或减少称为可伸缩性测试的特定规模的负载来检查应用程序的性能。它在硬件、软件或数据库级别执行。

它被指定为网络、系统、应用程序、产品或流程在修改系统的大小或体积以满足不断增长的需求时正确发挥作用的能力。

在此测试中,测试用例以组织良好的方式设计和实现。它还分析系统、流程或数据库满足向上需求的能力。

例如,网页可伸缩性测试取决于用户数、CPU 使用率、网络使用率。相比之下,Web 服务器的可伸缩性测试取决于处理的请求数。

2. 可伸缩性测试的目标

以下是可伸缩性测试的关键目的:

  • 执行可伸缩性测试的主要目标是控制应用程序如何与不断增加的工作负载进行平衡,以及软件产品或系统在何时停止缩放并确定其背后的原因。
  • 需要可伸缩性测试来表示软件产品的用户限制。
  • 找出客户端降级、最终用户在负载下的参与以及服务器端稳定性。
  • 可伸缩性测试的使用将确保软件能够随着工作负载和数据流量的增加而扩展。

3. 为什么我们需要执行可伸缩性测试?

执行可扩展性测试是必需的,因为它可以确保软件或应用程序的均匀运行,同时毫无问题地完成最终用户的要求。

如果我们遇到以下问题,则需要进行可伸缩性测试:

  • 万一软件中的任何修改导致我们失败?
  • 增强后,软件可以正确有效地工作,以满足用户的要求和期望。
  • 软件是否可以根据扩展需求进行生产和改进?

4. 可伸缩性测试的类型

可伸缩性测试分为两部分,如下所示:

  • 向上可伸缩性测试
  • 向下可伸缩性测试

向上可伸缩性测试

向上可伸缩性测试用于在特定规模上扩展用户数量,直到我们得到崩溃点。它主要用于确定应用程序的最大容量。

向下可伸缩性测试

另一种类型的可伸缩性测试是向下可伸缩性测试。当负载测试未通过时,我们将使用向下的可伸缩性测试,然后开始减少特定时间间隔内的用户数,直到实现目标。

因此,我们可以通过向下伸缩测试来快速识别瓶颈(bug)。

5. 可伸缩性测试的前提条件

对于可伸缩性测试,可以根据要测试的应用程序类型更改测试策略。

例如,如果数据库与应用程序相关,则测试约束将是数据库和用户数。我们有一些默认的前提条件可用于可伸缩性测试,如下所示:

  • 操作系统

如果要执行可伸缩性测试,则需要验证负载生成管理器和负载测试主机准备了哪些操作系统。

  • 负载分配能力

它用于分析负载测试工具是否允许从多个设备创建负载并从基本点测量负载。

  • 记忆

在执行可伸缩性测试之前,我们必须分析虚拟用户和负载测试主机的内存量足够。

  • 处理器

在执行可伸缩性测试之前,我们需要分析负载测试主用户和虚拟用户需要哪种类型的 CPU。

6. 可扩展性测试的特点

下面列出了可伸缩性测试的一些重要组件;让我们来看看:

  • 吞吐量
  • 与许多用户进行性能测量
  • 内存使用情况
  • 中央处理器使用率
  • 网络使用情况
  • 响应时间

吞吐量

  • 吞吐量功能用于指定应用程序在给定时间内实现的工作量。
  • 吞吐量可以从一个应用程序更改为另一个应用程序。
  • 例如,在数据库应用程序中,它在单位时间内管理的多个命令中得到维持。相比之下,它在 Web 应用程序中单位时间内处理的用户请求数是统一的。

性能

  • 可扩展性测试的下一个功能是性能,它用于检查用户在Web服务器下的重复集体负载和请求以及系统的休息。
  • 换句话说,我们可以说应用程序的性能取决于其类型,因为它连续为多个用户进行了测试,可以在没有故障或备份条件的情况下提供支持。

内存使用情况

  • 在可伸缩性测试中,内存使用情况是用于维持应用程序执行任务所消耗的内存的资源利用率之一。
  • 通常,内存使用量是相对于单位字节计算的。

中央处理器使用率

  • 可伸缩性测试下的另一个资源利用率是 CPU 使用率,用于在执行应用程序代码命令时计算 CPU 使用率。
  • 通常,CPU 使用率是相对于兆赫兹单位计算的。

网络使用情况

  • 它用于承载被测应用程序消耗的带宽。
  • 网络使用情况是根据每秒接收的帧数、每秒接收的字节数、每秒接收和发送的段等来计算的。

响应时间

  • 这是应用程序响应和用户请求之间用完的时间。
  • 换句话说,我们可以说响应时间检查系统或应用程序对用户或其他应用程序请求的响应速度。
  • 它可以根据应用程序上的不同用户负载来增强或减少时间。
  • 通常,应用程序的响应时间会随着用户负载的增强而减少。

7. 如何执行可伸缩性测试

要执行可伸缩性测试,我们需要按照以下步骤操作:

第1步:评估

在可伸缩性测试的第一步中,我们将评估现有和可预测的未来软件可能增加的潜力。他们还检查可伸缩性测试的标准,并确定执行测试所需的软件工具。

第2步:测试执行

评估后,我们将准备测试计划、测试场景和测试用例,涵盖和分析软件在每次增量开发中的工作情况。

注意:在开发可伸缩性测试时,建议增强以下阶段的负载,以在基本级别到高级阶段测试系统。

 

此外,测试环境要求对每个不同的增强负载保持持久和固定。

第3步:测试开发

之后,我们将设置测试环境,配置实现可伸缩性测试所需的硬件,生成、验证可视化脚本和负载测试方案。

然后,以有组织的方式执行这些测试用例并分析结果。

第4步:日志记录和报告

一旦执行了测试开发,我们将分析记录的结果并构建必要的报告。

8. 可伸缩性测试的优点和缺点

可扩展性测试的优点

可伸缩性测试的优点如下:

  • 它有助于操作工具利用率跟踪。
  • 使用可伸缩性测试的最重要优势是,我们可以在网络使用情况、响应时间、网络使用情况、CPU 使用情况等方面找出下面的 Web 应用程序限制。
  • 如果我们执行可伸缩性测试,我们可以控制特定负载下的最终用户体验。因此,可以更早地采取有用的过程来解决问题并使应用程序更易于访问。
  • 及早发现问题可节省时间和金钱。
  • 它增强了软件产品对未来开发困难的保证。
  • 如果我们在测试阶段确定特定应用程序中多个性能问题的原因,可伸缩性测试将帮助我们节省大量金钱和时间。
  • 通常,它包括一组具有不同硬件和软件设置的负载测试,并保持测试环境不变。

可伸缩性测试的缺点

以下是可伸缩性测试的缺点:

  • 在可伸缩性测试期间可能会遗漏功能故障。
  • 有时,测试环境并不总是与生产环境完全相同。
  • 有时,测试运行良好,但在测试阶段失败,因为不正确的测试脚本和测试场景,浪费大量时间进行毫无意义的修改。
  • 如果我们使用高级工具进行可扩展性测试,并使用专属测试团队进行性能测试,则会导致项目预算过高。
  • 要执行可伸缩性测试,需要高水平的测试知识和技能。

9. 总结

在本教程中,我们了解到可伸缩性测试是非功能测试的一部分,当系统的大小或体积被修改以满足不断增长的需求时,它会测试系统的功能、网络或进程。

对于可伸缩性测试,测试策略与要测试的应用程序类型不同。它用于评估应用程序以停止缩放并确定其背后的原因。

它作为一个操作工具,支持软件应用程序,以满足用户不断增长的需求。

 

 


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

1元 10元 50元





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



696 次浏览
5次