首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TDD和开发时间

TDD和开发时间
EN

Stack Overflow用户
提问于 2009-07-07 14:41:09
回答 6查看 613关注 0票数 1

我们是一小群PHP开发人员,正在考虑在我们的工作流程中集成或不集成TDD,以提高web应用程序的质量,同时消除令人沮丧的手动回归测试。我的问题是,如果我们开始使用TDD,平均会增加多少开发时间?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-07-07 14:43:21

TDD不仅仅是编写测试来保护您的代码。它是关于驱动设计的测试。因此,你可能最终会写更多的代码,但你在设计上花费的时间更少(或者由于缺乏经过深思熟虑的设计而修复问题)。

在学习如何使用各种测试/模拟框架和理解如何使用单元测试来驱动您的设计时,我认为在初始阶段会有很多开销(简而言之:编写失败的测试,然后编写尽可能简单的功能代码来通过测试,然后在必要时重构功能代码)。

一旦你的团队跟上了TDD和你所需要的各种工具,你们可能会比现在更有效率。

票数 4
EN

Stack Overflow用户

发布于 2009-07-07 15:05:39

不要指望TDD来提高你的质量。拥有一种高质量的心态要重要得多。我见过经过严格测试的高质量pre-TDD代码-因为团队成员有动力生产出他们可以引以为豪的产品。我见过Agile XP团队在做TDD时,因为他们没有任何主人翁的自豪感,所以产生了绝对的垃圾。如果你有所有权的自豪感,你可以用任何适合你的过程来产生高质量的代码。

因此,不能保证TDD会提高产品的质量。然而,如果你的团队有成为更好的的动力,并且对他们正在做的事情有一种天生的所有权,那么TDD将给你机会来产生更好的代码,不是因为它会经过更好的测试,而是因为它将改变你的代码的设计方式。

TDD可以改进单个类的设计。不过,要小心。有一种风险是,你可能会将个体对象的复杂性迁移到对象交互领域,然后没有对其进行充分的测试,所以请确保你也在该级别进行测试。

如果您已经在进行单元测试,TDD最初会使开发速度变慢,但这种差异将在几周内逐渐消失。

如果你不是在进行单元测试,那么单元测试(测试驱动程序或传统的) will save you time

票数 7
EN

Stack Overflow用户

发布于 2009-07-07 14:44:52

TDD可以节省时间。我不能从PHP的角度讲--不知道有哪些测试框架可用--但是使用Java,当我在TDD groove中时,我的流程要快得多。而且我的代码有更少的bug,所以我花在修复它上的时间更少,找到bug的时间也更少。红-绿-重构驱动你,让你保持在轨道上,推动你前进。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1092742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档