代码之家  ›  专栏  ›  技术社区  ›  SiberianGuy

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

  •  8
  • SiberianGuy  · 技术社区  · 14 年前

    什么是测试优先开发?它是如何与TDD相结合的?测试优先开发是像TDD这样的东西的通用名称吗?如果是,那么还有什么其他的测试优先实践呢?

    3 回复  |  直到 10 年前
        1
  •  9
  •   RPM1984    14 年前

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

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

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

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

        2
  •  19
  •   Carl Manaster pakore    14 年前

    测试优先开发比TDD更广泛,更具体。您可以在编码之前编写一个验收测试,然后编写代码使其通过;这是tfd,但不是tdd。TDD更具体地说是关于单元测试——所以有一个更严格的隐含粒度——并且包括红绿重构循环:编写失败的(单元)测试;证明它失败;使它通过;证明它通过;寻找重构的机会。TFD并不排除任何这些东西,但它也不需要它们。

        3
  •  -2
  •   Kidambi Manoj    10 年前

    TFD是TDD的一个子类。

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

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

    TFD有时非常有用。您可能希望在编写整个过程之前先测试其中的小部分,而不是直接跳到实现中进行测试。

    但TFD和TDD的目的是相同的。