【问题标题】:Automated Unit Testing Gen Tools for .NET.NET 的自动化单元测试生成工具
【发布时间】:2010-09-07 23:19:23
【问题描述】:

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

理想的工具应该是:

  • 无需展示一组 方法的值。
  • 采用交互式技术 探索性测试代码在哪里 检查以确定哪些值 需要执行所有代码 路径。即方法的单元测试由代码的复杂性决定

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

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

  • TestGen4J
  • AgitarOne

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

谢谢

【问题讨论】:

    标签: .net unit-testing testing automated-tests


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      一个pex开发者:)

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 单元测试描述了软件的行为,因此无法生成
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-30
        • 1970-01-01
        • 1970-01-01
        • 2010-11-25
        • 1970-01-01
        • 1970-01-01
        • 2010-09-10
        相关资源
        最近更新 更多