五、精准化测试第三式:度量和分析闭环
1、如何衡量测试精准度:初步想法用代码覆盖率来体现
代码覆盖率:用来衡量代码被覆盖程度的一种度量方式
-
- 语句覆盖:度量被测代码中每个可执行语句是否执行到了
- 判定覆盖:度量程序中每一个判定的分支(分支真、假)是否都被执行到了
- 条件覆盖:度量判定中每个子表达式结果(每个子表达式真、假)是否被测试到了
- 判定/条件覆盖:度量每个判定分支的结果,每个子表达式的结果是否被执行到了
- 路径覆盖:度量程序中每条路径是否被覆盖到了
2、精准测试的过程--分析闭环
-
- 测试分析:通过差异化的测试分析得到测试范围集合
- 测试执行:手工执行用例
- 代码覆盖率统计:工具自动收集(全量代码覆盖不推荐,推荐差异化代码覆盖,又名增量代码覆盖)
- 覆盖率结果分析:需人工分析
- 反馈调整:根据分析的结果,对于应覆盖没覆盖的代码,需补充用例;对于无需覆盖的代码,记录下来,为下次测试分析提供参考
3、代码覆盖率工具原理
采集器原理
-
- 建立调试会话
- 处理调试事件
- 设置采集桩
- 断点命中,记录覆盖信息
- 上报覆盖信息