测试架构师修炼之道:从测试工程师到测试架构师(第2版)
上QQ阅读APP看书,第一时间看更新

4.5.2 故障植入法

故障植入法是把系统放在有问题的环境中进行测试的一种可靠性测试方法,主要用于测试质量属性中的容错性和成熟性。

异常值输入法是直接输入一个系统认为是错误的、不支持的值;而故障植入法是把系统放在有问题的环境中,但是输入的是正常值。

一般来说,我们习惯把系统放在一个非常“干净”的环境中去测试,让系统运行在比较好的环境中。但是把系统部署在用户的实际环境中时,无法保证条件总是如实验室般理想,这就会引发问题。

几个用户实际环境故障引发产品系统故障的小故事

故事1:用户实际组网环境中存在环路,导致系统部署到用户实际环境后出现问题。

故事2:用户实际环境存在很多CRC错误报文,导致系统部署到用户实际环境后出现问题。

故事3:系统部署在用户实际环境一段时间后,存储空间不足,引发系统出现问题。

这就需要我们分析系统用户实际环境中可能存在的问题和故障,考虑系统应该如何应对和处理。表4-12从资源、环境冲突和网络几个方面对故障植入点进行了分析。

表4-12 故障植入点分析

我们以前面提到的“用户发送电子邮件”为例。对这个测试项来说网络是一个常见的故障植入点,我们可以这样考虑:

·在断网的情况下,用户发送邮件会失败,系统应该有发送失败的提示,并在网络恢复的情况下自动重新发送邮件。

·在网络时断时续、存在丢包的情况下,如果丢包不严重(比如小于15%),则系统能够通过重传的方式保证邮件发送成功;如果丢包严重(比如大于15%),则用户发送邮件会失败,系统应该有发送失败的提示,并在网络恢复的情况下自动重新发送邮件。