[转]覆盖率测试工具(coverage tool)

标签: | 发表时间:2013-02-06 01:34 | 作者:zeo112140
出处:http://blog.csdn.net/zeo112140

覆盖率测试工具(coverage tool)
java:
Emma:优点:1 开源软件;2 支持ANT TASK;Emma 是开源的,同时它对应用程序执行速度的影响非常小。
缺点:1 ANT TASK的参数指定较弱,coverage参数需要追加配置文件。
EMMA是一个免费且开源的Java代码覆盖率测试工具,100%纯Java编写,不依赖与任何第三方库。和其他代码覆盖率测试工具不同,EMMA支持大型项目的团队开发,每个开发人员都可以从中受益。
EMMA通过对Class文件进行增强以测试覆盖率,它提供了Offline和Fly两种模式,在Fly模式下,EMMA不改动编译后的Class文件,仅仅在Class文件被ClassLoader装载时才进行增强。【AOP技术】
EMMA支持对类,方法,代码行和基本的分支语句的覆盖率测试,并提供了多种格式的报告,包括纯文本,HTML和XML,所有的报告都可以进行详细设置以获得定制报告。
使用EMMA时,不需要获得源代码就可进行覆盖率测试,此外,EMMA还支持对整个jar文件测试。
EMMA默认提供了对Ant的集成,通过扩展EMMA还可以提供对Maven和Eclipse的支持。

EclEmma:
EclEmma的出现弥补了 Emma 用户一个大的遗憾 ---- 缺乏图形界面以及对集成开发环境的支持。将 Eclipse 和 Emma 这两个在各自领域最为优秀的工具结合起来,这就是 EclEmma 为我们提供的。接下来,我们就要在后续章节中和读者朋友一起看看 EclEmma 为开发人员提供了什么。


Cobertura:
优点:1 开源软件;2 支持MARVEN
缺点:1 可定制参数太少,UTF-8编码文件,直接挂掉,从文件的输出上来看,还是以xml,html生成为主。
http://www.ibm.com/developerworks/cn/java/j-lo-eclemma/index.html 使用 EclEmma 进行覆盖测试
2007 年 5 月 10 日;级别: 初级 ;甘 志 ( ganzhi@cn.ibm.com), 软件工程师, IBM 中国软件开发中心实验室
覆盖测试是衡量测试质量的一个重要指标。在对一个软件产品进行了单元测试、组装测试、集成测试以及接受测试等繁多的测试之后,我们能不能就此对软件的质量产生一定的信心呢?这就需要我们对测试的质量进行考察。如果测试仅覆盖了代码的一小部分,那么不管我们写了多少测试用例,我们也不能相信软件质量是有保证的。相反,如果测试覆盖到了软件的绝大部分代码,我们就能对软件的质量有一个合理的信心。本文将介绍一个优秀的开源软件测试工具 EclEmma,它能够对由 Java 语言编写的程序进行覆盖测试,从而对程序运行的结果生成详尽的覆盖测试报告。

========================

linux+ c/c++ +gcc:

gcov/lcov:
http://ggcov.sourceforge.net

http://blog.csdn.net/livelylittlefish/article/details/6321861
http://blog.csdn.net/livelylittlefish/article/details/6321887

1. gcov是什么?

Gcov is GCC Coverage

是一个测试代码覆盖率的工具

是一个命令行方式的控制台程序

伴随GCC发布,配合GCC共同实现对C/C++文件的语句覆盖和分支覆盖测试;
与程序概要分析工具(profiling tool,例如gprof)一起工作,可以估计程序中哪一段代码最耗时;
注:程序概要分析工具是分析代码性能的工具。

 
2. gcov能做什么?

gcov可以统计

每一行代码的执行频率

实际上哪些代码确实被执行了

每一段代码(section code)的耗时(执行时间)
因此,gcov可以帮你优化代码,当然这个优化动作还是应该有开发者完成。


1. Lcov是什么?


是GCOV图形化的前端工具
是Linux Test Project维护的开放源代码工具,最初被设计用来支持Linux内核覆盖率的度量
基于Html输出,并生成一棵完整的HTML树
输出包括概述、覆盖率百分比、图表,能快速浏览覆盖率数据
支持大项目,提供三个级别的视图:目录视图、文件视图、源码视图

========================

Python代码覆盖工具coverage.py介绍( http://nedbatchelder.com/code/coverage/)

http://magustest.com/blog/whiteboxtesting/python-coverage-py/

========================
JavaScript:
JavaScript测试覆盖率检测工具JSCoverage


========================
PHP:
PHPUnit是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计)。
单元测试是几个现代敏捷开发方法的基础,使得PHPUnit成为许多大型PHP项目的关键工具。
这个工具也可以被Xdebug扩展用来生成代码覆盖率报告 ,并且可以与phing集成来自动测试,最后它还可以和Selenium整合来完成大型的自动化集成测试。

作者:zeo112140 发表于2013-2-6 9:34:12 原文链接
阅读:9 评论:0 查看评论

相关 [覆盖 测试 工具] 推荐:

[转]覆盖率测试工具(coverage tool)

- - 小鸥的博客
覆盖率测试工具(coverage tool). Emma:优点:1 开源软件;2 支持ANT TASK;Emma 是开源的,同时它对应用程序执行速度的影响非常小. 缺点:1 ANT TASK的参数指定较弱,coverage参数需要追加配置文件. EMMA是一个免费且开源的Java代码覆盖率测试工具,100%纯Java编写,不依赖与任何第三方库.

[转]使用 EclEmma 进行覆盖测试

- - 小鸥的博客
现在 IT 开发人员比以往任何时候都更加关注测试的重要性,没有经过良好测试的代码更容易出问题. 在极限编程中,测试驱动开发已经被证明是一种有效提高软件质量的方法. 在测试驱动的开发方式中,软件工程师在编写功能代码之前首先编写测试代码,这样能从最开始保证程序代码的正确性,并且能够在程序的每次演进时进行自动的回归测试.

Google开源ScriptCover,JavaScript代码覆盖率工具

- Tim - ITeye资讯频道
Google已经宣布ScriptCover将作为一个开源项目发布. ScriptCover是Google推出的一款JavaScript代码覆盖率分析工具,为Web页面提供实时、逐行的代码覆盖分析. Google表示,ScriptCover最终将应用在Chrome浏览器上成为它的一个扩展. ScriptCover的测试结果将显示在一个持续加载的页面上,在用户操作网站时它会自动更新.

【外刊IT评论】你真正需要的代码测试覆盖率是多少?

- Ryan - 外刊IT评论网
本文是从 How much code coverage do you really need. 我写这篇文章的起因是由于看了@unclebobmartin在微博上的一些看起来言之凿凿的话语. 给那些不认识Uncle Bob的人介绍一下——他是我们软件产业里最著名的一个专家,是《 Clean Code(代码整洁之道)》这本著作的作者,是敏捷宣言(Agile Manifesto)的签署人之一.

性能测试工具 CBenchmark

- lele - 开源中国社区最新软件
CBenchmark—-CharlesCui’s Benchmark 这是我实现的一款性能测试工具,之前在工作中常用LoadRunner之类的工具来完成性能测试,但受限于LR极其昂贵的Lisence以及难以定制的SDK,于是我用C/C++实现了这个工具,并借助Linux系统对线程和进程的良好调度,可以实现极高的并发压力.

压力测试工具Benchmark

- - 企业架构 - ITeye博客
已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Screenqueri.es:响应式设计测试工具

- - 我爱水煮鱼
当你创建一个响应式的布局的时候,在绝大部分流行的分辨率的设备上进行测试是非常重要的,这可以让你决定页面上的每块是否现实或者优化它们的显示方式. 今天给大家介绍的 Screenqueri.es 就是一个免费的基于 Web 的响应式设计的测试工具,它能够让你输入一个网址,然后选择移动或者平板设备,然后对你的网站在各个分辨率下进行测试.

MySQL TPCH测试工具简要手册

- - MySQL 中文网 -
tpch是TPC(Transaction Processing Performance Council)组织提供的工具包. 用于进行OLAP测试,以评估商业分析中决策支持系统(DSS)的性能. 它包含了一整套面向商业的ad-hoc查询和并发数据修改,强调测试的是数据库、平台和I/O性能,关注查询能力.

Cookiel劫持测试工具 – Cookie Injecting Tools

- - FreeBuf.COM
‍‍Cookie Injecting Tools 是一款简单的开源cookie利用工具,是Chrome浏览器上开发的一个扩展插件,能够灵活地进行SQL注入测试,编辑以及添加删除COOKIE,界面简洁,易于使用‍‍. 可以直接下载打包好的CRX文件,源码就包含其中,当然也可以直接下载源码运行‍‍. ‍‍‍‍ 有两种方式‍‍.

Android 自动化测试工具初探

- - IT瘾-geek
Android 自动化测试工具初探.    这段几乎都编写代码,没有新的心得体会.唯一由感想的是在测试上.由于策划的变动,接口的完善等因素,总在不停的修改功能,修改代码.由于项目中的代码都经过了好多少,又没有很好的架构规划.所以在修改或测试的时候难免会有遗漏的地方,这个时候就在想android是不是也应该有自动化测试工具来辅助测试.使得功能更完善点.本期的创新文档只能算是对自动化创新工具的一种简介..