压力测试 (软件)

软件测试中的压力测试是在超过正常运作条件以外的条件下运作系统,以确认健壮性的方式,例如一个网站设计容量是100个人同时点击,压力测试就可能会采用120个同时点击的条件测试。压力测试对于关键任务软件格外的重要,但可以适用于各种的软件。

系统的压力测试一般较强调软件在高负载下的健壮性可用性异常处理,而不是其他在正常环境会会视为正确的行为。这类测试的目的是要确认系统在计算资源(例如记忆体或是碟盘存储)不足、异常的并发性或是受到阻断服务攻击等异常条件下,系统仍可运作,不会崩溃

例如,网页服务器会用外壳脚本网络机器人以及许多阻断服务攻击的工具来进行压力测试,观察网站在尖峰负载下的性能。这类的攻击一般会持续一个小时,或是找到服务器可以容许的资料量上限为止。

和负载测试的比较

压力测试和负载测试英语Load testing不同。

负载测试会检验整个环境以及数据库,量测其响应时间。在负载测试时,整个数据库会有很重的负载,但可能不会针对特定操作进行压力测试。

压力测试一般会着重在特定的操作,提高操作的频度,设法让系统中断。因此整个数据库的负载可能不重。

系统压力测试也称为压力测试,会让许多使用者同时上线,超过系统可以处理的程度,设法让系统在其最弱的一点崩溃。

压力测试的原因

以下是一些进行压力测试的原因:

  • 待测试的软件是关键任务软件,软件失效(例如崩溃)会带来灾难性的后果。
  • 若用传统的测试方式,没有足够的测试时间及资源测试软件发布后会用到的所有情境。
  • 就算有足够的时间及资源撰写测试案例,也丕可能事先确认软件会使用到的所有情形。这常常会出现在操作系统中间件,要配合使用的软件是之后才开发的,在测试产品时该软件还不存在。

相关条目

参考资料