DiffBlue推出了其自动化Java单元测试工具的免费社区版

2020-09-08 18:41:56

到目前为止,DiffBlue只通过付费-昂贵的订阅提供服务。然而,今天,该公司还推出了免费社区版DiffBlue Cover:Community Edition,付费版没有所有的企业功能,但仍然提供IntelliJ插件和与付费版相同的人工智能生成的单元测试。

该公司还计划很快推出一项新的低成本“个人”DiffBlue Cover计划,起步价为每月120美元。该计划还将提供支持和其他高级功能。

DiffBlue的核心是使用无监督学习来构建这些单元测试。DiffBlue首席执行官马修·洛格(Mathew Loge)大约一年前加入公司,他解释说:“我们所做的是独一无二的,因为在此之前已经有工具使用所谓的静态分析。”“他们看着程序,他们基本上理解了整个程序的路径,并试图从这条路径向后工作。那么,如果这条路走到了这一步,我们需要在程序中投入什么才能走到这一步呢?“。然而,这种方法有其局限性,DiffBlue的强化学习方法旨在绕过这一限制。

一旦流程运行完毕,DiffBlue就会为开发人员提供可读的测试。Loge强调,这一点很重要,因为如果测试失败,开发人员无法弄清楚发生了什么,那么开发人员几乎不可能修复问题。这是团队通过艰苦的方式学习到的,因为早期版本所以DiffBlue使用了一种非常积极的算法,该算法提供了很好的测试覆盖率(单元测试的关键度量),但使开发人员很难弄清楚发生了什么。

对于社区版,它不提供DiffBlue付费版本的命令行界面(CLI),开发人员可以像以前一样用IntelliJ编写代码,然后只需单击一个按钮,DiffBlue就可以为该代码编写测试。

他说:“社区版的设计是为方便使用而设计的。实际上,只需在IDE中单击一下即可获得测试。CLI版本更加复杂,它涵盖了更多的案例,并为团队和组织内的大型部署提供了解决方案。“Loge解释说。

该公司计划随着时间的推移增加对其他语言的支持,包括Python、JavaScript和C#,但正如Loge指出的那样,Java长期以来一直是商业世界的中流砥柱,团队认为这将是最好的开始语言。然而,正如Loge所指出的,这项技术。

DiffBlue实际上已经存在了一段时间了。该公司在2017年筹集了2200万美元的首轮融资,由高盛(Goldman Sachs)牵头,牛津科学创新(Oxford Sciences Innovation)和牛津技术与创新基金(Oxford Technology And Innovation Fund)参与。显然,您不会筹集那么多资金来只关注Java代码的单元测试。除了支持更多语言外,单元测试只是该公司在人工智能的帮助下实现更多编程过程自动化的总体目标的第一步。

“我们从测试开始,因为这是一个重要而紧迫的问题,特别是它对DevOps的影响,以及采用更快的软件周期,”Loge说。下一个明显的步骤是采取类似的方法来自动修复代码中的错误,特别是安全错误。

“我们的想法是,对于编写越来越多代码的机器来说,有这些垫脚石,”他说。“而且,坦率地说,这也是让开发人员习惯这一点的一种方式。因为开发者的接受度是成功的关键部分。“