技术开发 频道

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

【IT168 技术文章】

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

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

  ● Javascrīpt 测试覆盖率工具

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

  ● Java测试覆盖率工具

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

  Coverlipse,一个Eclipse的Code 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 下支持VC、Borland C++、Gnu C++、Inter C++。提供的代码覆盖率是分支覆盖率而不是一般代码覆盖率,我个人认为分支覆盖率比代码覆盖率更好。Bullseye Coverage 可以从http://www.bullseye.com/上获取

  ● Ruby代码覆盖率工具

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

  ● 其他

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

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

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

0
相关文章