TDD
一、简介
TDD(Test-Driven Development)测试驱动开发。是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。
二、扩展
TDD之于代码测试,就和UML之于系统设计,Agile之于项目管理一样。其实都是在透支未来。相当于先下结论,再去实现,就是邪修做法,忘记了最重要的影响因素:软件项目中,需求是随时可变的。
三、理论
传统做法如下图,需求确认后,开发和测试并行,最后收尾。
TDD的做法是,把测试放到开发之前。然后用单元测试(unit test)把所有肯能出现的情况都测试一遍,相当于用测试代码将需求文档翻译一遍。之后的开发入场,就不再是以需求文档来引导,唯一的任务,就是写下能让这些测试通过的代码。
四、总结
TDD是一种比较极端的做法。他也有不好的地方,比如使用TDD来开发,相当于让具体代码的实现细节和测试过度耦合,会锁死代码的调整空间。可能后期会导致工程量过大,从而导致崩溃。