没有压力测试的通过/失败标准是否合理?


10

为了清楚起见,我编写的压力测试稳步增加了系统的负载,直到达到断裂点为止。从理论上讲,它是无限期运行的,但是由于系统资源是有限的,因此预计它将在某个时间点后失败。我对系统有预期的负载,但是在负载测试中对此进行了单独测试。此压力测试的目的是找出在需要实施扩展之前可以给系统施加多少负载。


我正在为系统编写压力测试,并且想知道具有通过/失败标准是否有意义。根据测试的性质,负载会稳定增加,直到达到断裂点(即失败)。我显然不知道这个突破点是什么,因此我对系统可以处理的负载没有任何期望(理论上无论如何)。

现在,我确实还有其他性能测试,可以在预期的负载等条件下测试系统,我可以轻松为其设置通过/失败标准,并且可以将这些标准用作压力测试的基础。换句话说,我可以为压力测试设置一个最低基准,但是我不确定这是否是正确的做法(这是“重复”我的其他测试吗?)。

我希望在性能测试方面有更多经验的人可以在这里为我提供帮助。压力测试时是否使用其他通过/失败标准(如果有)?


1
如果没有通过/失败,为什么要进行测试?
RemcoGerlich

@RemcoGerlich所以我可以知道系统的限制吗?这将有助于容量规划等
Alex

我认为容量规划是您确定系统需要能够处理的最小负载的地方(因此,您具有通过失败标准)。
RemcoGerlich

@RemcoGerlich也许我把我的条款搞混了,但是基本上我确实有一个预期的负载(需要单独测试),但是我正在使用这种压力测试来确定我需要在什么时候(即用户数量)扩展基础架构。这是一项单独的测试,因为对系统的更改可能会更改系统可以处理的负载,而这在负载测试中是不可见的。
Alex

@Alex,不,您还没有弄清楚您的条款。您正是在描述压力测试。您遇到的问题是,压力测试没有通过/失败的关系,因此无法使用“单元测试”工具轻松运行它。
David Arno

Answers:


10

在压力测试中,您的工作不是定义受试者应该承受的压力。它是衡量失败之前承受的压力。

您可以使用性能标准来定义什么是应力破坏。但是压力测试的结果不是通过/失败。它是“在100%利用率下90小时后,通风50%失败。”


一个问题。压力测试是否应该导致系统崩溃?换一种说法。崩溃是我们认为的“故障”吗?
Laiv

3
@laiv压力测试应引起压力。并演示对象如何应对这种压力。如果它导致系统崩溃,则应记录在案。压力测试应该会导致失败,并说明导致失败的原因。系统崩溃是一种故障,假定崩溃的系统无法满足其性能要求。他们通常这样做。
candied_orange

1

这取决于要求,如果您的要求指定应用程序性能的预期结果为X,而实际上您为Y,则为失败。
如果没有定义需求,则可能会给系统造成压力并收集边界数据,然后找出并记录这些限制。


0

您可以轻松地更新您的主要压力测试,以也支持QA通过/失败验证,例如“能够达到/承受X负载而不会破裂”。理想情况下,X是可配置的(例如,用于不同的发行分支)。

结果将是fail系统是否在负载达到X之前就中断并且pass是否没有中断。在“持续”方案中,一旦负载达到X值,您只需停止增加负载。

恕我直言,像这样的自动化测试在CI / CD的环境中非常有用,尤其是在生产部门。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.