项目完成后实施TDD有什么意义吗?

时间:2012-08-13 14:36:07

标签: c# tdd

我一直在做的项目差不多完成了,在项目开始之前我从没有机会学习TDD,现在项目几乎完成,是否有任何设置测试的意义?当然,每周会有很多附加内容和更多更改,所以它还没有完全完成。

由于

6 个答案:

答案 0 :(得分:10)

您可以在最后添加单元测试,它们将非常有用,但这不是TDD。

TDD是测试驱动开发,这意味着您的测试将指导开发过程。它们不仅要检查您的逻辑是否会失败,还要帮助您设计更好的代码,这就是为什么需要首先创建它们。

答案 1 :(得分:1)

将事情做好是永远不会太迟。

答案 2 :(得分:1)

是。使用单元测试的一个优点是,您可以判断由于不相关的代码更改而导致以前工作的内容何时中断。

我以前经历过这个,当你将单元测试添加到已经看似已经完成的项目中时,它似乎是一个毫无意义的练习,但它不是:

  1. 我们通过这种方式发现了很多小缺陷。缺陷,否则将在以后检测不到,并可能会在生产中弹出
  2. 该项目当时似乎已经完成,但随后又持续了6个月,客户要求进行更改,单元测试结果非常有用。

答案 3 :(得分:1)

在这种情况下,我建议在符合以下条件之一的代码区域中实施测试:

  • 他们对程序的操作
  • 如果他们破坏,没有人会立即注意到

后者尤为重要。没有什么比在事情发生了5个月之后发现更糟糕的事情,系统在没有它的情况下以某种方式跛行。有些事情需要变得更加明显,测试可能是一种很好的方式。

显然最好将测试放在任何地方,但这可能既违背了你的日程安排,也反对政治上的困难。

答案 4 :(得分:0)

总是值得进行测试。您现在可以实现一些测试,并发现您的代码中存在一些重大错误。即使您现在只进行一些基本测试,然后逐渐建立它们。然后使用任何新位使用TDD。

如果您所做的任何更改破坏了代码的其他部分,它也很有用。

答案 5 :(得分:0)

现在,您将面临艰难的任务,即尝试将测试适合旧版代码。网上有很多文章,有很多方法可以实现它(GoldenMaster,它对于WCF-y的东西很有用)。我想说如果你需要支持软件/添加功能,那么至少应该投入一些测试(特别是在关键区域附近)。