Atlassian的Pete Moore阐述Clover 2的新特性

Atlassian在今年前些时候并购了Cengqu并 发布了Clover 2。Clover是一个Java代码覆盖工具。

Clover 2这个版本有以下特征:

  • 测试结果与代码覆盖率的充分集成
  • 每个测试都有代码覆盖率报告
  • 覆盖云图显示测试热点
  • 彩色的HTML格式的报告,可以进行方法缩放,等等
  • 对每个方法都有覆盖分析
  • 复杂性分析
  • 简化的Ant任务
  • 集成的历史报告
  • 聚集的包分析
  • 可配置报告栏目,栏目格式与栏目阀值
  • 提高了运行时记录覆盖率的性能
  • 新增了运行时配置选项用来控制记录覆盖率
  • 全新的Eclipse plugin

Clover 2针对IntelliJ, Netbeans和其他IDE的更新plugin即将发布。InfoQ与Atlassian的Pete Moore讨论了Clover 2以及最近的并购。第一个问题是为什么Cenqua与Atlassian合作多年后同意被并购 :

Cenqua是一个dot com咨询公司的私生子。它的核心目标不是盈利,而是让咨询客户满意和减少工作时间。基本上是Brendan, Matt, Conor和我决定使用一些在公司业务蓬勃发展期间完善过的内部工具来进行运营……开发人员的确可以成为一起工作的有趣的顾客,对吧?

经过飘忽的四年之后,我们有了四个产品,数以千计的顾客和少量职员。我们尽力的维持公司,但是最初激励公司的生活方式的因素已经变得衰弱了。Atlassian始终是激情洋溢的,我们喜欢他们的东西,与他们合并就像过桥一样自然,这样做是有意义的。

接下来InfoQ询问了Cenqua作为Atlassian的一部分后发生了哪些变化:

开会,很多令人精疲力尽的会。但是严肃的来说,我们迅速的壮大了我们的团队,有了专门的支持资源,慢慢的提高了我们的速度。总之,我们开始实现某些我们已经期待已久的特征。

然后话题转移到Atlassian如何保持Clover的激动人心的特性。Moore解释说Clover不仅仅是覆盖工具,而且增加了许多其他Clover的克隆产品所没有的重要的价值。他提到的特征中有新的Quick Winds和项目风险覆盖云图。Quick Wins覆盖云图显示了可以快速提升你的整个项目的测试覆盖率的重点类,你可以把精力重点放到测试这些类上。 项目风险覆盖云图能够高亮包含了最复杂且未经测试的代码的类,这些类往往是项目中风险最高的部分。InfoQ随后和Moore讨论了Atlassian的顾客使用Clover 2的一些有趣的方式。下面是其中一些回答:

  • 预构——在开始重构之前,使用Clover 2 的报告找出哪些测试会受到重构的影响,这些测试的质量,洞察预计的变化并帮助评估重构。
  • 使用覆盖云图从遗留代码的基础上构建一套测试。从云图中挑选bug最多,最红的类来写测试,然后重新生成覆盖云图并重复这一过程。

有相当多的人说他们喜欢有鲜艳色彩的,交叉引用的可以导航的HTML版本的代码覆盖报告。覆盖注解仅仅是锦上添花而已。

最后Moore谈了Clover 2的下一步打算是什么:

首先是一定要发布它!然后我们有了一些打算,例如:
  • 作为持续集成测试优化(从Bamboo开始)的使能者
  • 明确的找出使得测试失败的那寥寥几行代码
  • 为Intellij开发一个Clover 2 的plugin
  • 用我们加入复杂性指标的类似方法来合并其他指标。(比如识别出findbugs中有坏气味的代码的可怜的覆盖率,会对测试有所帮助)
  • 用Clove来为Crucible代码审核增加自动分析功能
  • 其他有趣的覆盖率检查,不仅仅是当覆盖率低于例如a%的时候才亮红灯。还可以在对新代码的覆盖不符合原则的时候或者代码改变降低了覆盖率的时候亮红灯。

我们不断的提出有趣的想法,谢谢Atlassian使得我们现在有时间来实现这些想法。

查看英文原文: Atlassian's Pete Moore Discusses The New Features of Clover 2  译者简介曹云飞,西安交通大学计算机软件硕士。现就职于 Ethos ,热衷于新技术的钻研,软件架构与敏捷开发,目前从事Home Control方面的工作。参与InfoQ中文站内容建设,请邮件至 china-editorial[at]infoq.com。

你可能感兴趣的:(Atlassian的Pete Moore阐述Clover 2的新特性)