课程形式
本课程为工作坊形式,形式包含:
生动的讲解
现场编码演示
结对的编码练习
基于代码的深度讨论
课程收益
完成本次培训后,学员能够理解:
TDD 和原有开发方式的对比
Mock/Stub 技巧
关注点分离技巧
利用数据驱动测试降低测试维护成本
如何测试私有方法
TDD 的三条规则
掌握 TDD 的四步
30+ TDD 练习的题目
在特定的技术栈上进行 TDD 开发
额外收益:
高效使用 IntelliJ IDEA 的技巧
体验结对编程的乐趣
课程对象
架构师
Tech Lead
前后端程序员
课程大纲
第一天
时间 | 安排 | 目标 | 知识点 |
09:30 - 09:40 | 开场 | ||
09:40 – 09:45 | FizzBuzz 需求说明 | ||
09:45 – 10:00 | 自行实现 | 熟悉开发环境 熟悉测试框架 | |
10:00 – 10:20 | 教练讲解演示 | 对TDD形成直观感受 理解测试先行和小步快走的理念 | 1. 提取变量 2. 生成类,生成方法 3. 意图驱动编程 4. Given-When-Then格式 5. 红-绿-重构循环 6. 三条纪律 7. 三种快速通过测试的方式 8. 测试异常的三种方法 1. 数据驱动测试 |
10:20 – 11:30 | 刻意练习 | ||
11:30 – 12:00 | 代码道场 | 轮流上台展示 查漏补缺 | |
12:00 – 14:00 | 午饭 + 休息 | ||
14:00 – 14:10 | Mars Rover 需求说明 | ||
14:10 – 14:30 | 自行实现 | ||
14:30 – 15:30 | 教练讲解演示 | 强化上午所学 理解TDD解决实际问题的步骤 | |
15:30 – 16:30 | 刻意练习 | 1. 任务分解 2. 封装数据,暴露行为 3. SOLID原则 4. 高内聚低耦合 5. 统一语言 6. 快味道识别 7. 常用的重构手法 8. TPP 模式 1. 简单设计4原则 | |
16:30 – 17:00 | 代码道场 | 轮流上台展示 | |
17:00 – 17:20 | 教练演示 | 前后端分离的 TDD 实战 | |
17:20 – 17:30 | 总结分享答疑 | 总结收获,促进行动 |
第二天
时间 | 安排 | 目标 | 知识点 |
09:30 - 09:40 | 开场 | 答疑解惑 | |
09:40 – 09:45 | 参数解析器 需求说明 | 学会用TDD处理包含文件IO的需求 | 1. Before/After 2. Mock 3. Stub 4. 测试异常 5. 分离关注点 6. 测试景深理念 7. FIRST 原则 |
09:45 – 11:00 | 学员练习 教练指导 | ||
11:00 – 12:00 | 教练讲解演示 | ||
12:00 – 14:00 | 午饭 + 休息 | ||
14:00 – 14:10 | 购物车管理 需求说明 | 学会用TDD处理前后端分离的需求 | 1. JavaScript 单元测试 2. 组件测试 3. 端到端测试 4. 接口测试 5. Mock 6. Stub 7. 集成测试 |
14:10 – 15:00 | 教练演示 | ||
14:10 – 17:20 | 练习指导 | ||
17:20 – 17:30 | 总结分享答疑 | 总结收获,促进行动 |