代码覆盖率/分支覆盖率建议值

Mat*_*ies 5 testing code-coverage cobertura

我正在使用Cobertura计算具有JUnit测试用例的Java项目的代码/分支覆盖率.我知道100%的覆盖率并不能说明代码有多好,但目前只有6%.分行覆盖率为1%.我的直觉说分支覆盖可能更重要,因为该项目的决策性质.由于这是我目前唯一的大项目,我没有适当的代码/分支覆盖目标值的经验.

我相信分支覆盖在这个应用程序中非常重要,所以我将所需的值设置为100%.我已将代码覆盖率阈值定义为80%.

这些值的代码复杂性又是什么因素?

我可能过分强调数字,但我想听听其他人的经验.我知道这些值取决于项目的性质,但是我可以参考一些一般的指针/文章/个人经验吗?

das*_*ght 5

我想听听其他人的经历.

我写了一个包含数千行代码的库,以及一个比库本身更长的覆盖套件.在99.98%,我覆盖了除了一个之外的每一行:该方法来自遗留项目,我不知道如何构建一个可以达到该行的测试用例.当我的图书馆投入生产时,第一个错误报告是由单个未经测试的行引起的.

我从那个项目中带回家的教训是,你不知道如何击中的线是最危险的.如果您的项目是决策密集型的,那么获得100%的覆盖率符合您的最佳利益.


Ili*_*lia 5

当我测量用于功能测试的手动测试产生的分支覆盖率时,我得到了~65%

另请参阅单元测试的合理代码覆盖率%(以及为什么)?