最近又想开一个系列的文章,覆盖率相关的。
本篇将作为一个概况,从整体上介绍增量代码覆盖率的作用、使用场景、使用方式等。
后续会从以下几方面去逐一说明:
- Jacoco基本概念
- 如何改造Jacoco
- 使用增量覆盖率
- 增量覆盖率使用中遇到的坑
增量覆盖率
做增量覆盖率,工具上选用了开源的Jacoco,由于本身Jacoco只支持全量覆盖率,所以我们需要根据需求对Jacoco进行二次开发。
增量覆盖率,顾名思义,就是本次测试在新版本代码增量中的覆盖程度。一个服务功能越积越多,代码量也越来越大,每次测试,我们只需要统计新增的代码是否覆盖全面,就可以一定程度上避免漏测,而去统计全量覆盖率意义不大。
- 第一步,做新老代码的diff,新代码就是本次的功能代码,老代码呢,我们一般选用线上正在使用的代码版本。
- 第二步,改造Jacoco,使其能够过滤出那些新增代码的覆盖率,不是新增的可以丢弃。
- 第三步,拿到Jacoco的增量代码覆盖率报告,对其进行测试分析,覆盖率为什么会不准呢?怎么会这么低?
第四步,使用增量覆盖率工具为测试服务。
上面几步我们在后面的文章中一一讲解。下面我们还是看一下增量覆盖率使用的场景吧。
增量覆盖率使用场景
在具体剖析之前,我们来看看怎样能把增量覆盖率用起来吧。
- RD自测阶段
我们可以将增量代码覆盖率加入到测试准入标准之中,保证RD的自测水平。 - QA测试阶段
我们也可以将QA测试阶段的增量代码覆盖率加入到上线标准之中,一定程度上避免漏测。
image.png喜欢我的文章点点关注,加加赞哦~
网友评论