测试过的产品,就没有bug基本是不可能事件。
出现的bug很多时候都是测试用例没有覆盖到的地方。
测试用例难于做到覆盖所有场景,测试工程师常常是在投入时间与覆盖率之间取一个均衡。
对于测试完成后出现的bug,需要对出现的bug进行思考,反馈调节,优化导致bug的环节。
举个真实的例子:
AB是同一组股票,原持仓是股票A,今天选中的B股票,把A股票买出,B股票排名第8,把B股票买入,需求是B股票排名要前6才能买入的。
在用例设计的时候,top6买入,非top6不买入都是有测试到的,设计的测试用例是该组还没有持仓的买入。
出bug的是该组存在股票,换仓的买入。
基于黑盒测试理论,这是同一等价类,所以用例设计似乎也合理。
在黑盒用例设计中,每一个点的可能性都是有覆盖到的。
例如:
从这角度凭覆盖度还是可以的,但是软件世界太混沌,意想不到的情况还是会有的。
一
完善黑盒测试理论
若把排名看作一步,用例xmind主要是列举每一步的所有可能性。
还若把换仓看作一个事务,那么用例设计考虑这个事务的所有可能性。
测试可以基于事务继续测试,然后通过事务的可能性进入覆盖点的可能性,这样的点与事务结合的测试更加立体。
二
加入review代码,查看主要部分代码的实现逻辑,也是能在一定程度上发现问题。
是用例没覆盖到,那就需要从设计用例的角度上作优化,补上新的考虑角度,完善用例设计理论。
以前用例设计思想是:预测值,就考虑预测值可能发生的情况、avg_120就考虑avg_120的可能情况,虽然考虑了点的所有可能性,但是流程的所有可能性却未完全覆盖
所以应该在用例设计中加入从流程可能性倒推到条件的思考分析
质量保证:更好的测试工具,更规范的测试流程,更全面的用例设计,更规范的理论指导。