什么是软件的测试驱动开发(TOD)

测试驱动开发(TOD,Test-Driven Development)是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。

测试驱动开发的基本思想就是在开发功能代码之前,先编写测试代码,然后编写使测试通过的功能代码,从而以测试来驱动整个开发过程的进行。这有助于编写简洁可用和高质量的代码,有很高的灵活性和健壮性,能快速响应变化,并加速开发过程。测试驱动开发的基本过程如下:

(1)快速新增一个测试;

(2)运行所有的测试(有时候只需要运行一个或一部分),发现新增的测试不能通过;

(3)做一些小小的改动,尽快地让测试程序可运行,为此可以在程序中使用一些不合情理的方法;

(4)运行所有的测试,并且全部通过;

(5)重构代码,以消除重复设计,优化设计结构。

简单来说,测试驱动开发的基本过程就是从不可运行到可运行再到重构的一系列流程。

测试驱动开发不单纯是一种测试技术,它还是一种分析技术、设计技术,更是一种组织所有开发活动的技术。相对于传统的结构化开发过程方法,它具有以下优势:

(1)测试驱动开发根据客户需求编写测试用例,对功能的过程和接口都进行了设计,而且这种从使用者角度对代码进行的设计通常更符合后期开发的需求。因为关注用户反馈,可以及时响应需求变更,同时因为从使用者角度出发的简单设计,也可以更快地适应变化。

(2)出于易测试和测试独立性的要求,将促使实现松耦合的设计,并更多地依赖于接口而非具体的类,提高系统的可扩展性和抗变性。而且测试驱动开发明显地缩短了设计决策的反馈循环。

(3)将测试工作提到编码之前,并频繁地运行所有测试,可以尽量地避免和尽早地发现错误,极大地降低了后续测试及修复的成本,提高了代码的质量。在测试的保护下,不断重构代码,以消除重复设计,优化设计结构,提高了代码的重用性,从而提高了软件产品的质量。

(4)测试驱动开发提供了持续的回归测试,使重构变得更加简单,因为代码的改动导致系统其他部分产生任何异常,测试都会立刻通知程序员。

(5)测试驱动开发所产生的单元测试代码是完美的开发者文档,它们展示了所有的API该如何使用以及是如何运作的,而且它们与工作代码保持同步,永远是最新的。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/548.html
返回顶部