传统的开发
- 需求
- 正式代码
- 测试代码
测试驱动开发
- 需求
- 测试代码(红灯-绿灯-重构)
- 正式代码
乍一看是有些茫然、觉得无用的;
是的,目前而言我确实觉得这是无用的,因为平时的开发,初步编写代码,编写过程中也会进行测试,最后再进行完整的测试、或者更加细节化的测试,而后才会真正使用编写好的代码,这是传统的开发方式,但是这和测试驱动开发是很像的,不是吗?
那到底是什么环节出了问题呢?测试驱动开发到底优势在什么地方呢?
我理解的是,测试驱动开发是一个思维方式,是一个新的设计,让开发过程更加清晰:
从需求出发—编写测试(要达到的结果)—编写要完成测试而实现的代码----测试通过后视情况对代码进行重构—形成真正的代码—新的需求—新的循环;
按照以上循环,代码的质量是很高的,因为每个新的需求-测试-开发-重构-上线的过程在行动之前,都确保了前期代码的正确性,以及全部代码的正确性,否则是通不过测试的;
但是,测试驱动开发的模式不为大众所用,多半是因为习惯问题或者时间问题,因为这样的规定,确实加大了开发的限制性并增加了开发时间;