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

测试驱动开发训练营

Bruce Zhang

前ThoughtWorks 架构师、敏捷教练

信通院应用现代化推进中心专家委员会委员,数字现代化首席顾问,微软最有价值专家,南京大学DevOps+ Research Lab企业导师,南京大学软件工程卓越技术讲堂讲师,四川大学软件工程硕士,K+全球软件研发行业创新峰会联席主席,阿里研发效能峰会出品人,DDD研修会创始人,DDD China社区卓越贡献者,2021年度影响力作者奖。
目前担任华龙数字AI研发总监,曾担任DaoCloud应用现代化首席顾问,民航信息技术总监兼首席架构师,ThoughtWorks首席咨询师,HP GDCC解决方案架构师,中兴通讯高级工程师,并先后在美国、澳大利亚、法国与中国香港为海外企业提供交付与咨询服务。著译作包括《解构领域驱动设计》(包括简体版与繁体版)、《软件设计精要与模式》、《架构宝典》、《高可用可伸缩微服务架构》、《Java设计模式》、《恰如其分的软件架构》、《WCF服务编程》、《人件》。
咨询与培训内容包括AI智能工程化、数字化转型、领域驱动设计、分布式架构、设计模式、重构与测试驱动开发、高质量Java编码、敏捷项目转型等。咨询与培训客户包括工商银行、中国银行、花旗银行、中国银联、招商银行、浦发银行、平安集团、太平洋保险、太平人寿、国泰保险、华泰证券、安信证券、广发证券、深交所、上海期货交易所、郑州商品交易所、清算所、宝马、广汽丰田、普华永道、安永、京东、美团、酷狗音乐、斯伦贝谢、赛门铁克、可口可乐、摩托罗拉、华为、中兴通讯、中国电信、中国移动、电信盈科、中化集团、国家电网、中国体彩、顺丰速运、戴尔、TCL、浪潮、国航、中航信等近百余家国内外企业,服务的全球五百强企业达到二十余家,涉及到的行业与领域包括互联网、零售、金融、通信、制造、民航。
目前,主要致力于大型软件企业的数字化建设、AI战略规划、分布式架构设计、领域驱动设计推广、大数据平台架构设计以及代码质量提升与敏捷项目转型。

信通院应用现代化推进中心专家委员会委员,数字现代化首席顾问,微软最有价值专家,南京大学DevOps+ Research Lab企业导师,南京大学软件工程卓越技术讲堂讲师,四川大学软件工程硕士,K+全球软件研发行业创新峰会联席主席,阿里研发效能峰会出品人,DDD研修会创始人,DDD China社区卓越贡献者,2021年度影响力作者奖。 目前担任华龙数字AI研发总监,曾担任DaoCloud应用现代化首席顾问,民航信息技术总监兼首席架构师,ThoughtWorks首席咨询师,HP GDCC解决方案架构师,中兴通讯高级工程师,并先后在美国、澳大利亚、法国与中国香港为海外企业提供交付与咨询服务。著译作包括《解构领域驱动设计》(包括简体版与繁体版)、《软件设计精要与模式》、《架构宝典》、《高可用可伸缩微服务架构》、《Java设计模式》、《恰如其分的软件架构》、《WCF服务编程》、《人件》。 咨询与培训内容包括AI智能工程化、数字化转型、领域驱动设计、分布式架构、设计模式、重构与测试驱动开发、高质量Java编码、敏捷项目转型等。咨询与培训客户包括工商银行、中国银行、花旗银行、中国银联、招商银行、浦发银行、平安集团、太平洋保险、太平人寿、国泰保险、华泰证券、安信证券、广发证券、深交所、上海期货交易所、郑州商品交易所、清算所、宝马、广汽丰田、普华永道、安永、京东、美团、酷狗音乐、斯伦贝谢、赛门铁克、可口可乐、摩托罗拉、华为、中兴通讯、中国电信、中国移动、电信盈科、中化集团、国家电网、中国体彩、顺丰速运、戴尔、TCL、浪潮、国航、中航信等近百余家国内外企业,服务的全球五百强企业达到二十余家,涉及到的行业与领域包括互联网、零售、金融、通信、制造、民航。 目前,主要致力于大型软件企业的数字化建设、AI战略规划、分布式架构设计、领域驱动设计推广、大数据平台架构设计以及代码质量提升与敏捷项目转型。

课程费用

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模式
重构到访问者模式
重构到适配器模式

活动详情

提交需求