最近又想開(kāi)一個(gè)系列的文章,覆蓋率相關(guān)的。
本篇將作為一個(gè)概況,從整體上介紹增量代碼覆蓋率的作用、使用場(chǎng)景、使用方式等。
后續(xù)會(huì)從以下幾方面去逐一說(shuō)明:
- Jacoco基本概念
- 如何改造Jacoco
- 使用增量覆蓋率
- 增量覆蓋率使用中遇到的坑
增量覆蓋率
做增量覆蓋率,工具上選用了開(kāi)源的Jacoco,由于本身Jacoco只支持全量覆蓋率,所以我們需要根據(jù)需求對(duì)Jacoco進(jìn)行二次開(kāi)發(fā)。
增量覆蓋率,顧名思義,就是本次測(cè)試在新版本代碼增量中的覆蓋程度。一個(gè)服務(wù)功能越積越多,代碼量也越來(lái)越大,每次測(cè)試,我們只需要統(tǒng)計(jì)新增的代碼是否覆蓋全面,就可以一定程度上避免漏測(cè),而去統(tǒng)計(jì)全量覆蓋率意義不大。
- 第一步,做新老代碼的diff,新代碼就是本次的功能代碼,老代碼呢,我們一般選用線上正在使用的代碼版本。
- 第二步,改造Jacoco,使其能夠過(guò)濾出那些新增代碼的覆蓋率,不是新增的可以丟棄。
- 第三步,拿到Jacoco的增量代碼覆蓋率報(bào)告,對(duì)其進(jìn)行測(cè)試分析,覆蓋率為什么會(huì)不準(zhǔn)呢?怎么會(huì)這么低?
第四步,使用增量覆蓋率工具為測(cè)試服務(wù)。
上面幾步我們?cè)诤竺娴奈恼轮幸灰恢v解。下面我們還是看一下增量覆蓋率使用的場(chǎng)景吧。
增量覆蓋率使用場(chǎng)景
在具體剖析之前,我們來(lái)看看怎樣能把增量覆蓋率用起來(lái)吧。
- RD自測(cè)階段
我們可以將增量代碼覆蓋率加入到測(cè)試準(zhǔn)入標(biāo)準(zhǔn)之中,保證RD的自測(cè)水平。 - QA測(cè)試階段
我們也可以將QA測(cè)試階段的增量代碼覆蓋率加入到上線標(biāo)準(zhǔn)之中,一定程度上避免漏測(cè)。
喜歡我的文章點(diǎn)點(diǎn)關(guān)注,加加贊哦~

image.png