刚在InfoQ上翻译了一篇文章,作者是Mark Levison,介绍了TDD初学者容易遇到哪些困难,为什么许多人浅尝之后就放弃了,最后他还介绍了一些方法,能够帮助开发者形成TDD的习惯。
通过对采用TDD的开发人员调查,Mark发现主要有以下问题:
* 由于经验不足,大家发现自己直接TDD比较困难。
* TDD培训的例子比实际应用简单得多。
* 需要更多的时间来实验和尝试,不要有赶紧发布软件的压力。
* 实际中应用的语言,比如Visual Basic和JavaScript,在单元测试文档或者课堂练习中从来不会用到。
* 通常的代码都有很多遗留代码,而培训时不会介绍如何改进这些代码。
* 永远没有足够的时间用来学习──随时都有尽早交付产品的(人为的)压力,于是没有时间学习提高自己。
根据Mark,他建议综合采用以下多种方法:
* 课堂培训
* 在线培训
* 耐心
* 衡量测试覆盖率
* 内心感到自豪
* 管理层的支持
* 结对编程
* 社区
* 编程道场
* 阅读工坊
* 教练定期走访
详细内容,您可以参看InfoQ全文:[url]http://www.infoq.com/cn/news/2009/02/levison-TDD-adoption-strategy[/url]。
通过对采用TDD的开发人员调查,Mark发现主要有以下问题:
* 由于经验不足,大家发现自己直接TDD比较困难。
* TDD培训的例子比实际应用简单得多。
* 需要更多的时间来实验和尝试,不要有赶紧发布软件的压力。
* 实际中应用的语言,比如Visual Basic和JavaScript,在单元测试文档或者课堂练习中从来不会用到。
* 通常的代码都有很多遗留代码,而培训时不会介绍如何改进这些代码。
* 永远没有足够的时间用来学习──随时都有尽早交付产品的(人为的)压力,于是没有时间学习提高自己。
根据Mark,他建议综合采用以下多种方法:
* 课堂培训
* 在线培训
* 耐心
* 衡量测试覆盖率
* 内心感到自豪
* 管理层的支持
* 结对编程
* 社区
* 编程道场
* 阅读工坊
* 教练定期走访
详细内容,您可以参看InfoQ全文:[url]http://www.infoq.com/cn/news/2009/02/levison-TDD-adoption-strategy[/url]。