市面上的C++代码覆盖率工具大都收费,Coverage Validator也不例外。Coverage Validator应该少有人听过,我也是在stackoverflow里听别人介绍的。所以下载了试用一下。有兴趣的朋友可以去https://www.softwareverify.com/cpp/coverage/index.html了解一下更多东西,上面提供有30天试用版本。

之前试过CoverageMeter,使用起来也是蛮方便的,主要原理是替换了原有的编译器,在代码中进行插桩。因此,CoverageMeter的特点是需要重编被测试代码。这也是大部分覆盖率工具常用的方法。而Coverage Validator,不需要重编被测代码,只需要提供被测二进制程序的pdb文件,就能统计其代码覆盖率。它能同时统计行覆盖,分支覆盖,函数覆盖等。

Coverage Validator使用起来也非常简单,你只需要:

1. 使用Coverage Validator运行你的被测程序。

通过菜单"File"-"Start Application" ,制定需要运行的程序,然后又很多选项,如制定程序路径,命令行参数,环境变量等,后来还提供了几种启动程序的方式,比如:CreateProcess,这也是最常用的方式。

2. 在Coverage Validator中查看覆盖率结果。

结果查看也挺方便,代码窗口中用颜色标记了哪些行被覆盖,哪些行未覆盖。

你还可以:

设置过滤条件,只统计加载的某个模块的覆盖率数据。比如,你要测试的是一个DLL,你就可以设置过滤条件,只统计该DLL的代码覆盖率。你还可以设置过滤只统计某个类,某个函数的覆盖率数据。设置过滤的方法非常简单,我也不贴自己的图了。菜单:"Configure" - "Settings" - "Filters"

下面是引用的官方网站的界面截图(说实话,界面挺简陋的)

总结果页面:

详细结果页面:

由于该软件是商业软件,同时使用起来也非常简单,并配有详细的文档,因此,本文并不打算详细演示Coverage Validator如何工作的,本文的目的是让大家了解到有这么一个工具,或许可以给你带来新的思路,或许这个工具对你确实有用。

#1楼 2009-07-11 23:20 jjj
c# 下能用MSTest里的,c++ 就不行了,这个不错,俺回头认真看下。

#2楼[楼主] 2009-07-11 23:29 CoderZh 

@ jjj
我也是困惑于MS不提供C++的代码覆盖率的支持。

#3楼 2009-07-14 01:09 不理解

代码覆盖率工具
是做什么用呢?

#4楼[楼主] 2009-07-14 12:48 CoderZh 

@ 不理解
覆盖率是用来度量测试完整性的一个手段。软件的覆盖率总体上分为逻辑覆盖(代码覆盖和结构化覆盖)和功能覆盖。通过覆盖率数据,可以知道测试得是否充分,测试得弱点在哪些方面,进而可以指导我们设计能够增加覆盖率的测试用例。
代码覆盖率工具就是用来统计覆盖率的工具。

#5楼 2013-11-21 21:43 Alexia(minmin) 

Bullseye Coverage这款软件呢?

http://www.cnblogs.com/coderzh/archive/2009/07/11/1521706.html

C++代码覆盖率工具Coverage Validator的更多相关文章

  1. Python 代码覆盖率统计工具 coverage.py

    coverage.py是一个用来统计python程序代码覆盖率的工具.它使用起来非常简单,并且支持最终生成界面友好的html报告.在最新版本中,还提供了分支覆盖的功能. 官方网站: http://ne ...

  2. JAVA代码覆盖率工具JaCoCo-原理篇

    JAVA代码覆盖率工具JaCoCo-原理篇 1.2 JAVA覆盖率工具介绍 1.3.3 Apache Maven方式 1.3.4 Eclipse EclDmma Plugin方式 JAVA代码覆盖率工 ...

  3. Qt代码覆盖率code coverage(VS版)

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt代码覆盖率code coverage(VS版)     本文地址:http://techi ...

  4. python代码覆盖率统计-coverage

    coverage.py是一个用来统计python程序代码覆盖率的工具.它使用起来非常简单,并且支持最终生成界面友好的html报告.在最新版本中,还提供了分支覆盖的功能. 官方网站: http://ne ...

  5. C++开源代码覆盖率工具OpenCppCoverage介绍(Windows)

    关于代码覆盖率统计工具,Linux平台下,gcc内置支持gcov,通过编译时加参数选项,进行代码插桩,从而实现代码覆盖率.在Windows平台下,早在几年前,我还没找到特别好用又开源的覆盖率工具,所以 ...

  6. Python代码覆盖率分析工具Coverage

    简介 在测试中,为了度量产品质量,代码覆盖率被作为一种测试结果的评判依据,在Python代码中用来分析代码覆盖率的工具当属Coverage.代码覆盖率是由特定的测试套件覆盖被测源代码的程度来度量,Co ...

  7. Python 测试代码覆盖率统计工具 coverage.py

    安装 您可以通常的方式安装coverage.py.最简单的方法是使用pip: $ pip install coverage 要安装预发布版本,您需要指定--pre: $ pip install --p ...

  8. coverage python 代码覆盖率工具使用(django 使用)

    1. 安装包 pip install coverage 2.启动程序 coverage run -m pytest 3.获取html格式的报告文件 coverage html 4.创建配置文件 .co ...

  9. 单元测试-代码覆盖率工具 -- JaCoCo

    最近学习Mybatis的官方文档,看到了[项目文档]一节有很多内容没有见过,做个笔记,理解一下. 随着敏捷开发的流行,编写单元测试已经成为业界共识.但如何来衡量单元测试的质量呢?有些管理者片面追求单元 ...

随机推荐

  1. HTTP学习笔记4-请求与响应结构例子

    18,HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成.请求消息和响应消息都是由开始行,消息报头(可选的),空行(只有CRLF的行),消息正文(可选的)组成. 19,对于请求消息,开始行就 ...

  2. Visual Studio 2012 Ultimate 上安装 Python 开发插件 PTVS

    1.我的环境 操作系统:32位 Win7 旗舰版 Service Pack 1 VS版本:Microsoft Visual Studio Ultimate 2012 版本 11.0.50727.1 R ...

  3. linux命令chown修改文件所有权

      Changing User Ownership To apply appropriate permissions, the first thing to consider is ownership ...

  4. int? 类型数据

    在数据库操作中,会遇到在int的单元格恰好为NULL值的情况,这个时候我们可以直接判断是否为null然后进行赋值,有人就想那我刚好用一下:?表达式不就好了: ) ? ); 这时候编译器会报错,原因就是 ...

  5. 小学生之浅谈Struts2与struts1的运行机制

    Struts1工作原理图: 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(s ...

  6. Http 辅助类

    using System; using System.Drawing; using System.IO; using System.Net; using System.Net.Cache; using ...

  7. hdu 2201

    题意: 一共有n个人,m表示第m个人,然后问你第i个人不做到m号位置的概率,最后相乘.... 水题(注意下格式输出) AC代码: #include <iostream> using nam ...

  8. memcache和activemq使用连接,然后close

    memcache和activemq使用连接,然后close

  9. 3.RxJava详解

    一.RxJava 到底是什么 异步(取代AsyncTask/Handler/XXX/...?)   二.RxJava 好在哪   简洁(逻辑的简洁,.一步一走)   举例: 题目:将文件夹中的图片都取 ...

  10. ubuntu学习笔记--不断更新中

    1.rpm软件包相关: rpm软件包安装命令: rpm -ivh linuxqq-v1.0.2-beta1.i386.rpm rpm软件默认安装路径查询: rpm -ql *.rpm ubuntu如何 ...