我们有大量遗留代码,其中有几部分计划用于重构或替换。我们希望优化当前对用户体验产生影响的部件,促进计划中新产品的重复使用,并希望也能提高可维护性。
我们对现有产品进行了相当好/全面的功能测试。这些是自动和手动驱动的GUI测试的混合,但它们可以让开发人员超过半天完全运行。 “低级域逻辑”具有良好的单元测试(NUnit),具有良好的覆盖范围。不幸的是,代码的其余部分没有单元测试(或者至少没有值得单元测试)。
我想找到的是一个工具,可以根据它们在功能中的用途和行为自动为特定方法/类和特定接口生成单元测试试验。这些单元测试对于重构是非常宝贵的,并且也将作为C.I.的一部分运行。系统可以比当前发生的更早地检测回归(并且比“按钮X不起作用”更好地本地化回归。)。
是否存在任何此类工具?你对我有什么建议吗?
我遇到Parasoft .TEST,看起来它可能想要我想要的。 对于我的情况,您对此有何评论?
我不认为只是通过静态分析生成测试代码ala NStub的东西在这里很有用。我认为这实际上是代表性测试数据的生成非常重要。
请忽略自动测试生成的优点或缺点 - 这不是我通常所倡导的。 (尤其是因为你得到了破坏代码的测试!)