天道酬勤,恒者能胜。追求卓越,成功就会在不经意间追上你。

敏捷基本概念之测试驱动开发(TDD)(十二)

上一篇 / 下一篇  2011-11-17 00:10:35 / 精华(1) / 置顶(1) / 个人分类:敏捷理论知识


每篇一问:一只公鸡加一只母鸡,猜三个字?


测试驱动开发保证代码整洁可用,以测试为中心推动整个开发的进行。

1、 测试驱动开发(TDD)定义

a)        测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法;

b)       TDD以测试为编程的中心,它要求在编写任何代码之前,首先编写定义代码功能的测试用例,编写的代码要通过用例,并不断进行重构和优化,通过测试来推动整个开发的进行。

2、 测试驱动开发(TDD)优势

a)        和代码同步增长的自动化测试用例,能为代码构筑安全网,保证代码重构的质量;

b)       TDD有助于开发人员优化代码设计,提高代码的可测试性;

c)        有助于开发人员编写简洁和高质量的代码,并加速开发过程。

3、 测试驱动开发(TDD)关键

a)        测试代码和开发源代码一样必须简洁,可读性好;

b)       测试用例的设计要保证完备,覆盖被测试单元的所有功能;

c)        每个测试用例要尽量保证独立,减少相互之间的依赖,提高测试用例的可维护性;

d)       当用户故事较大时,为降低难度,可分解为多个更小的单元,并逐一用TTD实现开发测试。

4、 测试驱动开发(TDD)例子

a)        盖房子的时候,工人师傅砌墙,会先用桩子拉上线,以使砖能够垒的笔直,因为垒砖的时候都是以这根线为基准的。TDD就像这样,先写测试代码,就像工人师傅先用桩子拉上线,然后编码的时候以此为基准,只编写符合这个测试的功能代码。

b)       而一个新手或菜鸟级的小师傅,却可能不知道拉线,而是直接把砖往上垒,垒了一些之后再看是否笔直,这时候可能会用一根线,量一下砌好的墙是否笔直,如果不直再进行校正,敲敲打打。使用传统的软件开发过程就像这样,我们先编码,编码完成之后才写测试程序,以此检验已写的代码是否正确,如果有错误再一点点修改。 你是希望先砌墙再拉线,还是希望先拉线再砌墙呢?测试驱动开发就是后者。


每篇一答:三只鸡。


                                         零测试


TAG: 零测试 敏捷基本概念 例子 优势 TDD 测试驱动开发 定义 关键

 

评分:0

我来说两句

Open Toolbar