Guushuuse .NET

领域驱动设计==哲学

导航

TDD(Test Driven Development,测试驱动开发)

 

测试驱动开发,是敏捷方法中的一项重要实践。一般认为,它是由极限编程之父Kent Beck所创立的,并且在其经典之作《Test-Driven Development By Example》一书中有过详尽的阐述。不过,一如许多软件技术与方法的出现,TDD也可算作是众人智慧的结晶了。这其中,不乏早期与KentBeck一起活跃于Smalltalk社区,而今声名显赫的业界大牛们,如:Erich GammaWard Cunningham,以及Martin Fowler等人。有这么多前辈高人作后援,想必TDD的价值是勿庸置疑的。

典型的TDD包含如下几个步骤:

根据需要快速编写一个测试用例,此时甚至可以是连编译都无法通过的

编写尽可能少的功能代码,以让刚才的测试用例通过

根据需要逐步补充测试用例,此时的测试用例依然是没有通过的

修改功能代码以让新增的测试用例通过,同时也要让原来通过,而今又失败了的测试用例重新通过

对上述功能代码进行重构(有时甚至也包括测试代码),以消除重复

测试驱动开发的优点:

为系统改进提供了有效保障

对改善设计有很大助益

为功能代码提供了很好的“文档”

在一定程度上可以代替程序调试的工作

可以显著增加开发者的信心并赢得他人的信任

posted on 2009-04-26 12:12  guushuuse  阅读(691)  评论(0编辑  收藏  举报