在安全审计的背景下,“负载测试”和“压力测试”有什么区别?

信息安全 术语 ccsp
2021-09-05 03:02:13

我正在为 CCSP 考试做准备,并试图围绕安全背景下的“负载测试”和“压力测试”的概念展开思考。

认为这里的区别在于:

  • 负载测试是对容量的衡量,纯粹而简单。它专注于“A”(可用性),而不关心失败状态的安全影响。

  • 压力测试的重点是系统系统在达到负载饱和点后的行为。例如,软件/服务是否以惊人的方式失败?它是否揭示了敏感错误(软件版本、后端基础设施详细信息等)?

我在正确的轨道上吗?

2个回答

有几种不同的定义,但我使用的定义是负载测试将应用程序提升到其预期的最大负载水平以确保其执行。压力测试故意使应用程序超过其正常参数,以查看它如何容忍大于预期的负载。它有时被称为酷刑测试,看看应用程序是如何崩溃的。

从安全角度来看,您应该始终关心安全隐患。无论应用程序承受多少负载,它都应始终遵循其安全参数,或者如果它将失败,则应确保安全。

负载测试和压力测试是两种不同类型的测试,但属于性能测试的范围。

在这里,尽管这两个术语听起来非常相似,但它们的含义却截然不同。

在负载测试中,您测试以查看应用程序中的特定页面是否在设定的时间内加载,即使负载很高。负载在这个意义上是指用户的数量。当用户数量增加时,某些应用程序的加载时间可能会很长。负载测试可以识别此问题,并帮助开发人员使用更轻量级的 API 或使用更少的代码来完成他们希望在该特定页面中执行的相同任务。一些服务级别协议要求应用程序中的特定页面在特定时间内打开。在这种情况下,负载测试也有帮助。

在压力测试中,您不是使用已知数量的用户,而是逐步增加用户并查看应用程序在什么时候开始失败。当在wireshark上捕获时,失败点的压力测试输出可能会显示内部服务器错误代码。但在这里,您也会让开发人员处理更优化的代码,或者可能使用其他安全机制来保护应用程序。