耐力测试
耐力测试
在本节中,我们将详细探讨与称为耐力测试的特定测试技术相关的以下主题。
什么是耐力测试?
耐力测试的目的
耐力测试的属性
耐力测试过程
耐力测试示例
耐力测试的优缺点。
什么是耐力测试?
在软件测试中,我们有几种不同类型的测试,它们在分析任何软件或应用程序时都非常有效。
在这里,我们讨论另一种类型的软件测试,称为耐力测试。
耐力测试是在我们测试长期在特定负载条件下的系统性能。
耐久性测试是非功能性测试的重要组成部分之一。
通常,它也被称为浸泡测试和寿命测试。耐久性测试在性能运行周期的最后阶段进行。
注意: 浸泡测试用于测试应用程序在环境中的行为,长时间不支持。通常,浸泡测试是一种破坏性测试;随后,我们已经知道服务器或域不支持。
为了评估测试组件在特定负载和时间的可能复制情况下的响应,我们使用了耐久性测试。
简单来说,我们可以说Endurance 这个词用于定义某物的持久能力,进一步称为耐久性、能力或耐力。
测量内存消耗以修复潜在故障并确定整个耐力测试的性能质量。
为了增强软件应用程序的一致参数,我们可以记录耐力测试中的性能。
为了找出系统中的任何内存泄漏,耐力测试是有益的,它也有助于我们在更长的时间内测试系统的响应时间。
在耐力测试期间,测试与其他类型的测试(例如负载或压力测试)相比,根据给定的测试要求执行更长的时间,例如 15 小时、90 小时。
这使得耐力测试不同于负载测试,后者通常在几个小时内结束。
耐力测试的目标
执行耐久性测试的主要目的是确认应用程序的效率足以处理增加的负载,而不会出现响应时间故障。
执行耐久性测试的目的是测试内存泄漏。
通常通过使系统过载或减少特定系统资源并评估结果来执行。
耐久性测试的实施可确保系统响应时间在较长时间后保持不变或有所提高。
用于确定系统在持续使用情况下的表现。
为了完成未来的加载,我们需要了解有多少额外的资源(例如磁盘容量、处理器容量、内存使用量或网络带宽)必不可少。
它在最大时间限制内控制软件产品的健壮性和稳定性。
它专注于内存消耗。
在市场上发布任何产品之前,我们必须确保它有助于增强对软件或系统稳定性的信心。
耐力测试要测试什么?
在执行耐力测试的过程中,我们会测试以下几个方面:
测试内存泄漏
测试响应时间
测试系统各层之间的连接闭合
测试数据库连接成功关闭
测试内存泄漏
在实现中在耐久性测试中,进行检查以验证特定软件或应用程序中是否存在可能导致系统或操作系统故障的内存泄漏。
测试响应时间
我们还可以检查测试响应时间。并且应用程序或系统测试系统的响应时间,因为应用程序变得不那么可操作,作为系统无限使用的输出。
测试系统层之间的连接关闭
在耐久性测试实施过程中,如果系统各层之间的连接没有有效关闭,可能会导致系统的某些或每个模块停顿。
测试数据库连接关闭成功
如果在执行耐久性测试时数据库连接没有成功关闭,我们可能会以系统崩溃的方式输出。
示例耐力测试
让我们看一个耐力测试的例子,以便我们更好地理解特定主题。
在这里,我们将看到内存泄漏概念的例子,但我们首先会了解什么是内存泄漏?
内存泄漏: 这是计算机科学中最常见的问题。由于开发人员编写的易受攻击的编程代码而发布不再使用的对象是一种故障。
在耐久性测试中,测试工程师将通过提供一个固定的时间来执行系统测试任何内存泄漏的特定负载量。
处理内存泄漏问题在编程语言的使用中完全不同。
因此,我们将看到任何一个真实的例子银行。
示例:
假设发生了封锁,银行将连续 7-8 天无法工作。
在整个锁定期内,与其他标准工作日相比,网上银行活动将激增。
如果用户数量和操作数量激增,系统需要做好处理此类负载的准备。
耐力测试流程
耐力测试流程分为以下几个步骤:
搭建测试环境
制定测试计划
测试周期近似
风险分析
测试时间表
测试执行
测试周期结束
为了更好的理解,我们一一讨论:
第一步: 建立测试环境
耐力测试过程的第一步是创建或建立测试环境。这一步会发现执行耐力测试的软件、硬件、操作系统和数据库的必要性。
测试环境应在测试执行前准备好,并与实际现场适当分离
创建团队,执行耐力测试,移交组内的角色和职责。
Step2: 创建测试计划和测试场景
在完成耐力测试过程的第一步后,我们将进入下一步,创建测试计划和测试场景。
在这里,测试用例应该是设计、审查和执行应根据手动和自动化测试的必要性或两者的组合来准备。
应确定应用程序的断点,并确定将施加多少负载整个耐力测试中的应用。
第 3 步: 测试周期近似
完成 step1 和 step2 后,我们将进入下一步耐力测试,Test Cycle Approximation。
每个测试阶段的时间和测试次数需要的周期在测试周期近似步骤中进行评估。
它提供了完成测试阶段所需时间的近似值。应根据测试工程师的数量和测试周期数的必要性进行评估。
Step4: 风险分析
风险分析是最多的耐久性测试过程中的关键步骤。在这里,我们将根据风险因素对测试用例进行优先级排序。
以下是测试工程师在耐久性测试过程中最常面临的一些问题和风险。
是否有任何尚未交付的外部干扰?
是否还有其他尚未发现的小问题?
性能测试是否会随着时间的推移而继续可靠?
Step5: 测试日程
下一步耐力p过程中,我们将得出进一步过程的预算、可交付成果和时间表。
第 6 步: 测试执行
一旦确定了测试时间表,我们将进入下一步,即测试执行。这样,一旦环境准备好,测试用例就会实施,如果在这个阶段发现任何问题,也会记录下来。
开发人员将解决这些问题并进行重新测试
Step7: 测试周期结束
耐力测试的最后一步是测试周期结束。一旦测试周期满足测试过程的退出标准,它就会被认为是关闭的,并且会安排一份关于已识别问题及其最终状态的报告。
耐力测试的优势
耐久性测试的一些显着优势如下所述:
它有助于识别与内存泄漏相关的错误。
系统在执行更长时间后可能会面临与性能相关的问题。
耐久性测试还可以帮助我们发现这些问题并检查软件的稳健性。
在耐久性测试期间,可以轻松识别错误和故障,从而使开发团队和客户能够增强基础架构。
耐久性测试向开发团队和客户保证系统将在更长时间内有效实施,无需任何维护,特别是在长周末。
执行耐久性测试的基本好处是降低维护成本,如果在整个测试周期中未发现与性能相关的特定问题,维护成本可能会更高。
与其他非功能性测试类型(如性能测试)一样,耐久性测试也能提高客户满意度。
耐力测试的缺点
虽然耐力测试的执行有助于增强应用程序,但耐力测试仍然存在一些缺陷,我们将讨论这些缺陷下面:
这有点昂贵,因为它需要系统在测试执行期间无休止地运行,我们还将在其中使用合适的基础架构。
耐力测试是一个耗时的过程。
为了执行耐久性测试,需要适当的计划,尤其是在确定需要完成测试运行的小时数时。
必须将耐久性测试环境与其他测试环境区分开来,因为这可能会导致应用程序故障或数据丢失。
无法执行手动耐久性测试;因此,我们将使用自动化工具来运行测试。
测试团队应该是专家才能使用各种自动化工具。
概述
在上面关于耐力测试的文章中,我们详细讨论了耐力测试的过程、耐力测试的一个例子、一些基本的好处和执行耐力测试的缺点。
最后,我们可以说耐力测试是非功能测试,是负载测试的一个子类别 使用性能测试。
耐久性测试用于检查系统在持续使用下的性能。在检测内存泄漏等问题方面,耐力测试的执行必不可少。这些问题可能是系统故障的原因,导致关键数据丢失。
耐力测试使应用程序更加健壮,并准备好在持续的重负载下维持下去。我们应该避免手动执行耐久性测试,因为这是一个非常耗时的过程。这就是为什么它主要是自动化的。
一些最常用于 Endurance 测试的工具是 Apache JMeter、LoadUI、LoadRunner、WebLoad、IBM Rational Performance Tester strong> 等
耐力测试的时间取决于业务、项目和客户的要求。它可能会持续 10-15 小时或几天或一个月,有时甚至一年。
耐久性测试过程从建立隔离的测试环境、制定测试计划、估计测试周期持续时间、分析风险,准备测试计划,执行耐力测试,最后结束测试周期。