学习如何进行 “测试驱动开发”

来源:互联网 发布:mfc 多串口编程 编辑:程序博客网 时间:2024/05/01 06:17

 

    测试驱动开发(TEST DRIVER DEVELOP, TDD)是以测试为驱动力,进行开发,是一种开发方法。实际上也是极限编程(Extreme Programming, EP)的一个重要特点,TDD不断的测试推动代码的开发,既简化了代码,又保证了软件质量。
使用测试驱动开发(TDD)就是通过编写代码的测试用例,对其功能的分解、使用过程、接口都进行了设计,以满足软件需求,这样使得代码的设计更符合后期开发的需求。
   测试驱动开发(TDD)开发通常需要明确要完成的功能,快速实现功能的测试用例,完成对代码进行重构,测试完成所有功能的开发。这里要求测试的完全隔离,不同代码的测试不应该存在耦合。 测试驱动开发(TDD)从某种意义上说是单元测试(Unit Test, UT)置于软件过程的中心地位。

    [转]

 对于测试驱动开发(TDD),始终有一些迷惑,比如说,它的测试需要考虑完备性吗,需要考虑覆盖率吗?等等此类。今天从Javaeye中看到一句话,终于明白了。
  “什么是TDD?TDD就是把你的需求用测试给描述出来。”
  也就是说,TDD中的测试和一般意义上的单元测试并不一样,尽管TDD中的测试有时也作为单元测试来使用,但它们是两回事。(这里的需求,指的不是客户需求,而是程序员的开发需求)。
  使用TDD时,首先写的是测试,这时相应代码还没有实现,那么测试什么东西呢?所以说,写测试的过程,同时也是计接口的过程。这和写单元测试的目的完全是不一样的。
  TDD还有一个额外的好处。大多数人都是懒的,不要指望所有的程序员在写完功能代码后,再去编写相应的单元测试。我觉得这个接口的实现没有问题,所以就不用测试。这种想法也很常见。所以一开始就写下测试,可以杜绝后患。

 

 

 

 

原创粉丝点击