Welcome 微信登录

首页 / 软件开发 / JAVA / 演化架构与紧急设计: 测试驱动设计,第1部分

演化架构与紧急设计: 测试驱动设计,第1部分2011-05-18 IBM Neal Ford常见的一种敏捷开发实践就是 TDD。TDD 是一种编写软件的模式,它使用测试 帮助您了解需求阶段的最后步骤。先写测试,再编写代码,这样可以巩固您对代 码所需执行的操作的理解。

大多数开发人员认为 TDD 带来的主要好处是最终得到的综合单元测试集。但 是,如果正确执行的话,TDD 可以改进代码的整体设计,因为它将决策推迟到最 后责任时刻(last responsible moment)。由于您没有预先做出任何设计决定, 因此它让您随时可以采用更好的设计选择或者重构为更好的设计。本文将介绍一 个示例,用于演示根据单元测试的结果进行设计的强大之处。

TDD 工作流程

测试驱动开发 术语中的关键词是驱动,表示测试将驱动开发流程。图 1 显示 了 TDD 工作流程:

图 1. TDD 工作流程

图 1 中的工作流程是:

编写一个失败的测试。

编写代码以使测试通过。

重复第 1 步和第 2 步。

在此过程中积极地重构。

当您无法再想到任何测试时,那么就必须做决策了。