性能测试 vs 负载测试 vs 压力测试

Performance test vs Load test vs stress test

我正在测试由 REST api 构建的 Web 应用程序。我想模拟我的应用程序性能测试、负载测试和压力测试。现在我想知道性能测试、负载测试、压力测试之间有什么区别。

  • Performance Testing - 是一种测试技术,不能直接应用于您的 Web 应用程序。性能测试是非功能测试的一个子类型,而负载测试和压力测试又是性能测试的较小子集。

  • Load Testing - 当您基本上测试您的应用程序在 预期 负载下如何运行时,即您期望 500 个并发用户评估您的过程该负载下的应用程序将是 Load Testing

  • Stress Testing - 揭示应用边界和断点,发现瓶颈等。它允许回答以下问题:

    • 系统的最大容量是多少
    • 它可以处理多少用户提供合理的响应时间
    • 首先损坏的组件是什么
    • 负载恢复正常后系统是否恢复正常

有关更详细的说明,请参阅 Why ‘Normal’ Load Testing Isn’t Enough

性能测试:性能测试是评估软件质量、响应能力、稳定性和可扩展性的过程。在进行性能测试之前,您需要确定您的目标。稍后您需要根据这些目标检查您的软件的行为和执行情况。您进行性能测试的目的是找到并消除系统的性能瓶颈。因此,您可以检测到可能影响软件可用性的致命问题。此外,它可以防止您出现意外的利润损失或对您的商业声誉造成任何形式的损害。负载测试和压力测试是两种不同类型的性能测试。其他类型的性能测试是;容量测试、尖峰测试、耐久性测试和可扩展性测试。

负载测试 :负载测试是通过增加系统负载直到达到阈值来检查它可以承受的负载量。检查被测应用程序以查看它在使用该软件执行事务的并发用户的重负载下的行为。负载测试的目标是监控响应时间并确保您的系统可以处理重负载。

压力测试是通过超出其带宽容量进行测试来检查软件的稳定性。它通过将系统推到正常条件之外并将其置于极端负载下来检查系统的最大限制。通过压力测试,您可以了解当内存、CPU 等硬件资源不足时您的软件如何运行,并分析您的系统在返回正常状态时如何恢复。

压力测试:为黑色星期五、网络星期一等重大事件做好准备对于响应高需求和确保收入至关重要。因此,提前进行压力测试有利于了解系统的能力。这样您就可以提前解决瓶颈并为意外的流量增加做好准备。 JMeter 是最流行的 open-source 负载测试工具。

为了 运行 在更高负载下进行测试,您可以通过访问“https://loadium.com”

制作演示 运行