如何在团队中培养TDD习惯

5
可能重复:如何说服团队中的程序员使用TDD? 有哪些最好的方法可以鼓励和灌输TDD习惯给一个从未使用过TDD的团队?
有没有人能分享他们用正确和错误的方法让团队使用TDD的经验,使其有效并希望在所有未来项目中继续使用它?

1
团队是否已经定期使用单元测试?如果没有,那么这将是一场更加艰苦的战斗。 - Mathias
3个回答

5
这可能只是把你从油锅里拉到火坑里,但我们发现,真正说服人们采用TDD的最佳方法是两人编程。TDD是大多数人知道有效性的事情之一,但除非他们在自己身上感受到好处,否则他们不会一直应用它。说服一个人通常需要有人陪伴他们,并真正地进行TDD - 对于一些人来说,这是几天,对于一些人来说是几周 - 直到他们有了那个“啊哈!”时刻,当TDD为他们节省了数小时的调试时间。

1
如果人们不想做某事,你很难说服他们享受其中的好处。如果他们只是不知道或者持怀疑态度,我建议与他们讨论一下(也许可以进行一次演示?团队会议?),然后提出与他们配对以这种方式修复一些错误 - 希望他们通过经验学习到好处。

1

首先,您需要确保开发人员接受培训,学习如何有效地进行测试驱动开发。在掌握xUnit之后,他们应该接受关于如何使用模拟对象的培训。这是一种更为复杂的tdd(从“开发”到“设计”),对于有抱负的开发人员来说非常吸引人,因为通过采用这种技术,他们应该能够生成更好的代码,并且能够更好地测试交互。

我提到上述优点是因为这是我试图说服团队采用TDD的一种方式。

然而,这个问题的真正答案是建立持续集成,选择拒绝没有附带单元测试的代码的选项 :-)

祝你好运


2
将源代码控制设置为拒绝提交不是正确的答案。人们对负面刺激反应不佳;通过创建这样的障碍,您将源代码控制提交变成了一种对抗性过程。开发人员将花费大量精力来规避这些过程,在某些情况下,他们所花费的精力远远超过尝试TDD所需的精力。最好的情况是,您鼓励编写质量差的测试,仅满足提交要求使用的任何指标。在最坏的情况下,您会让更多的人相信TDD是官僚主义者强加的繁琐工作,并降低他们做好工作的动力。 - Adam Milligan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接