测试覆盖率通常被用来衡量测试的充分性和完整性,从广义的角度来讲,测试覆盖率主要分
为两大类,一类是面向项目的需求覆盖率,另一类是更偏向技术的代码覆盖率。
需求覆盖率
需求覆盖率是指测试对需求的覆盖程度,通常的做法是将每一条分解后的软件需求和对应的
测试建立一对多的映射关系,最终目标是保证测试可以覆盖每个需求,以保证软件产品的质
量。
代码覆盖率
简单来说,代码覆盖率是指,至少被执行了一次的条目数占整个条目数的百分比。
代码覆盖率的价值
现在很多项目都在单元测试以及集成测试阶段统计代码覆盖率,但是我想说的是,统计代码
覆盖率仅仅是手段,你必须透过现象看到事物的本质,才能从根本上保证软件整体的质量。
统计代码覆盖率的根本目的是找出潜在的遗漏测试用例,并有针对性的进行补充,同时还可
以识别出代码中那些由于需求变更等原因造成的不可达的废弃代码。
JaCoCo 的代码覆盖率报告
代码覆盖率统计方法
实现代码覆盖率的统计,最基本的方法就是注入(Instrumentation)。简单地说,注入
就是在被测代码中自动插入用于覆盖率统计的探针(Probe)代码,并保证插入的探针代码
不会给原代码带来任何影响。