性能与负载测试
在软件工程的背景下,性能测试是为了找出系统的瓶颈。性能测试还可以用来验证可靠性、资源使用率和可伸缩性等属性,并为系统的性能建立基线。负载测试是性能测试的子类型之一。它用于测量系统在指定工作负载下的行为。负载测试与基于客户机-服务器模型的多用户系统更为相关,但其他软件系统(如字处理器或图形编辑器)也可以进行负载测试。
性能测试
如上所述,性能测试的目的是确定和消除软件系统的瓶颈,并建立一个对进一步测试有用的性能基线。性能测试包括负载测试、耐久性测试(浸泡测试)、峰值测试、配置测试和隔离测试等测试。性能测试需要对系统进行一组精心控制的测量。为了从性能测试中获得最佳结果,应该有良好的计划,并且应该在测试过程可以顺利进行的稳定系统上进行。在进行性能测试时,必须清楚地了解您实际想要衡量的系统性能。例如,如果您正在测试一个web应用程序的性能,您可能需要知道可接受的响应时间和系统可以处理的并发用户数。记住这两个方面,您可以通过不断增加用户数量来启动测试,并确定瓶颈。
负载测试
如前所述,负载测试是性能测试的一部分,通常通过使用自动化工具增加软件系统的负载来执行。负载测试有时称为容量测试。一些负载测试的例子是测试具有大量用户邮箱的邮件服务器,或者测试使用字处理器编辑非常大的文档。负载测试使用预定义的负载级别执行,通常使用系统在不崩溃的情况下可以处理的最大负载。通常,负载测试的目的是暴露在普通测试中未暴露的错误,如内存管理问题、内存泄漏、缓冲区溢出等。负载测试也是确保系统满足性能测试期间建立的性能基线的一种手段。
性能测试和负载测试之间的差异