TDD测试驱动开发

TDD测试驱动开发

1、概念编程

TDD故名思意就是用测试的方法驱动开发,简单说就是先写测试代码,再写开发代码。传统的方式是先写代码,再测试,它的开发方式与之正好相反。工具

 

 

TDD是极限编程的一个最重要的设计工具之一,使得咱们编码的目的更加明确。而极限编程的另外一个最重要的工具—重构。重构改变的是代码的内部结构,而不会改变外部接口功能。一整套完备的测试用例能够保证咱们的程序更加健壮,功能更加完善。单元测试

2、做用测试

站在用户使用的角度去思考如何完成产品设计,强迫开发人员事先思考完善的测试用例并提供不考虑细节的外部接口功能,大幅减小debug时间,提升产品开发质量。优化

3、适用范围编码

1.适合时间不是很紧的软件开发。debug

2.适合于产品和平台的开发。设计

4、操做步骤blog

  1. 加入一个新的测试。
  2. 运行下新加的测试,看到它失败。
  3. 对开发代码作很小的修改,目的就是让新加的测试经过 (注意这里的目的)。
  4. 运行全部的测试testcase,而后看到全部测试都经过了。
  5. 移掉重复的代码,对代码进行重构 (既包括功能代码,也包括测试代码。特别注意红色的字串通常会有重复,还有一些代码能够抽出来变成公用方法。

5、优缺点接口

优势

  • 测试代码都是从客户需求出发的,不是重实现出发的。测试更关注于对外部的接口。
  • 软件的需求都被测试代码描叙得很清楚,能够减小不少没必要要的文档(有些时候写文档时间比开发时间多多了, 须要一个专门写文档的,并且用的机会不多。
  • 每次都是很小的步骤,这样你就很集中注意解决一个问题。
  • 能够优化设计。若是有作过测试驱动开发的会发现,为了更好的,更容易的作单元测试。

缺点

  • 有时候开发代码可能只有几行,但是测试代码可能比真正的代码要多不少。并且花时间想怎么测试。
  • 可能不适合时间很紧的软件开发

6、合做方式

最好且最快的方式就是XP中的无序结对编程,一个有TDD经验的坐在"后面",指导另外一个不大熟悉的人,两人一块儿来完成一个类或模块的功能。

 

相关文章
相关标签/搜索