我为什么要练习测试驱动开发?我应该如何开始?

时间:2008-08-07 02:27:03

标签: testing tdd

很多人在开始编写代码之前都会谈论为代码编写测试。这种做法通常称为测试驱动开发或简称TDD。通过这种方式编写软件可以获得哪些好处?我如何开始这种做法?

4 个答案:

答案 0 :(得分:31)

有很多好处:

  • 您可以立即获得有关代码是否正常工作的反馈,以便更快地找到错误
  • 看到测试从红色变为绿色,你知道你有一个有效的回归测试和工作代码
  • 您有信心重构现有代码,这意味着您可以清理代码而不必担心它可能会破坏它
  • 最后,您可以在自动构建期间运行一系列回归测试,以确保您的代码库更加可靠

最好的开始方式就是开始。测试驱动开发有一个很好的book by Kent Beck。刚开始使用新代码,不要担心旧代码......每当您觉得需要重构某些代码时,请为现有功能编写测试,然后重构它并确保测试保持绿色。另请阅读this great article

答案 1 :(得分:3)

福利部分有recently been covered,关于从哪里开始....在一个小型企业系统中,没有太多未知因素,因此风险很低。如果您还不知道测试框架(如NUnit),那么首先要了解它。否则先写下你的第一个测试:)

答案 2 :(得分:2)

<强>优势

  1. 您弄清楚如何划分代码
  2. 您确切地知道您希望代码执行的操作
  3. 你知道它应该如何行动,并且在未来的路上,如果重构会破坏任何事情
  4. 让您养成确保代码始终知道应该做什么的习惯
  5. 使用入门

    做吧。为您想要做的事情编写一个测试用例,然后编写应该通过测试的代码。如果你通过测试,那么你可以继续编写代码永远失败的情况(例如,2 + 2不应该等于5)。

    一旦您的所有测试通过,请编写您的实际业务逻辑以执行您想要执行的任何操作。

    如果您从头开始,请确保找到一个易于使用的良好测试套件。我喜欢PHP,所以PHPUnit或SimpleTest运行良好。几乎所有流行的语言都有一些xUnit测试套件可用于帮助构建和自动化测试。

答案 3 :(得分:0)

在我看来,唯一最棒的是它可以让你清楚地看到你的代码是否符合预期。这似乎是显而易见的,但正如我过去发现的那样,你很容易误入原来的目标:p