32

在另一个问题中,我问突变测试在实践中是否有用。由于我没有得到任何让我满意的答案,我想自己检查一下当前的工具。所以我需要一个关于当前现有突变测试框架的概述。其中哪个最有用,为什么?

  • 我用 Java 编程,所以我更喜欢 Java 工具,但我会冒险看看不同语言的有趣框架。
  • 我想集成到一个自动构建过程中,所以我更喜欢可以通过命令行执行的工具。
4

11 回答 11

17

还有PIT可以通过 maven 插件或命令行界面连接到您的构建中。

它提供的报告比其他具有组合突变和行覆盖的可用工具要好得多。它的运行速度也比 Jester 等基于源代码的 Java 工具快得多,大约是 Jumble 的两倍。

与 Jumble 和 Javalanche 不同,它还适用于所有主要的模拟框架(Mockito、JMock、EasyMock、PowerMock 和 JMockit)。

(披露我是作者)。

于 2011-03-01T22:30:21.390 回答
16

我知道这是一个旧线程,但它仍然是问题的答案。我正在与一些朋友一起开发一个名为 NinjaTurtles 的开源 .NET 突变测试框架,您可以在 CodePlexNuget 上找到该框架。主要项目网站在这里

于 2012-04-23T14:45:16.800 回答
10

我只知道两个框架,但它们都适用于 Java :)

恐怕这两个我都没用过。

于 2008-10-29T12:03:08.117 回答
10

CREAM 是 C#/.Net 的工具 http://galera.ii.pw.edu.pl/~adr/CREAM/index.php

于 2011-06-15T19:29:09.120 回答
5

Ruby 有Heckle和一个叫Boo_hiss的新人。

于 2009-02-13T11:17:32.697 回答
3

对于 .Net 社区,有NesTer,但它有一些严重的局限性。例如,仅支持 C# 和 NUnit。

似乎也没有积极维护,但这可能是一个起点。

于 2009-04-15T09:35:56.367 回答
3

我看了一下 Jester(实际的源代码),在我看来它不支持太多的突变。那里有一个文件,其中指定了这些突变。我可能对上述内容有误,但我绝对不喜欢从命令行启动工具和小 GUI 反馈界面之间的混合。为什么不像 JUnit 在 IDE 外运行时那样在命令行中提供反馈?

混乱是另一回事:)。它有一个简单的命令行界面,并带有一个 Eclipse 插件。反馈是控制台中的所有文本。我对这个工具很满意,我计划编写一些 ANT 目标来将它添加到我的项目持续集成中。

我也在看 Javalanche,但还没有尝试过。

几周后我会有消息。

于 2010-01-28T07:56:10.353 回答
3

可能有点意思。微软研究院:https ://pex4fun.com/

于 2012-10-22T13:46:00.997 回答
2

你可以试试µJava。我没有使用过它,但看起来突变测试可能是评估测试套件的一种有趣方式。

于 2008-10-29T12:13:48.923 回答
2

MμClipse 仅支持 JUnit 3,不再维护。至于Jester,很费力,需要复杂的配置;plus 不再维护。我能找到的最好的工具是 Javalanche 我写了一篇关于这个的整篇文章!

于 2012-03-10T10:41:04.503 回答
0

Jester 确实为突变提供了一个文件,并且它们是有限的。在某种程度上,您可以将自己的突变添加到文件中。

我对 Jumble 和 Jester 进行了试验,发现 Jumble 提供了更多的突变和更好的文档。此外,当我向项目所有者发送电子邮件时,我得到了他们的快速回复。Jumble 的一个缺点是它使用 BCEL 对字节码进行操作。这对许多开发人员来说是一条学习曲线。

我的公司 State Farm 编写了一个 Ant 任务,我们可能会为 Jumble 项目做出贡献。根据我在他们的邮件列表中看到的内容,其他人也在为 Jumble 开发 Ant 任务。

我也在看Javalanche。完成后,我很乐意分享我所知道的。

于 2010-02-15T15:42:13.233 回答