(一)测试驱动开发(tdd) 学习笔记:基本思想原则和术语

发表于:2009-05-22来源:作者:点击数: 标签:tddTddTDD笔记驱动
这几天学习了一下 测试驱动开发 ( td d) 实用指南,感觉相见恨晚,收获很大。以前也听别人说过测试驱动开发,也用过 dunit ,但是当时不知道具体的含义,也没有仔细研究一下,真是遗憾。 Test-Driven Development A Practical Guide 测试驱动开发,实用指南
这几天学习了一下测试驱动开发tdd) 实用指南,感觉相见恨晚,收获很大。以前也听别人说过测试驱动开发,也用过dunit,但是当时不知道具体的含义,也没有仔细研究一下,真是遗憾。

   Test-Driven Development  A Practical Guide 测试驱动开发,实用指南,作者David Astels

  测试驱动开发的主要思想是 测试先行,在写一个类的具体实现之前,先写类的测试代码,类的测试代码通过调用各种public 的方法,对类进行测试。在写测试代码的过程中,思考类的调用方法,也就是类的外在表现形式。

  我觉得这种做法的很大一个好处是:因为设计一个类是从它的外部形态开始的,所以设计类的时候就会自然的考虑类的封装。

  测试驱动开发采用的主要方法之一是重构(refactoring)。重构两个字的字面意思,并不能涵括它的具体涵义,在tdd中重构具体指什么,下面通过一个简单的例子来说明:

  我们想编写一个math 类,来实现简单的加(sum)、减(minus)运算,首先我们编写math 类的初步测试方法

public class testMath extends TestCase{

     public void testSum(){

          math math1 = new math ;

          assertEquals("3加2应该等于5",5,math1.sum(3,2));

     }

}

然后我们编写具体的math 类

public class math {

     public int sum(int a,int b){

          return 5;

     }

}

  运行测试,测试通过。但是很明显,sum方法的算法是不对的,这是因为测试不够全面。我们重新修改测试

原文转自:http://www.ltesting.net