测试工具之覆盖率测试工具(coverage tool)
白羽 2018-06-28 来源 :网络 阅读 6332 评论 0

摘要:工欲善其事必先利其器,一个好的测试工具能让起到事半功倍的效果,优秀工具来帮助开发者更方便的,实现某些想法,下面这几个工具给我们的工作也带来了很多便利,推荐给追求美好事物的你。


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生成为主。

  //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:

//ggcov.sourceforge.net

//blog.csdn.net/livelylittlefish/article/details/6321861

//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介绍(//nedbatchelder.com/code/coverage/)

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

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

  JavaScript:

  JavaScript测试覆盖率检测工具JSCoverage

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

  PHP:

  PHPUnit是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计)。

  单元测试是几个现代敏捷开发方法的基础,使得PHPUnit成为许多大型PHP项目的关键工具。

  这个工具也可以被Xdebug扩展用来生成代码覆盖率报告 ,并且可以与phing集成来自动测试,最后它还可以和Selenium整合来完成大型的自动化集成测试。


 本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!



本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 5 不喜欢 | 0
看完这篇文章有何感觉?已经有5人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程