架构师
其他
单元测试
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

测试驱动开发训练营

Bruce Zhang

前ThoughtWorks 架构师、敏捷教练

先后就职于中兴通讯、惠普 GDCC、中软国际、ThoughtWorks 等⼤大型中外企
业,任职⾓角⾊色为⾼高级软件⼯工程师,架构师,技术总监,⾸首席咨询师。现为深圳⼤
大眼科技有限公司的⾸首席架构师,联合创始⼈人。精通包括 C#、Java、Ruby、Scala、
Python、JavaScript 等多种语⾔言,熟练掌握⾯面向对象思想、领域驱动设计、函数式语
⾔言、架构、⼤大数据分析、敏捷与过程改进,并致⼒力于⼤大型软件企业的⾯面向服务系
统架构设计以及互联网 Web 系统架构设计。在 ThoughtWorks 期间,作为⼀一名咨询师,
主要为客户提供组织的敏捷转型、过程改进、系统架构监理、领域设计、代码质量提升等咨
询⼯工作。目前,作为公司产品的架构师,致力于商业智能产品与⼤大数据分析平台的开发
与架构设计

著译作包括《解构领域驱动设计》、《软件设计精要与模式》、《架构宝典》、《高可用可伸缩微服务架构》、《Java设计模式》、《恰如其分的软件架构》、《WCF服务编程》、《人件》、《重构——改善既有代码设计》评注版、《架构之美》评注版。

作为主持⼈人或讲师多次被应邀参加如中国软件⼤大会、QCon、MPD 大会、
Agile China、Scrum Gathering 等⼤大型会议,并作为培训讲师曾先后为摩托罗拉、惠普、
花旗银⾏行、携程、TCL、中兴通讯、赛 门铁克,广发证券、平安银⾏行等企业培训架构、
设计、DDD、敏捷等专题内容。著译作包括《软件设计精要与模式》、《Java 设计模式》、《恰如其分的软件架构》、《WCF 服务编程》、《⼈人件》等。目前,正在撰写《架构之
美(Beatiful Architecture)》评注版,即将出版。

先后就职于中兴通讯、惠普 GDCC、中软国际、ThoughtWorks 等⼤大型中外企 业,任职⾓角⾊色为⾼高级软件⼯工程师,架构师,技术总监,⾸首席咨询师。现为深圳⼤ 大眼科技有限公司的⾸首席架构师,联合创始⼈人。精通包括 C#、Java、Ruby、Scala、 Python、JavaScript 等多种语⾔言,熟练掌握⾯面向对象思想、领域驱动设计、函数式语 ⾔言、架构、⼤大数据分析、敏捷与过程改进,并致⼒力于⼤大型软件企业的⾯面向服务系 统架构设计以及互联网 Web 系统架构设计。在 ThoughtWorks 期间,作为⼀一名咨询师, 主要为客户提供组织的敏捷转型、过程改进、系统架构监理、领域设计、代码质量提升等咨 询⼯工作。目前,作为公司产品的架构师,致力于商业智能产品与⼤大数据分析平台的开发 与架构设计 著译作包括《解构领域驱动设计》、《软件设计精要与模式》、《架构宝典》、《高可用可伸缩微服务架构》、《Java设计模式》、《恰如其分的软件架构》、《WCF服务编程》、《人件》、《重构——改善既有代码设计》评注版、《架构之美》评注版。 作为主持⼈人或讲师多次被应邀参加如中国软件⼤大会、QCon、MPD 大会、 Agile China、Scrum Gathering 等⼤大型会议,并作为培训讲师曾先后为摩托罗拉、惠普、 花旗银⾏行、携程、TCL、中兴通讯、赛 门铁克,广发证券、平安银⾏行等企业培训架构、 设计、DDD、敏捷等专题内容。著译作包括《软件设计精要与模式》、《Java 设计模式》、《恰如其分的软件架构》、《WCF 服务编程》、《⼈人件》等。目前,正在撰写《架构之 美(Beatiful Architecture)》评注版,即将出版。

课程费用

3700.00 /人

课程时长

2

成为教练

课程简介

测试驱动开发训练营以理论讲解结合案例演练,全方位梳理测试驱动开发的流程,帮助学员掌握整洁编码、单元测试与重构的技巧,从而使得学员能够在实际项目开发中合理运用测试驱动开发,提高编码质量,打造高效的开发团队,并在企业中有效推进测试驱动开发实践。

目标收益

培训对象

课程大纲

第一关 测试加油站 测试驱动开发的基础是正确地运用框架编写单元测试。要了解什么是单元测试,编写单元测试的价值,并能熟练运用单元测试框架。JUnit框架。
如何创建测试方法
如何运用Rule测试异常
如何运用Parameterized Data
Mockito
何时需要进行Mock
Mock查询式方法
Mock命令式方法
Mock异常抛出
验证对象的协作
测试数据准备
各种格式的测试数据
模板的使用
测试数据准备的辅助方法
第二关 对象健身操 测试驱动开发的驱动力在于任务分解和测试先行,但如果不具备足够的面向对象设计能力,就会影响到对职责的判断,无法做到有效而合理的对象协作,也无法判断该在何时对功能进行抽象。
OO的核心要素
理解封装的意义
高内聚松耦合
继承与委派
抽象与多态
SOLID原则
单一职责原则
开放封闭原则
Liskov替换原则
接口隔离原则
依赖倒置原则
第三关 重构工具箱 测试驱动开发的节奏是“红-绿-重构”,没有重构,测试驱动开发就无法保证代码质量,如果不及时发现代码的坏味道,就会导致“破窗效应”,直到代码腐化至难以重构的地步,测试驱动开发带来的红利就被抵消殆尽了。
代码的坏味道
Long Method
Feature Envy
Switch Statement
迪米特法则
重构手法运用
Rename Method
Extract Method
Move Method
Extract Class
Push Member Down
演练
演练案例:Movie Store
第四关 TDD修炼
在具备了单元测试、面向对象设计与重构知识之后,就可以开始TDD的训练了。TDD的工作主要分为任务分解与测试驱动,开发人员需要进行实战演练才能真正体会TDD的好处。本部分将通过一个完整的案例进行实操训练。
TDD知识
TDD核心
TDD三大定律
FIRST原则
TDD Kata
实战案例:Guess Number
任务分解
开始第一个任务
Specification By Example
测试驱动开发的驱动力
Given-When-Then模式
CQS原则
信息专家模式
命名规则
单一职责原则
开始第二个任务
开始第三个任务
开始第四个任务
测试驱动开发需要事先设计吗?
寻找职责的承担者
开始第五个任务
运用依赖注入框架
第五关 重构到模式 通过识别代码的坏味道,然后利用重构手法改进代码,逐步形成设计模式,可以有效地避免过度设计,保证编码实现的恰如其分。
常用设计模式
工厂模式
装饰器模式
适配器模式
模板方法模式
策略模式
访问者模式
职责链模式
重构到模式实践
重构到策略模式
重构到模板方法模式
重构到装饰器模式
重构到职责链模式
重构到MVC模式
重构到访问者模式
重构到适配器模式
第一关 测试加油站
测试驱动开发的基础是正确地运用框架编写单元测试。要了解什么是单元测试,编写单元测试的价值,并能熟练运用单元测试框架。JUnit框架。
如何创建测试方法
如何运用Rule测试异常
如何运用Parameterized Data
Mockito
何时需要进行Mock
Mock查询式方法
Mock命令式方法
Mock异常抛出
验证对象的协作
测试数据准备
各种格式的测试数据
模板的使用
测试数据准备的辅助方法
第二关 对象健身操
测试驱动开发的驱动力在于任务分解和测试先行,但如果不具备足够的面向对象设计能力,就会影响到对职责的判断,无法做到有效而合理的对象协作,也无法判断该在何时对功能进行抽象。
OO的核心要素
理解封装的意义
高内聚松耦合
继承与委派
抽象与多态
SOLID原则
单一职责原则
开放封闭原则
Liskov替换原则
接口隔离原则
依赖倒置原则
第三关 重构工具箱
测试驱动开发的节奏是“红-绿-重构”,没有重构,测试驱动开发就无法保证代码质量,如果不及时发现代码的坏味道,就会导致“破窗效应”,直到代码腐化至难以重构的地步,测试驱动开发带来的红利就被抵消殆尽了。
代码的坏味道
Long Method
Feature Envy
Switch Statement
迪米特法则
重构手法运用
Rename Method
Extract Method
Move Method
Extract Class
Push Member Down
演练
演练案例:Movie Store
第四关 TDD修炼
在具备了单元测试、面向对象设计与重构知识之后,就可以开始TDD的训练了。TDD的工作主要分为任务分解与测试驱动,开发人员需要进行实战演练才能真正体会TDD的好处。本部分将通过一个完整的案例进行实操训练。
TDD知识
TDD核心
TDD三大定律
FIRST原则
TDD Kata
实战案例:Guess Number
任务分解
开始第一个任务
Specification By Example
测试驱动开发的驱动力
Given-When-Then模式
CQS原则
信息专家模式
命名规则
单一职责原则
开始第二个任务
开始第三个任务
开始第四个任务
测试驱动开发需要事先设计吗?
寻找职责的承担者
开始第五个任务
运用依赖注入框架
第五关 重构到模式
通过识别代码的坏味道,然后利用重构手法改进代码,逐步形成设计模式,可以有效地避免过度设计,保证编码实现的恰如其分。
常用设计模式
工厂模式
装饰器模式
适配器模式
模板方法模式
策略模式
访问者模式
职责链模式
重构到模式实践
重构到策略模式
重构到模板方法模式
重构到装饰器模式
重构到职责链模式
重构到MVC模式
重构到访问者模式
重构到适配器模式

提交需求