论坛首页 综合技术论坛

敏捷开发的必要技巧13:测试驱动编程

浏览 4264 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-11  

下载地址: 第13章测试驱动编程.rar  或者  下载

 


TDD及它的优点<o:p></o:p>

<o:p> </o:p>

    上面这种编程的方式,就叫“测试驱动编程Test Driven Development (TDD)”,因为我们总是在写真正代码之前写一个通不过的测试,然后再写真正的代码,让测试通过。<o:p></o:p>

    跟测试后行的开发方式相比,它有如下好处:<o:p></o:p>

                                                       <o:p></o:p>

    1.为了更容易的写单元测试,我们会广泛的使用接口(比如StudentRegistryChecker等)。这个会让单元测试代码很容易读跟写,因为测试代码里面没有多余的数据。如果我们不用TDD而是直接写实现的话,我们经常会使用现成的类(比如StudentSet),测试为了调用现成的类,就不得不创建很多多余的数据,创建很巨型的对象,就像Student或者Course<o:p></o:p>

    <o:p></o:p>

    2.因为广泛的使用接口,我们的类之间就不会藕合(比如EnrollmentSet就一点都不知道StudentSet的存在),因此重用性更好。<o:p></o:p>

<o:p> </o:p>

    3.写单元测试的时候,很容易就可以为一个行为写一个测试用例,让它通过,然后为另一种行为写另一个测试用例。也就是说,整个任务会被划分成很多小的任务,独立完成。如果我们不用TDD而直接实现的话,我们很容易就会同时把所有的行为都实现了。这样花的时间长,而且在这相当长的时间里面,写的代码都是没有测试过,不能保证准确性的。相反的,用TDD的话,我们只实现要测的行为的代码。它只花费很少的时间(几分钟),而且可以马上测试。<o:p></o:p>

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics