测试驱动开发与测试优先开发

时间:2010-07-07 05:15:33

标签: unit-testing tdd

什么是测试优先开发?它与TDD有何关系?测试优先开发是TDD之类的通用名称吗?如果是,那么还存在哪些其他测试优先实践?

3 个答案:

答案 0 :(得分:19)

测试第一开发比TDD略宽,略微不那么具体。您可以在编码之前编写验收测试,然后编写代码以使其通过;这是TFD而不是TDD。 TDD更具体地说是单元测试 - 所以隐含的粒度更严格 - 并且包括红绿重构循环:编写失败(单元)测试;证明它失败了;让它通过;证明它通过;寻找重构的机会。 TFD并不排除任何这些事情,但也不要求它们。

答案 1 :(得分:9)

  

测试优先开发==测试驱动   发展。

同一件事的两个不同的词。

TDD的其他替代方案包括越来越受欢迎的BDD(行为驱动开发)。

您选择哪种方法在很大程度上取决于您的应用程序(Web,控制台,窗口等)以及项目方法(敏捷,瀑布等)。

答案 2 :(得分:-2)

TFD是TDD的子类。

TDD: 你写了一段代码,然后为它编写测试。

TFD: 您编写测试时首先编写最小代码以使其通过。然后考虑逻辑并构建代码。通过这种方式,您的代码可以很好地形成并且最小化。

TFD有时会非常有用。您可能希望在编写整体之前测试它的一小部分,而不是跳入实现并对其进行测试。

但TFD和TDD的目的都是一样的。