每次新版本要出货时, 常常被询问是否
测试结束了? 质量是否有信心? 你依据的标准是甚么?
我想很多人都会觉得很难回答这个问题. 基本上, 可以根据以下五种状况, 来决定是否测试可以结束.
1. 老板说了算
基本上, 老板是无敌的. 他说甚么时候就是甚么时候. 我想大家不会, 也不敢不同意. XD
2. 团队有共识要停止
如果团队讨论完后, 决定要何时停止测试, 这样也是可以结束
3. 当代价太高
如果要找到下一个 bug 的代价, 会超过这个 bug 所带来的损失, 那确实没有必要再测下去, 是可以即刻结束
4. 如果 bug 被发现的比例下降到预期的目标
有时候你会观察每一段时间内找到多少 bug, 如果你发现它一直在下降, 并且低于你所定的目标, 这时候你就可以出货. 像是低于5 个 bugs/per day, 并且这些 bugs 都不是严重的 bugs
如何你会度量你的测试个案, 已经涵盖了多少东西, 便可以知道你的测试范围够不够. 像是 90 % line coverage, 75% branch coverage 等等. 当达到设定的目标, 自然你也可以说测试可以结束了.
目前看起来只有后面两个, 比较有数据来参考, 前面三个比较是自由心证. 事实上, 这些都是心安的说法. 因为只要给妳时间和资源, 其实都还是可以找到 bugs的.
因为, < 1 bugs/per day 或是 100% line/branch coverage, 其实都没有保证甚么. 最多只是账面上给你信心. 出货后被抓到问题, QA 还是等着被骂没有做好. 不公平, 但是是事实. XD