您的位置:首页 > 产品设计 > 产品经理

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

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

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

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

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

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

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

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

测试驱动开发的优点:

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

l 对改善设计有很大助益

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

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

l 可以显著增加开发者的信心并赢得他人的信任
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: