美文网首页
覆盖率报告解读

覆盖率报告解读

作者: 爱读书的夏夏 | 来源:发表于2020-03-06 23:01 被阅读0次

jacoco覆盖率报告的解读

覆盖率级别

  1. 覆盖率首先是整个工程的目录的覆盖率。


    工程级
  2. 点进去以后是包级别的覆盖率


    包级别的覆盖率
  3. 点进去是类级别的覆盖率


    类级别覆盖率
  4. 点进去是该类中方法级别的覆盖率


    方法级别的覆盖率

覆盖率数值

覆盖率数值

圈覆盖为圈复杂度。

  1. Missed Instructions(指令覆盖):
    代码覆盖率,绿色表示运行了的,红色表示没有。 cov. 为覆盖率具体的值。
image.png

比如上图中:
第一行令覆盖率为0%,全部为红色,标识一行都没有被覆盖。
第三行覆盖率为27%,部分红色,部分绿色,且绿色的占比为27%。

  1. Missed Branches(分支覆盖):
    分支覆盖率,逻辑分支的覆盖率。

  2. Missed Cxty:
    cxty ----- > complexity 圈复杂度

  3. 行覆盖
    所有类文件均携带debug信息编译,则每行的覆盖率可计算。当至少一个指令被指定到源码行且已执行时,该源码行被认为已执行。
    **全部未覆盖:该行中指令均未执行,红色标志
    **部分覆盖:该行中部分指令执行,黄色标志
    **全覆盖:该行中所有指令已执行,绿色标志

  4. 方法覆盖
    每个非抽象方法至少包含一个指令。当至少一个指令被执行,该方法被认为已执行。由于Jacoco基于字节码级别的,构造函数和静态初始化方法也被当作方法计算。其中有些方法,可能无法直接对应到源码中,比如默认构造器或常量的初始化命令。

  1. 类覆盖
    当类中至少有一个方法已执行,则该类被认为已执行。Jacoco中认为构造函数和静态初始化方法也当作被执行过的方法。Java接口类型若包含静态初始化方法,这种接口也被认为是可执行的类。

是覆盖率的一个指标,用的不多,具体请参见
https://www.eclemma.org/jacoco/trunk/doc/counters.html

  1. Missed Lines && Missed Methods && Missed Classes:
    覆盖的行数和方法数以及类

总结:

  1. 指令复杂度和分支复杂度,不一定哪个高,哪个低。要具体情况,具体分析。


    指令复杂度和分支复杂度对比

指令覆盖比分支覆盖低的方法,该方法的可执行语句都在各种逻辑判断中,所以覆盖率较低。


指令覆盖比分支覆盖高的方法

指令覆盖比分支覆盖高的方法,该方法的前几行都是必然会执行的赋值语句,后面的几行都是条件语句,且判断逻辑很复杂,所以是黄色的,也就是部分覆盖了。

image.png
  1. 线上覆盖率的合理值应该是多少?
    首先,线上覆盖率的值为多少合理,需要根据应用的特性来进行评估。比如有的应用就是一个转发的逻辑,类似网关这样的应用,它的覆盖率很高,因为没有复杂的业务逻辑,所有的代码能跑到的可能性很高有的能达到80%。
    而有的工程,因为比较老旧,加上系统迁移,很多功能被迁移走,导致覆盖率比较低,有的低至30%。

  2. 覆盖率不仅可以在测试环境衡量测试的覆盖度(手工执行case,自动化执行case),还可以收集线上的覆盖率,对一些覆盖率低的工程,作为代码删减优化的参考和衡量标准。

https://www.jianshu.com/p/a955d274dc9b

相关文章

  • 覆盖率报告解读

    jacoco覆盖率报告的解读 覆盖率级别 覆盖率首先是整个工程的目录的覆盖率。工程级 点进去以后是包级别的覆盖率包...

  • iOS单元测试

    覆盖率报告 Xcode7开始,自带覆盖率 设置要点:-1)Scheme中开启Gather Coverage dat...

  • vue项目代码覆盖率报告生成

    目标:在本地代码运行时 通过点击触发代码覆盖率报告的生成 在代码覆盖率报告中显示自己的各个代码文件执行代码的百分比...

  • iOS单元测试-04-覆盖率上传sonarqube

    [TOC] 覆盖率报告 sonarqube需要的报告 随便选择一个项目,点击进去,选择配置->设置image 找到...

  • 学了DISC,就得学会解读DISC报告

    第六天做业:报告解读部分 报告解读(夏聪) 一、报告解读应该注意什么? 一个中心:保有自己,适应他人。 这是报告给...

  • 报告解读的逻辑

    报告解读缺的不是套路,而是走心。 报告解读的逻辑结构:明确问题、拆分问题、提出方案、汇报方案 报告解读的八大逻辑:...

  • 体检报告

    全面解读体检报告的核心价值全面解读体检报告, 大病早期可以预防(体检报告的解读是指导如何远离疾病,不是指导吃药和手...

  • 死党凡凡报告解读 打卡第12天

    本周进行密集的报告解读实战,从3份神秘报告再到死党报告解读,让我对报告的解读有了初步的锻炼,特别是按照自己的...

  • Android单元测试(三)

    本文介绍了如何利用JaCoCo生成单元测试及覆盖率报告并在Jenkins显示测试报告结果。 本文首发:http:/...

  • Android Jacoco覆盖率统计配置

    Android Jacoco 覆盖率统计Gradle配置,包括生成本地单元测试报告,仪器单元测试报告,合并两种测试...

网友评论

      本文标题:覆盖率报告解读

      本文链接:https://www.haomeiwen.com/subject/qkparhtx.html