墨菲定律:Anything that can go wrong will go wrong。

翻译过来就是:凡事只要有可能出错,那就一定会出错。在测试工作中,我们经常会遇到这样的场景。

举个例子:

在临近项目发布上线,项目依然还有严重等级比较高的bug需要修复,在开发人员的不懈努力下终于修复好了一个bug让我们去验证。

如果我们只是验证这个bug并不展开验证的话,开发人员与测试人员的“互相伤害”也就到此为止了,但是,出于职业意识,我们还是会去验证下该bug关联且有被影响风险的模块,结果就是,我们又发现新的bug。

关于墨菲定律,上面所说的例子不一定是完全成立的,但是在大多工作中,墨菲定律在测试工作得到了印证:当我们凭借经验预感到相关的风险时,如果我们没有及早暴露风险和问题,这些问题最后还是会发生。

还有一个场景,我们是不是也觉得熟悉?

在需求评审阶段,我们凭借着以往项目的测试经验预感到这个项目的某些功能点或者某些环节会有潜在问题。

如果这个时候我们没有及时思考和评估并暴露出风险,等到开发人员完成项目编码并提交测试时,我们会发现,之前预感到可能发生的bug果然出现了。