负载测试和压力测试有什么区别?
负载测试和压力测试有什么区别?
Answers:
维基百科上的负载测试(粗体是我的):
通常进行负载测试以了解系统在特定预期负载下的行为。此负载可以是应用程序上在设置的持续时间内执行特定数量的事务的预期并发用户数。该测试将给出所有重要业务关键交易的响应时间。[...]
以及压力测试:
了解系统内容量的上限。进行这种测试是为了确定系统在极端负载下的健壮性,并可以帮助应用程序管理员确定如果当前负载远高于预期的最大值,则系统是否能够充分发挥作用。
因此,最重要的是:如果您正在测试正常的预期负载(您知道一次最多将有100个用户使用该系统),那么这就是负载测试。但是,当您要确定系统在极端负载(DoS,Slashdot效应)下的行为以及何时崩溃时,这就是压力测试。
术语“压力测试”和“负载测试”通常由软件测试工程师互换使用,但是它们实际上是完全不同的。
压力测试
在压力测试中,我们试图通过淹没其资源或从中夺走资源来破坏被测系统(在这种情况下,有时称为负面测试)。这种疯狂行为的主要目的是确保系统出现故障并正常恢复-这种质量称为可恢复性。 或压力测试是使您的被测程序/系统(SUT)减少资源,然后通过运行标准功能测试来检查SUT行为的过程。这样做的目的是暴露正常情况下不会出现的问题,例如,多线程程序在正常情况下可能会正常运行,但在CPU可用性降低的情况下,时序问题将有所不同,SUT将会崩溃。在压力测试中减少的最常见的系统资源类型是CPU,内部存储器和外部磁盘空间。执行压力测试时,通常会调用分别减少这三个资源EatCPU,EatMem和EatDisk的工具。
另一方面,负载测试
在进行负载测试的情况下,负载测试是使您的SUT承受重负载的过程,通常是模拟多个用户(使用负载运行程序),其中“用户”可以指人工用户或虚拟/编程用户。负载测试的最常见示例涉及使基于Web或基于网络的应用程序同时受到成千上万用户的点击。通常,这是通过模拟用户的程序来完成的。负载测试有两个主要目的:确定SUT的性能特征,以及确定SUT是否正常“中断”。
对于网站,您将使用负载测试来确定系统可以处理多少用户并仍具有足够的性能,并确定在极端负载下会发生什么—该网站是否会生成“太忙”消息,从而导致用户,还是Web服务器会崩溃?
负载测试: 负载测试旨在通过不断稳定地增加系统上的负载直到达到阈值限制的时间来测试系统。
示例 例如,要检查应用程序的电子邮件功能,可能一次充斥1000个用户。现在,有1000位用户可以通过多种方式触发电子邮件交易(读取,发送,删除,转发,回复)。如果我们每小时每位用户进行一次交易,那么每小时将是1000次交易。通过模拟10个事务/用户,我们可以通过占用10000个事务/小时来对电子邮件服务器进行负载测试。
压力测试: 在压力测试下,为了使系统崩溃,将执行各种活动来使现有资源超负荷而增加工作。
示例: 作为示例,像OpenOffice.org的Writer1.1.0这样的文字处理程序被用于开发信件,演示文稿,电子表格等。
为此,我们将重复粘贴一行数据,直到达到处理大量文本的阈值限制。一旦字符大小达到65,535个字符,它就会简单地拒绝接受更多数据。在Writer 1.1.0上进行压力测试的结果是,它不会在压力下崩溃,并且可以很好地处理这种情况,从而确保即使在严格的压力条件下,应用程序也可以正常工作。
->以最大的用户和输入数量测试应用程序被定义为负载测试。在测试应用程序时,用户和输入的数量超过最大数量被定义为压力测试。
->在负载测试中,我们根据用户数量来衡量系统性能。在压力测试中,我们测量系统的断点。
->负载测试是针对给定的负载需求测试应用程序,其中可能包括以下任何条件:
.Total number of users.
.Response Time
.Through Put
一些参数来检查服务器/应用程序的状态。
->当压力测试正在测试应用程序的意外负载时。这包括
.Vusers
.Think-Time
例:
如果一个应用程序是为500个用户构建的,那么对于负载测试,我们最多可以检查500个用户,对于压力测试,我们最多可以检查500个用户。
负载测试:-负载测试旨在通过不断稳定地增加系统上的负载直到达到阈值限制的时间来测试系统。
压力测试:-在压力测试下,为了使系统崩溃,人们进行了各种活动来使现有资源超负荷并增加工作量。
基本区别如下
负载测试:大量用户 压力测试:用户太多,数据太多,时间太少,空间太小