写点什么

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

  • 2007-10-29
  • 本文字数:1532 字

    阅读完需:约 5 分钟

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

2007-10-29 10:291503
用户头像

发布了 47 篇内容, 共 13.1 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

Elasticsearch入门,这一篇就够了

知南茶温暖

Spark Shuffle 内部机制(三)

hanke

大数据 spark 开源 数据

带你快速了解Flutter的发展和应用

anyRTC开发者

flutter 音视频 WebRTC 跨平台 sdk

2019年度CMMI V2.0性能报告

IPD产品研发管理

产品 项目管理 性能 质量 CMMI

Windows下JMeter分布式压测环境搭建

行者AI

Jmeter

python与c++区别之print

沈阳

容器 & 服务:Docker应用的Jenkins构建

程序员架构进阶

Docker 容器 七日更 28天写作 2月春节不断更

华云·云场景应用详解|安超DCM给数据中心“做主”

华云数据

数据驱动业务增长的底层逻辑2.0

小飞象@木木自由

产品 数据分析 运营 业务增长

浅谈Python中遇到extend和append,该怎么区别使用

莫陌默

Python 列表 函数

windows10+python3.8.0(anaconda)+MeCab安装总结

lauqasim

Python Mecab 日文分词

以AI之名 | 给千万级合同管理安上“AI”,华为商务经理工作量大解放!

华为云开发者联盟

人工智能 华为 合同 商务 合同管理

c语言简介

Geek_f510ff

c C语言

BFF (Backend for frontend)避坑指南

码猿外

架构 微服务 BFF

话题讨论 | 如何看待公司发开工红包?

happlyfox

话题讨论 28天写作 2月春节不断更 话题王者 红包

cobra-强大的CLI应用程序库

happlyfox

GitHub cli 28天写作 2月春节不断更 Go 语言

我与声网Agora

june

Python入门-位运算

123568

Python 入门 位运算

设计模式之代理模式

Geek_7cf491

Java 设计模式 代理模式

华为云PB级数据库GaussDB(for Redis)解析第二期:Redis消息队列Stream的应用探讨

华为云开发者联盟

数据库

程序员成长第十五篇:编码的注意事项

石云升

程序员 28天写作 2月春节不断更

新病毒兼容M1芯片,已经感染3万台Mac

Geek_b0cff7

CPU高速缓存与极性代码设计

华为云开发者联盟

缓存 数据 cpu 存储

Mybatis association关联查询

フェイト ゼロ

基于matlab的控制系统与仿真3-根轨迹、bode图、Nyquist图

AXYZdong

matlab 2月春节不断更

日记 2021年2月24日(周三)

Changing Lin

2月春节不断更

修改OpenCV一行代码,提升14%图像匹配效果

Smile

机器学习 OpenCV Python Turtle 图像处理

kafka consumer group

Eric

可能是Java Stream的最佳实践(一)

ES_her0

28天写作

几个小实践带你快速上手MindSpore

华为云开发者联盟

华为 AI mindspore 智慧终端 端边云

效率工具分享-Quicker

十天、

效率 效率工具 工具 工具软件

Atlassian的Pete Moore阐述Clover 2的新特性_Java_Scott Delap_InfoQ精选文章