您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 性能测试 > 正文

性能测试中的可伸缩性测试

发表于:2019-11-26 作者:vsky 来源:高阶软件测试

可伸缩性测试是对承受高负载的网站进行的一种测试。这里的“负载”是指使用该网站的用户数量。进行可伸缩性测试,以检查开发的网站是否具有足够的能力来处理较大的负载。

市场上有几种工具可以执行可伸缩性测试,例如Apache JMeter,HP Performance Tester(LoadRunner),WebLoad,NeoLoad,LoadView等。可伸缩性测试有助于分析系统,计算机,网络,程序或应用程序的速度,有效性,可靠性,可伸缩性和互操作性。

可伸缩性测试的另一个最重要的用途是,如果负载增加,则检查服务器是否崩溃。另外,此测试不仅确定网站的性能,而且还有助于发现数据库中您需要存储新客户的所有数据的问题。

负载条件分为三种:低负载,中负载和重负载。有时很难分析在2年,3年或5年左右的时间范围内增加或减少的用户数量。因此,执行可伸缩性测试以确定各种负载条件(低,中和重负载)。此外,它还分析了网站在各种加载条件下加载所需的时间。该测试不仅确定网站的性能,而且还有助于发现数据库中您需要存储新客户的所有数据的问题。

可伸缩性测试中执行了哪些任务?

网站的响应时间。

每秒点击,请求和交易。

各种负载(用户数量)-低或中等负载。

Web服务器(每秒请求或响应)。

数据发送和接收。

由于负载增加,数据库中数据存储的影响。

内存(CPU)使用情况。

加载网页或网站需要花费时间。

负载测试过程:

1)为负载测试创建测试环境。

2)确定负载测试方案,例如:

准备数据。

预测许多测试该应用程序的用户。

针对各种速度条件进行测试。例如,使用LAN或专线连接或使用拨号连接的用户。

在Chrome,Firefox,Safari,Internet Explorer,Opera等应用程序支持的各种浏览器(具有不同版本)中进行测试。

所有服务器(如Web,应用程序和数据库服务器)的配置。

3)执行测试方案并分析结果。

4)重新测试。

可伸缩性测试中使用的工具:

1)JMeter

JMeter是一个用于测试应用程序性能的开源工具。它用于测试强度并分析各种负载条件下的整体性能。它是可移植的,并且支持100%基于Java的产品和应用程序。它在协议级别工作。

它看起来像浏览器,但是不会执行浏览器支持的所有操作。它是一个Java桌面应用程序。它支持不同的应用程序或协议,例如HTTP,HTTPS,FTP,SOAP,TCP,Java对象,LDAP等。它可以在接受Java虚拟机的环境/工作站上运行,例如:Windows,Linux,Mac等。借助JMeter,我们可以生成测试计划。

2)LoadRunner

这是性能测试行业中使用最广泛的工具之一。它是由Hewlett Packard Enterprise开发的。它用于测试应用程序的性能行为。将负载应用于测试中的应用程序时,负载运行程序将分析性能并提供所需的结果。LoadRunner通过记录脚本来生成脚本。

LoadRunner的体系结构包括以下组件:

负载生成器-生成负载

VuGen(虚拟用户生成器)-它有助于生成脚本。

Controller-It控制并指定要使用的脚本以及持续时间。

代理进程-建立或控制Controller和Load Generator实例之间的连接。

分析组装来自各种负载生成器的日志。

3) WebLoad

它是一个负载测试工具。它是由Red View软件开发的。借助Web加载工具,我们可以衡量移动或Web应用程序的性能,可伸缩性和负载。借助此工具,我们可以测量重负载并生成分析报告。它还可以突出显示应用程序中的弱点。Web加载的主要优点是与其他工具相比,其维护成本非常低。而且,它可以分析任何浏览器或移动设备的性能测试结果。

4) NeoLoad

它由Neotys开发并用Java编写。提供英语和法语两种语言。它可以测量负载和压力。该工具的优势在于,它可以积累数百万个用户,以便确定负载下的应用程序性能。它支持多种类型的身份验证,可以记录HTTPS请求并进行回放。它支持混合和本机移动应用程序。

可伸缩性测试中的挑战:

有时,使用可伸缩性测试无法识别功能错误。

理想情况下,可伸缩性测试应在实际场景或生产环境中执行。但是由于预算限制,客户可能无法提供环境。

需要对系统有充分的了解才能分析结果报告。

有时很难猜测要施加的压力。

可伸缩性测试的不同阶段/生命周期:

可扩展性测试主要分为四个阶段或阶段-

1)结构验证阶段 –在此阶段,主要验证应用程序中的事务。换句话说,验证了应用程序结构的可伸缩性。

2)基准测试阶段 –在这一阶段,开发了一组度量标准或建立了基准,以测试应用程序的可伸缩性。

3)回归测试阶段 –如果有任何更改请求到达,则执行这种类型的测试。该应用程序应足够稳定,并且即使进行任何更改也应给出相同的响应。该应用程序应该稳定并且可伸缩性不会降低。

4)精细控制阶段 -集成了应用程序的所有单元,以测试软件的完整可伸缩性和工作负载能力。

为什么可伸缩性测试很重要?

1. 消费者满意度:

在市场上发布任何产品或应用程序之前,可伸缩性测试很重要,因为随着该应用程序市场的增长,用户数量将会增加。客户满意度被视为头等大事。该应用程序应该能够随时间处理各种负载情况(用户数量)。它不应该崩溃。加载时间应该更少,用户应该能够在非常短的时间内(几秒钟之内)访问应用程序。因此,为了保持性能,应在处理产品或应用程序之前适当地进行可伸缩性和性能测试。客户。

2. 提高产品耐用性和寿命:

在软件开发生命周期中,维护阶段至关重要。为了提供高质量的产品,必须正确执行可伸缩性和性能测试。该报告可以保证良好的耐久性和使用寿命。

总结:

为了向客户交付优质产品,测试其性能和可伸缩性非常重要。因此,在产品完全开发之后进行可伸缩性测试,以确保并保证最佳性能和耐用性。如今,几乎所有公司,无论是基于产品还是基于服务的公司,都在扩展其服务并扩展可伸缩性测试。它是软件开发和测试的最重要阶段之一。

市场上有大量具有成本效益的开源工具,这使得测试过程非常容易。客户极力推荐和要求可伸缩性和性能测试。随着用户数量的增加或减少。因此,该网站应能够处理所有类型的负载(重,中,低),并应具有足够的响应能力(加载时间应非常短且恒定)。为了确保网站是否能够处理负载并测量规模,强烈建议进行这种测试。