我的任务是让遗留应用程序处于单元测试之下。首先介绍一下应用程序的背景知识:这是一个600k LOC Java RCP代码库,存在以下主要问题
- 大量代码重复
- 没有封装,大多数私有数据都可以从外部访问,一些业务数据也成为单例,因此不仅可以从外部更改,而且可以从任何地方更改。
- 没有抽象(例如,没有业务模型,业务数据存储在Object []和double [] []中),因此没有OO。
有一个很好的回归测试套件,一个高效的质量检查团队正在测试和发现错误。我知道如何从经典书籍(例如Michael Feathers)中对其进行测试的技术,但这太慢了。由于存在工作正常的回归测试系统,因此我不怕积极地重构系统以允许编写单元测试。
我应该如何着手解决问题以快速获得覆盖范围,以便能够向管理人员展示进度(实际上是从JUnit测试的安全网中开始赚钱)?我不想使用工具来生成回归测试套件,例如AgitarOne,因为这些测试不会测试是否正确。