Aaron的测试生活小说

半两五钱,笃志向前
  首页  :: 新随笔  :: 联系 :: 管理

测试覆盖率之四——测试覆盖率工具汇总

Posted on 2009-02-09 22:36  Aaron Wu  阅读(752)  评论(0编辑  收藏  举报

      原文发表于2008-12-13 22:04:22 

在上一篇文章我提到的是关于测试覆盖率100%有关的话题,算是“跟风”谈论了最近关于测试覆盖率最流行的100%问题吧。关于上篇文章的详细内容,参见测试覆盖率之三——测试覆盖率100%相关的话题 

在上一篇文章中,和大家约定下一篇介绍关于测试覆盖率工具相关的东西,可是这两天一直出差,无暇顾及,希望关注我的朋友不要介意~ _ ~ 废话不说了,直接切入正题。由于本人对于测试覆盖率工具的使用仅限于.NET相关的,所以对于其他语言相关的测试覆盖率工具没有经验,因此也少了发言权,这片文章就只能算作对于各种工具的一种简单的介绍罢了,主要内容都来自于google百度,笔者做简单的整理之后发表出来,希望对大家有所帮助。

 

》》》Javascrīpt测试覆盖率工具

JSCoverage是一个用于度量Javascrīpt程序的代码覆盖率的工具。能显示哪些行被执行过了,哪些行尚未执行,这些信息对于测试覆盖率的分析和测试质量的衡量都很有用。JSCoverage通过度量Web页面使用的Javascrīpt代码,收集被Web浏览器执行的Javascrīpt代码信息来达到测试覆盖率统计的功能。JSCoverage支持IE6IE7Firefox2Firefox3OperaSafari等流行的浏览器、支持Windows平台和Linux平台。JSCoverage是开源软件,官方网站:http://siliconforks.com/jscoverage/

 

》》》Java测试覆盖率工具

EMMA,开源工具,支持Java 1.2或更高版本的JVM,不依赖于任何第三方类库。EMMA支持mavenant,报表格式简单。官方网站 http://emma.sourceforge.net/

Coverlipse,一个EclipseCode coverage插件。

Cobertura 是一种开源工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码和没有执行哪些代码,来测量测试覆盖率。除了找出未测试到的代码并发现 bug 外,Cobertura 还可以通过标记无用的、执行不到的代码来优化代码,还可以提供 API 实际操作的内部信息。

Clover

NoUnit

 

 

》》》.NET测试覆盖率工具

Clover.NET http://www.cenqua.com/clover.net/

Visual Studio的代码覆盖率统计工具

NCover官方网站:http://ncover.org/

PartCover

 

》》》C/C++测试覆盖率工具

Bullseye Coverage Bullseye 公司提供的一款C/C++代码覆盖率测试工具除了支持各种Unix 下的编译器之外,在Windows 下支持VCBorland C++Gnu C++Inter C++。提供的代码覆盖率是分支覆盖率而不是一般代码覆盖率,我个人认为分支覆盖率比代码覆盖率更好。Bullseye Coverage 可以从http://www.bullseye.com/上获取

 

》》》Ruby代码覆盖率工具

rcov是一个用于诊断Ruby代码覆盖率的工具,它最主要的用途就是用于确定单元测试是否覆盖到了所有代码,rcov使用一个经过优化的C运行时,因此性能相当惊人,同时它还提供多种格式的输出

 

》》》其他

AutomatedQA公司的AQTimeAQtime运行在windows平台下,它支持.net应用和非.net应用,但不支持JAVA应用。 AQtime除了包含代码覆盖率监测以外,还包括了性能监视等功能。AQTime能够收集服务端C#VB.net代码的覆盖率,但是不能收集客户端scrīpt脚本的覆盖率。

DevPartner StudioWeb scrīpt Coverage工具。该工具主要是收集Web客户端scrīpt脚本覆盖率的。 它使用起来也很简单,只要启动此工具,然后在浏览器中输入网址,收集工作就开始了。在形成的测试报告中清楚地反映了每个函数的实行情况,给出了覆盖率数据,同时对于执行到的脚本和未执行到的脚本用不同的颜色表示,十分明了。该工具唯一的缺陷就是不能收集服务端脚本的覆盖率,同时存在中文字符无法正确识别的问题。

 

关于测试覆盖率工具,有很多内容,上面提到的只是我平时收集到的一些知识,很大一部分并没有实际验证,因此对于可能出现的纰漏和错误,还望读者原谅。关于测试覆盖率工具,笔者很有兴趣继续学习使用,并会在后期的学习中总结并发表在该系列文章中。在本系列的下一篇文章(测试覆盖率之五——提高测试覆盖率)中,笔者将继续探讨有关提高测试覆盖率的问题。

 

对于笔者及文章的任何问题,可以联系unique.wuchaodong@hotmail.com,或直接留言。