课程简介
大量工程实践和研究表明:采用TDD的开发者更少的使用Debugger,更能保持“小步快跑”的开发节奏,对产品质量的信心更大;同时,虽然TDD要求编写更多的代码,但是开发时间往往更短,大量的单元测试使产品代码的质量更高、设计的可测试性更强,更易实现高内聚低耦合的设计,从而加入新需求和缺陷排查所需的时间更短,项目成本更低。
本课程讲师依托自己5年的测试驱动开发(TDD)经验,在3天的时间里,辅导你通过TDD的方式完成3个由浅入深的小项目,通过这一过程帮助你掌握测试驱动开发方法,改进开发习惯,提升开发高质量软件的能力。这会是一个手把手的、充满挑战的、实践驱动的过程,全程通过Workshop形式展开,交付可以运行的软件。实践中我们会使用到各种分析、任务分解、设计、测试和重构技术,同时应用TDD方法涉及的各种工具和平台。
课程收益
通过培训及期间与讲师的互动,学员将收获:
1. 如何分解需求到任务
2. 如何写达意的单元测试
3. 如何一步步重构
4. 如何识别代码中的坏味道
5. 面向对象设计的要点
6. TDD中常见设计问题的应对策略(打破防御式编程,服务设计,值对象,安全编程,异常处理等)
课程特点:
1. 由拥有丰富TDD经验的讲师以开发项目的方式授课,穿插提炼知识点。
2. 有针对性地介绍主流语言下开发特定应用(WEB,数据库,服务器)的完整工具链。
3. 实践完整的TDD生态系统,包括结对编程、持续集成和演进式设计等。
4. 分享讲师在各个公司推行TDD的经验,助力TDD在你公司落地。
受众人群
程序员,测试,开发,或者任何对TDD感兴趣的人
课程周期
3天(18小时)
课程大纲
主题 | 相关内容 |
第一天上午:开发项目A 第一天下午:开发项目B 第二天上午:开发项目B(继续) 第二天下午:开发项目C 第三天上午:开发项目C(继续) 第三天下午:开发项目C(继续) | 期间循序渐进学习下列知识点: 1. TDD的节奏 2. TDD的两个原则 3. TDD的目标 4. TDD与行为驱动开发(Behaviour Driven Development) 5. TDD与验收测试驱动开发(Acceptance Test Driven Development) 6. 识别代码中的坏味道 7. 重构工具及使用 8. 常用重构技巧 9. 重构与详细设计驱动开发的区别 10. 利用重构消灭重复和简化依赖关系 11. 遗留系统重构的要点 12. 利用测试设计接口 13. 单元测试框架 14. 常见测试辅助工具(如Isolation Frameworks) 15. 利用DBDeploy为增量的数据库开发建立沙盒环境 16. 测试在TDD中的重新定位 17. 编写可读测试的最佳实践 18. 编写值得信赖测试的最佳实践 19. 编写可维护测试的最佳实践 20. 建立和维护测试Fixture 21. TDD工具链 22. 搭建和配置Hudson持续集成平台 23. 持续集成最佳实践 24. Clean Code 25. OO设计的DIY原则 26. OO设计的Tell Don't Ask原则 27. Single Responsibility原则 28. Open Closed原则 29. Liskov Substitution原则 30. Interface Segregation原则 31. Dependency Inversion原则 32. 领域知识在设计中的作用 33. 利用“统一语言”沟通设计 34. 演进式设计的要点 35. 真实项目中的TDD 36. TDD在敏捷开发中的位置 37. TDD对传统开发和设计习惯的启示和挑战 38. TDD对软件开发流程的影响 39. TDD对个体和组织的转变 40. TDD在公司的实施与落地 41. TDD投入产出的调研数据 |
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员