2013-04-23 66 views
0

我们有一个由2年开发的项目,设计不佳的建筑。现在一天没有任何单元测试。单位测试代码的产生

当前版本的系统工作正常,但我们非常需要重构核心模块。

预算也是有限的,所以我们不能雇用足够数量的开发人员编写单元测试。

是否有可能为单元测试自动生成代码,其中涵盖了与数据的交互,假设现在系统工作正常,当前系统的输出可以在单元测试中转换为XML-装置?

这种方法为我们提供了可能性,迅速启动现有的代码重构,如果一些核心功能,因为变化的损坏receieve即时反馈。

回答

1

我会对任何声称能够自动确定任意应用程序的要求并将其编码为好的单元测试的工具保持警惕。

相反,我会花一点时间建立至少一些高级功能测试。这些可能是在代码中,使用完整的堆栈加载一组预定义的输入和检查对已知结果,例如。或者甚至可能更高级的使用像Selenium或FitNesse这样的自动化工具(取决于您构建的应用程序类型)。首先关注测试系统中最重要的部分,因为时间总是有限的。向前迈进,我建议你得到一份Michael Feathers'Working Effectively with Legacy Code的副本,它处理你正面临的问题:需要更新一个未经测试的大型代码库,同时确保你不会破坏现有的功能该过程。