刚在InfoQ上翻译了一篇文章,作者是Mark Levison,介绍了TDD初学者容易遇到哪些困难,为什么许多人浅尝之后就放弃了,最后他还介绍了一些方法,能够帮助开发者形成TDD的习惯。
通过对采用TDD的开发人员调查,Mark发现主要有以下问题:
* 由于经验不足,大家发现自己直接TDD比较困难。
* TDD培训的例子比实际应用简单得多。
* 需要更多的时间来实验和尝试,不要有赶紧发布软件的压力。
* 实际中应用的语言,比如Visual Basic和JavaScript,在单元测试文档或者课堂练习中从来不会用到。
* 通常的代码都有很多遗留代码,而培训时不会介绍如何改进这些代码。
* 永远没有足够的时间用来学习──随时都有尽早交付产品的(人为的)压力,于是没有时间学习提高自己。
根据Mark,他建议综合采用以下多种方法:
* 课堂培训
* 在线培训
* 耐心
* 衡量测试覆盖率
* 内心感到自豪
* 管理层的支持
* 结对编程
* 社区
* 编程道场
* 阅读工坊
* 教练定期走访
详细内容,您可以参看InfoQ全文:
http://www.infoq.com/cn/news/2009/02/levison-TDD-adoption-strategy。
分享到:
相关推荐
测试驱动开发.ppt”和“测试驱动开发—1.1_测试驱动开发简介.ppt”很可能包含了关于TDD的详细讲解,涵盖了TDD的概念、原则、实践技巧以及如何在实际项目中应用TDD等内容。这些资源对于学习和理解TDD至关重要,可以...
在移动通信领域,GSM TDD(Time Division Duplexing,时分双工)系统是一...总的来说,解决GSM TDD板振问题需要综合考虑电路设计、元件选择和优化策略,确保在保持通信性能的同时,降低噪声和振动,提高用户使用体验。
定位TDD噪音的具体来源是解决问题的第一步。常见的定位方法包括: 1. **检查天线**:确保天线安装正确且没有损坏。 2. **射频组件检查**:检查射频前端的各个组件是否正常工作。 3. **MIC(麦克风)检查**:确认MIC...
Wifi TDD 时间同步及分时调度方案是一种在 Wifi 网络中实现时间同步和分时调度的解决方案。该方案主要依赖于 Wifi 网络的 beacon 帧来实现时间同步和分时调度。 时间同步是指在 Wifi 网络中的各个设备之间实现时间...
综上所述,《UMTS-TDD手册》不仅为读者提供了关于NS2中UMTS-TDD系统仿真的全面指南,而且还深入探讨了该领域的关键技术挑战和解决方案。无论是对于正在从事相关研究的学生还是工程师来说,都是一份非常有价值的参考...
但是,我们可以根据给定的标题、描述以及部分关键词来探讨与LTE_TDD相关的问题定位技巧及知识点。 ### LTE_TDD问题定位指导 #### 1. LTE_TDD 技术简介 LTE_TDD是一种基于OFDMA(正交频分多址接入)技术的无线通信...
TDD(Time Division Duplexing,时分双工)是一种通信系统中...在实际项目案例中,如S509、S602、S605和S522,可能需要针对具体问题采取不同的解决策略,结合理论知识和实践经验,以确保TDD系统的稳定性和通信质量。
通过上述测试,作者最终确定了最优的设计方案:使用自定义实体类序列化,二进制数据存储,ISO-8551字符编码,以及双16进制格式数据编码。这一方案在数据存储量、传输效率和CPU效率之间取得了最佳平衡,避免了无效率...
综上所述,TDD电流声问题是多方面因素共同作用的结果,需要综合考虑电源稳定性、信号处理等多个方面来解决问题。通过对TDD技术原理的深入理解,并结合实际操作经验,可以有效降低电流声问题的发生概率,提升用户体验...
7. **挑战与解决方案**:鉴于嵌入式系统开发的特殊性,书中还特别强调了在实践中可能遇到的一些挑战,如资源限制、调试难度等,并提供了相应的解决策略。 8. **最佳实践**:最后,本书总结了一系列TDD的最佳实践,...
### 使用PHPUnit进行TDD驱动开发 #### 一、引言 测试驱动开发(TDD, Test-Driven Development)是一种软件开发方法论,它要求在编写实际功能代码之前先编写测试用例。通过这种方式,可以确保代码的质量,并且有助...
4. 使用 bead 滤除高频 noise,虽然其本身听不见,但如果这个 noise 以一定的频率(音频范围)出现(比如 GSM 中的 TDD noise),这样,其就会造成可听见的噪音。 5. 电容的规格书上有曲线图,每个电容对不同的频率...
在“Test Driven Development in Action”这个实战教程中,你将学习如何设置测试环境,编写有效的测试用例,以及如何在Ruby项目中有效地应用TDD。通过一系列示例和练习,你将掌握TDD的核心技巧,并理解它如何提升...
7. **达成共识(Agreement)**:在团队协作中,TDD提供了明确的问题解决框架,帮助开发者和合作伙伴就解决问题的方式达成一致。没有TDD,需要寻找其他方式来确保对问题的理解一致。 8. **减轻焦虑(Anxiety)**:...
通过TDD在Laravel开发中,开发者可以建立起坚固的质量保障体系,提高代码的可靠性,并且随着项目的成长,TDD还能帮助识别和修复潜在问题,降低维护成本。总之,掌握TDD对于任何Laravel开发者来说都是一项重要的技能...
TDD-CDMA(时分双工-码分多址)是无线通信技术中的一个重要分支,它结合了时分双工(TDD)与码分多址(CDMA)两种技术的特点,为移动通信系统提供了高效的数据传输解决方案。本篇将详细介绍TDD-CDMA的基本概念、工作原理...
在C#编程环境中,测试驱动开发(Test-Driven Development,简称TDD)是一种软件开发方法论,它强调先编写测试用例,然后根据这些测试用例来实现功能代码。这种做法有助于确保代码的质量,减少错误,并提高开发效率。...
华为LTE TDD系统原理培训PPT文档
单元测试与TDD实践 **一、单元测试之测试目的** 单元测试,作为软件开发过程中的重要环节,其核心目标在于确保代码的质量、可维护性和可扩展性。它通过独立测试软件中的最小可测试单元,如函数或方法,来验证其...