对于刚接触测试的有经验的程序员,TDD是否有任何优秀的在线教程?

时间:2009-07-14 15:28:38

标签: python unit-testing testing tdd

我正在与Python开发团队合作,他们在Python编程方面经验丰富,但现在正在努力学习TDD。由于我自己有使用TDD的经验,我被要求做一个介绍。主要是,我只是想看到有关这方面的文章,以便我可以看到其他人如何教授TDD并获得一些材料的想法。

最好,我想要介绍Python,但只要示例易于阅读并且概念很容易转移到Python,任何语言都可以。

7 个答案:

答案 0 :(得分:10)

我提出的一个建议是启动一个coding Dojo群组。它有助于从一个小组开始TDD,大多数推荐的最佳实践,并专注于TDD。

它的基本思想是采取一个简单的挑战(比如将罗马的algarisms字符串转换为整数的程序),并从简单的输入开始编码,并且仅在测试失败时进行编码。这不是解决问题的焦点,而是开始以正确的方式制作它。

这是关于它的另一个link,我从中检索了以下部分:

  • 预先公布了编码挑战。
  • 有一个房间,一台电脑连接到视频屏幕。
  • 演示者解释编码挑战并开始编码。演示者可以选择也可以不选择副驾驶。如果这是一个Randori会话,通常会指派一名副驾驶员,以便在转换发生时,副驾驶接管编码员。
  • 如果会话是Randori,则每5分钟更换一半。
  • 编码员应该不断解释她或她在做什么。
  • 当观众中的某人从雪橇上掉下来时,编码员应该停下来(有一个关于理解这对正在做什么的问题) - 并且只有当有人再次回到正轨时才会继续。
  • 所有程序员都使用TDD(测试驱动开发)。
  • 所有生成的代码将使用Eclipse Common Public License公开提供。
  • 每个会话预先公布要使用的编程语言。

答案 1 :(得分:3)

Kent Beckbook提供了Java中的一些示例和Python中的一些示例(说实话,从这本书中的示例代码判断,Kent不会让我成为这两种语言中的超级明星......但他肯定在TDD& c中成为超级明星 - 他应该,鉴于他基本上发明了它以及极端编程,请参阅他的wikipedia条目

答案 2 :(得分:3)

我对O'Reilly网站上的两篇文章“Python中的测试驱动开发”感到非常满意:

http://www.onlamp.com/pub/a/python/2004/12/02/tdd_pyunit.html

http://www.onlamp.com/pub/a/python/2005/02/03/tdd_pyunit2.html

这些确实清除了如何使用Python的unittest模块进行TDD,以及为我提供了良好的TDD思维模式。

答案 3 :(得分:1)

答案 4 :(得分:1)

我认为涵盖Dive Into Python测试的章节非常好。它们涵盖了使用TDD从头开始构建基本程序。

答案 5 :(得分:0)

Getting Started with Tdd in Java using Eclipse by Brett L. Schuchert

是一组关于Java和C#中TDD的截屏视频。它从零开始和教学基础开始。

答案 6 :(得分:0)

几年前我开始进行单元测试了,自从我的初始书以来,我已经阅读了很多内容。 但是,我的初期是Lasse的“测试驱动”。 对我来说,作者让它变得简单易懂。 也许你可以从中提取一些信息用于你的教学。

顺便说一句,我也教过TDD。 我发现在进入TDD之前确保观众了解如何使用单元测试非常方便。

祝你好运! : - )