先聊聊,为什么要有测试覆盖率?
设想以下场景:
1,自动化组,长期做接口黑盒测试
2,业务组,针对单项目做系统测试
这种情况,会导致对所测系统的覆盖度未知。而综合覆盖率收集系统,尤其适合没有白盒测试的团队。
再聊聊,测试覆盖率的价值:反馈与发现。
反馈:测试水平如何。case设计水平,测试人员执行效率等。
发现:不足或风险并予以提高。风险前置。性能优化。
eg. 比如常见的,单元测试覆盖率作为CI准入标准,系统测试覆盖率作为CD门禁等等。
那么,是不是覆盖率越高就代表代码质量越好?
并不是。
注意:高代码覆盖率并不能保证高产品质量,但低代码覆盖率一定说明大部分逻辑没有被自动化测到。后者通常会增加问题遗留到线上的风险,当引起注意。所以落地时要平衡指标。
最后聊聊,覆盖率的终极目标:提高测试覆盖率。
尤其是自动化场景的覆盖率,并一以贯之。
所以基于此,业界我们看到,做的比较有价值的落地形态是增量覆盖率的度量(goc diff)。
引申:精准测试。
-
精准测试其背后的价值逻辑比较清晰,就是建立业务到代码的双向反馈,用于提升测试行为的精准高效。即本次改动涉及的范围,业务测试需要覆盖的工作量。目前有某公司在落地精准测试平台,但是产出并不明显。