可扩展性测试


可扩展性测试

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

我们还了解了它的需求、可扩展性测试的目的、可扩展性测试的类型、可扩展性测试的先决条件、可扩展性测试的各种特性、如何执行它、优缺点

可扩展性测试介绍

另一种类型的性能测试是可扩展性测试,其中谈到下的非功能性测试的软件测试。

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

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

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

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

可扩展性测试的目标

以下是可扩展性测试的关键目的:

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

为什么我们需要进行可扩展性测试?

需要执行可扩展性测试,因为它确保软件或应用程序的均匀运行,同时完成最终用户的要求而不会出现任何问题。

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

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

可扩展性测试的类型

可扩展性测试分为两部分,具体如下:

  • 向上可扩展性测试
  • 向下扩展性测试

可扩展性测试

向上可扩展性测试

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

向下扩展性测试

另一种可扩展性测试是向下可扩展性测试。当负载测试未通过时,我们将使用向下可扩展性测试,然后在特定时间间隔内开始减少用户数量,直到达到目标。

因此,我们可以通过执行向下可扩展性测试来快速识别瓶颈(bug)。

可扩展性测试的前提

对于可扩展性测试,可以根据被测试应用程序的类型更改测试策略

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

可扩展性测试

  • 操作系统

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

  • 负载分配能力

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

  • 记忆

在执行可扩展性测试之前,我们必须分析虚拟用户和负载测试主机需要多少内存。

  • 处理器

在执行可扩展性测试之前,我们需要分析负载测试主和虚拟用户需要什么类型的CPU。

可扩展性测试的特点

下面列出了可扩展性测试的一些重要组成部分;让我们一一看看:

  • 吞吐量
  • 多用户的性能测量
  • 内存使用情况
  • CPU使用率
  • 网络使用
  • 响应时间

可扩展性测试

吞吐量

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

表现

  • 可扩展性测试的下一个特性是性能,用于检查用户在webserver系统的 repose下重复的集体负载和请求。
  • 换句话说,我们可以说应用程序的性能取决于它的类型,因为它是为多个用户连续测试的,它可以在没有故障或备份的情况下支持。

内存使用情况

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

CPU使用率

  • 可扩展性测试中的另一个资源利用率CPU 使用率,用于在执行应用程序代码命令时计算 CPU 利用率。
  • 通常,CPU 使用率是根据单位 Megahertz计算的。

网络使用

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

响应时间

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

如何执行可扩展性测试

要执行可扩展性测试,我们需要遵循以下步骤:

可扩展性测试

Step1:评估

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

Step2:测试执行

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

注意:在开发可扩展性测试时,建议增加后续阶段的负载,以测试系统从基础到高级阶段。

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

Step3:测试开发

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

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

Step 4:记录和报告

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

可扩展性测试的优缺点

以下是可扩展性测试的优点和缺点。

可扩展性测试的好处

可扩展性测试的优点如下:

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

可扩展性测试的缺点

以下是可扩展性测试的缺点:

  • 在可扩展性测试期间可能会遗漏功能故障。
  • 有时,测试环境并不总是与生产环境完全相似。
  • 有时,由于测试脚本和测试场景不正确,测试工作正常但在测试阶段失败,这浪费了大量时间进行无意义的修改。
  • 如果我们使用高级工具进行可扩展性测试,并使用独家测试团队进行性能测试,则会导致项目预算超支。
  • 要执行可扩展性测试,需要高水平的测试知识和技能。

概述

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

对于可扩展性测试,测试策略因被测试的应用程序类型而异。它用于评估应用程序以停止扩展并确定其背后的原因。

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