什么是TDD开发模式

 

     TDD是英文Test Driven Development(测试驱动开发)的缩写,属于敏捷开发模式中的一种,但和传统的敏捷开发方式又不同。

     大家所熟悉的开发方式,可以简化理解为“设计”“开发”“测试”,三个大的阶段,分别由不同的人员完成。而在TDD开发模式下,开发和测试同时完成,测试由开发工程师负责。

     在开发时,TDD模式下,工程师被要求对自己写的每一段运行代码,同时写下所有这段代码要满足的测试案例(代码)。

     显然,看起来工程师完成一段代码编写的时间会比传统的要多。但是,当系统中的代码有成千上万段时,每增加一个功能,如果做全面的测试,人工测试的工作量会以几何级别上升,开发和测试人员需要学习以往代码设计需求的时间越多,升级的速度自然慢了。现实情况下,这种理论上的要求是不现实的,企业通常只对关键逻辑进行测试,留下Bug隐患。在TDD模式下,工程师无须理解已有代码和设计,只需将自己写的新代码叠加到原有版本上,将所有测试案例(代码)运行一遍,即可判断是否完全符合设计要求。这样,保证了系统一致、稳定、可靠。

     一段段测试代码就是对设计需求最准确的描述,文档自然也不用了。

     TDD不仅保证了系统稳定、可靠,而且以我们的经验,总体缩短开发周期3倍以上,并节约测试人员成本。(测试人员通常和研发人员规模相当,这意味着可以节省一半研发人力成本,这都是钱钱啊!!!)

     TDD好处多多,此处仅介绍部分。(想了解更多可以看看另外一篇文章 用TDD保持企业管理软件快速迭代

      实践中,我们最初跑一遍所有测试代码需要运行几个小时,中间不断优化,现在仅需2分钟左右,喝杯咖啡就可以搞定还是蛮可以接受的!!(窃窃得意)


Recruiting is tough.  OurATS makes it easy.