cobertura代码测试覆盖率使用案例

1 . 概念

Cobertura 是一款优秀的开源测试覆盖率统计工具,它与单元测试代码结合,标记并分析在测试包运行时执行了哪些代码和没有执行哪些代码以及所经过的条件分支,来测量测试覆盖率。除了找出未测试到的代码并发现 bug 外,Cobertura 还可以通过标记无用的、执行不到的代码来优化代码,最终生成一份美观详尽的 HTML 覆盖率检测报告。

2 . Maven集成Cobertura

2.1 pom.xml配置

<!-- 测试覆盖率插件 -->
              <plugin>
                   <groupId>org.codehaus.mojo</groupId>
                   <artifactId>cobertura-maven-plugin</artifactId>
                   <configuration>
                       <formats>
                            <format>html</format>
                            <format>xml</format>
                       </formats>
                   </configuration>
              </plugin>

2.2 运行

在工程根目录运行

mvn cobertura:cobertura

输出结果:

project_base$\target\site\cobertura\index.html

3 . 统计指标

代码覆盖率 = (被测代码 / 代码总数)* 100%。

3.1行覆盖

LineCoverage

它又被称作语句覆盖或基本块覆盖。这是一种较为常用且具有代表性的指标,度量的是被测代码中每个可执行语句是否被执行到。

3.2 条件覆盖

BranchCoverage

它度量的是当代码中存在分支时,是否能覆盖进入分支和不进入分支这两种情况。这要求开发人员编写多个测试用例以分别满足进入分支与不进入分支这两种情况。

3.3 路径覆盖

3.4 复杂度

complexity

时间: 2024-10-08 10:31:37

cobertura代码测试覆盖率使用案例的相关文章

多环境多需求并行下的代码测试覆盖率统计工具实现

马蜂窝技术原创内容,更多干货请关注公众号:mfwtech 测试覆盖率常被用来衡量测试的充分性和完整性,也是测试有效性的一个度量.「敏捷开发」的大潮之下,如何在快速迭代的同时保证对被测代码的覆盖度和产品质量,是一个非常有挑战性的话题. 在马蜂窝大交通.酒店等交易相关业务中,项目的开发和测试实践同样遵循敏捷的原则,迭代周期短.速度快.因此,如何依据测试覆盖率数据帮助我们有效判断项目质量.了解测试状态.提升迭代效率,是我们一直很重视的工作. Part.1 测试覆盖率统计中的挑战 对于功能测试而言,通常

Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率

测试 目前主流的就bdd和tdd,自己查一下差异 推荐 mocha和tape 另外Jasmine也挺有名,angularjs用它,不过挺麻烦的,还有一个选择是qunit,最初是为jquery测试写的,在nodejs里用还是觉得怪怪的. 如果想简单可以tap,它和tape很像,下文会有详细说明 mocha mocha是tj写的 https://github.com/mochajs/mocha var assert = require("assert") describe('truth',

代码测试覆盖率

Java单元测试(Junit+Mock+代码覆盖率) 单元测试是编写测试代码,用来检测特定的.明确的.细颗粒的功能.单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的. 单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复.改进或重构之后的正确性. 一般来说,单元测试任务包括 接口功能测试:用来保证接口功能的正确性. 局部数据结构测试(不常用):用来保证接口中的数据结构是正确的 比如变量有无初始值 变量是否溢出 边界条件测试 变量没有赋值(即为NULL) 变量是数值(或

spring && Cobertura && maven &&junit 单元测试以及测试覆盖率

1. 目的: junit 单元测试,Cobertura   测试覆盖率报告 项目目录结构 2. maven 配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mave

Java测试覆盖率工具----Cobertura,EclEmma

Cobertura 是一个与Junit集成的代码覆盖率测量工具 它是免费.开源的 它可以与Ant和Maven集成,也可以通过命令行调用 可以生成HTML或XML格式的报告 可以按照不同的标准对HTML结果进行排序 为每个类.包以及整个项目计算所覆盖的代码行与代码分支的百分比例 Eclipse插件地址: http://ecobertura.johoop.de/update/ (requires Eclipse 3.5+) 使用Ant来执行Cobertura 操作步骤: 1.添加核心依赖jar包--

怎么实现在jenkens页面配置sonar,以及如何利用cobertura插件实现sonar页面显示测试覆盖率

最近我在工作中遇到需要给项目中每个模块配置Sonarqube,来看看测试用例覆盖的情况.在这个过程中遇到了一些问题,也查了很多资料.现在记录一下具体应该怎么配置. 先展示一下实现的效果: 图一 It will show: 图二 现在来看看具体配置: 要enable Sonarqube, 需在 job --> configure --> Post-build Actions 配置Branch 和 JDK 信息: 图三 配置好了以后,SonarQube 可以在页面上显示出来了,点击进去,效果图:[

测试覆盖率工具:EclEmma

测试覆盖率工具:EclEmma 2016-08-26 目录 1 测试覆盖率实现技术2 EclEmma介绍3 EclEmma测试覆盖率指标4 EclEmma安装5 示例项目介绍  5.1 创建项目  5.2 用Coverage as TestNG Suite跑用例  5.3 跑后结果  5.4 导出HTML报告   5.5 导入导出合并覆盖率Session  5.6 测试引用的jar包的覆盖率 1 测试覆盖率实现技术 返回 Instrumentation:代码注入,在产品代码的关键位置插入统计代码

Cobertura代码覆盖率测试

优化代码结构,减少冗余代码: 提高测试质量,提升整体软件质量: 提高测试人员测试分析能力,提高测试设计质量: Cobertura 是一种开源测试工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码以及哪些代码没有执行,来测量测试覆盖率.除了找出未测试到的代码并发现 BUG 外,Cobertura 还可以通过标记无用的.执行不到的代码来进行代码优化,还可以提供 API 实际操作的内部信息.

测试覆盖率插件cobertura-maven-plugin

maven的测试覆盖率插件集成,首先修改工程的pom.xml文件,添加cobertura-maven-plugin插件,如下: 1.环境准备 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <project>     ...     <reporting>         <plugins>             <plugin>                 <groupId>org.codehaus.mojo</gr