4006-998-758
3000+课程任你选择
测试驱动开发训练营
研发学院 驱动开发 测试 重构 开课时间:2021-07-04
张逸

高质量编码实践者,领域驱动设计布道师,微服务系统架构师,大数据平台架构师,敏捷转型咨询师。热衷于编程语言学习与技艺提升,致力于将企业架构、精益需求管理、领域驱动设计与微服务架构完美结合,打造面向企业的业务中台;致力于将数据仓库、实时流处理、机器学习与高性能存储完美结合,打造面向行业的智能数据中台。

拥有近20年的软件开发与架构设计经验,曾先后就职于中兴通讯、惠普 GDCC、中软国际、ThoughtWorks 等大型中外企业,任职角色为高级软件工程师、架构师、技术总监、首席咨询师。精通包括 Java、Scala、Python、C#、JavaScript、Ruby 等多种语言,熟练掌握面向对象思想、测试驱动开发与重构、领域驱动设计、函数式编程、架构、大数据分析、敏捷与过程改进,并致力于大型软件企业的面向服务系统架构设计、大数据平台架构设计以及互联网 Web 系统架构设计,曾经连续四届荣获微软最有价值专家,具有丰富的企业软件系统和分布式开发经验。


查看老师详情
课程内容

课程介绍


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

 

课程大纲


第一关 测试加油站

测试驱动开发的基础是正确地运用框架编写单元测试。要了解什么是单元测试,编写单元测试的价值,并能熟练运用单元测试框架。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模式

·重构到访问者模式

·重构到适配器模式


返回上一级