负载测试和压力测试有什么区别?
负载测试和压力测试有什么区别?
维基百科关于负载测试(粗体为我的强调):
[...]负载测试通常用于了解系统在特定预期负载下的行为。这个负载可以是应用程序上执行特定数量交易的预期并发用户数,在设置的持续时间内。此测试将提供所有重要业务关键事务的响应时间[...]
以及关于压力测试:
所以,最重要的是:如果您正在测试正常、预期的负载(您知道系统将同时被多达100个用户使用),这就是{负载测试}。但当您想确定系统在极端负载(DoS、Slashdot效应)下的行为方式以及什么时候会瘫痪,这就是{压力测试}。了解系统容量的上限。这种测试是为了确定系统在极端负载方面的健壮性,并帮助应用程序管理员确定如果当前负载远高于预期最大值,系统是否能够足够地运行。
负载测试: 负载测试旨在通过不断增加系统的负载,直到达到阈值限制来测试系统。
示例: 例如,为了检查应用程序的电子邮件功能,可以同时向其洪水般地涌入1000个用户。现在,1000个用户可以以多种不同的方式触发电子邮件交易(读取、发送、删除、转发、回复)。如果我们每个用户每小时进行一次交易,那么每小时将有1000次交易。通过模拟每个用户10次交易,我们可以占用10000次交易/小时的电子邮件服务器进行负载测试。
压力测试: 在压力测试中,会进行各种任务以过载现有资源,试图使系统崩溃。
示例: 例如,像OpenOffice.org的Writer1.1.0这样的文字处理器用于开发信函、演示文稿、电子表格等等。我们进行压力测试的目的是通过超量的字符来测试它。
为了做到这一点,我们将反复粘贴一行数据,直到它达到处理大量文本的阈值限制。一旦字符大小达到65535个字符,它将拒绝接受更多数据。对Writer 1.1.0进行压力测试的结果表明,它在压力下不会崩溃,并且能够优雅地处理这种情况,这确保了应用程序即使在严格的压力条件下也能正常工作。
->将应用程序测试的最大用户数和输入定义为负载测试。而将应用程序测试的用户数和输入超过最大值时,被定义为压力测试。
->在负载测试中,我们根据用户数量来衡量系统性能。而在压力测试中,我们衡量系统的断点。
->负载测试是针对给定负载要求测试应用程序,可能包括以下任何一个标准:
.Total number of users.
.Response Time
.Through Put
以下是一些检查服务器/应用程序状态的参数。
-> 压力测试是测试应用程序是否能够承受意外负载。它包括:
.Vusers
.Think-Time
例子:
如果一个应用程序是为500个用户构建的,则在负载测试中,我们会检查最多500个用户,并且在压力测试中,我们会检查大于500个用户。
负载测试 = 在服务器上放置指定数量的负载,持续一定时间。例如100个同时用户持续10分钟。确保软件的稳定性。 压力测试 = 逐渐增加负载量,直到软件崩溃。例如10个同时用户,每2分钟增加一个用户,直到服务器崩溃。
举个比喻来说,这就像举重:你“最大化”你的重量,看看你能做多少次(压力测试),然后在常规锻炼中,你会选择你最大值的85%进行3组10次的训练(负载测试)。
负载测试:大量用户 压力测试:太多用户,太多数据,时间太少,空间太小
以最大负载测试软件。 超出软件负载的压力。或者确定软件的破坏点。