当没有进行 code review,一条用例通过测试仅仅是可能通过了。
大家都学过概率与统计相关的知识,我们现实生活中评估某天是否下雨用概率表示,概率通常用 P 表示,例如:
P(下雨)表示某一天下雨的概率;
实际我们测试过程中用例通过也可用概率表示:
P(pass)表示一条用例通过的概率;
P(fail)表示用例失败的概率。
其中,
P(pass)+P(fail)=100%
为什么说当没有进行 code review,一条用例通过测试仅仅是可能通过了?
- 因为用例通过并不表示代码中没有 bug 了,只是因为使用的测试数据集没有触发 bug,可以发现 P(pass) 不等于 100%。
- 即便进行了 code review,因为 code review 后依然存在部分没有被发现的 bug。由于人不是机器,存在粗心、代码理解能力有限,不可能保证项目零缺陷,只能保证 P(pass) 趋近于 100%。
- 明确第 2 点中不能保证项目零缺陷是指不能保证实际项目(至少数万行代码)零缺陷,但是普通的代码片段、小程序还是有可能达到 P(pass)=100%.