5

希望获得您对自动化测试工具的看法(投票应该将好的工具带到顶部)

理想的工具将:

  • 消除向方法提供一组值的需要。
  • 采用交互式探索性测试等技术,检查代码以确定执行所有代码路径所需的值。即方法的单元测试由代码的复杂性决定

例如,如果一个方法检查一个整数参数是否为 123,则至少会生成 2 个单元测试:一个参数是 123,一个不是。

对于 Java,我的理解是这些是一些选项,但不是 .NET

  • 测试Gen4J
  • 搅拌机

听说过来自 Microsoft Research 的 Pex - For .NET,但它具有非商业许可证

谢谢

4

3 回答 3

3

Pex 支持参数化单元测试并使用动态符号执行(某种自动探索性测试)来生成输入。Pex 可以理解 MSIL 的语义,即任何托管方法调用的语义。在“123”示例中,Pex 会找到这两个测试。

它允许开发人员编写参数化单元测试——因此它完全符合测试优先的开发风格。

对于商业软件,Pex 需要 MSDN 许可证。更多信息请访问http://research.microsoft.com/pex

pex 开发人员:)

于 2008-09-16T23:49:03.580 回答
2

我已经用其他语言尝试了其中一些工具,恕我直言,它们几乎完全是在浪费时间。原因?他们无法以任何有意义的方式猜测方法调用的语义。这里有一篇非常好的文章——非常值得一读。

于 2008-09-06T01:25:23.583 回答
0

另一个自动生成单元测试的好工具是 Randoop。

Randoop 可用于 Java ( http://mernst.github.io/randoop/ ) 和 .NET ( https://github.com/abb-iss/Randoop.NET )。

Randoop 在包括 Sun 和 IBM 的 JDK 在内的广泛使用的库以及核心 Microsoft .NET 组件中发现了以前未知的错误。

于 2015-06-06T16:13:22.553 回答