TDD如何与极端编程相关?

时间:2012-04-14 00:01:18

标签: tdd agile extreme-programming

TDD和XP之间的这种关系对我来说仍然含糊不清,因为其中一个XP实践是首先编写测试。 TDD也(我的理解) 只是关于首先编写测试。

那么关于TDD的新内容是什么?以及它如何连接到XP?

一个例子将不胜感激。

4 个答案:

答案 0 :(得分:16)

XP由许多实践组成,旨在一起使用。其中一个是TDD。组织不一定要采用所有的XP。目前流行的scrum采用了一些专注于规划和管理的XP实践。

答案 1 :(得分:8)

  

XP使用测试驱动开发(TDD)和重构来帮助发现   最有效的设计。

那来自Extreme Programming site。 TDD是XP采用的一种做法。

答案 2 :(得分:5)

敏捷的核心部分,特别是XP,是在每次迭代时以递增方式创建软件的能力(实际上,必要性)。

这是通过在每次迭代时添加新代码来实现的,但也可以通过重构在先前迭代期间编写的现有代码来实现。只有拥有强大的测试系统,能够在添加新代码或修改现有代码时检查整个软件产品是否破坏,才能安全地实现这种重构。

因此,当您开发软件时,最终会创建两个独立但强关联的系统:

  • 您要向用户提供的软件产品
  • 它可以帮助您逐步构建它的测试工具

TDD是创建此测试工具的最着名的做法,使您能够使用敏捷方法逐步创建软件。

答案 3 :(得分:5)

极限编程是一种软件开发方法,由诸如

之类的实践组成
  1. 结对编程
  2. 测试驱动开发
  3. 持续集成
  4. 重构
  5. 代码评论
  6. TDD是极端编程中的一种做法,尽管可以说它是最重要的一种。