首页 文章

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

提问于
浏览
5

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

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

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

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

2 回答

  • 5

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

    另见What is a reasonable code coverage % for unit tests (and why)?

  • 5

    我想听听别人的经历 .

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

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

相关问题