工程師
其他
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

測試驅(qū)動開發(fā)理論

Bruce Zhang

前ThoughtWorks 架構師、敏捷教練

先后就職于中興通訊、惠普 GDCC、中軟國際、ThoughtWorks 等?大型中外企
業(yè),任職?角?色為?高級軟件?工程師,架構師,技術總監(jiān),?首席咨詢師?,F(xiàn)為深圳?
大眼科技有限公司的?首席架構師,聯(lián)合創(chuàng)始?人。精通包括 C#、Java、Ruby、Scala、
Python、JavaScript 等多種語?言,熟練掌握?面向?qū)ο笏枷?、領域驅(qū)動設計、函數(shù)式語
?言、架構、?大數(shù)據(jù)分析、敏捷與過程改進,并致?力于?大型軟件企業(yè)的?面向服務系
統(tǒng)架構設計以及互聯(lián)網(wǎng) Web 系統(tǒng)架構設計。在 ThoughtWorks 期間,作為?一名咨詢師,
主要為客戶提供組織的敏捷轉型、過程改進、系統(tǒng)架構監(jiān)理、領域設計、代碼質(zhì)量提升等咨
詢?工作。目前,作為公司產(chǎn)品的架構師,致力于商業(yè)智能產(chǎn)品與?大數(shù)據(jù)分析平臺的開發(fā)
與架構設計

著譯作包括《解構領域驅(qū)動設計》、《軟件設計精要與模式》、《架構寶典》、《高可用可伸縮微服務架構》、《Java設計模式》、《恰如其分的軟件架構》、《WCF服務編程》、《人件》、《重構——改善既有代碼設計》評注版、《架構之美》評注版。

作為主持?人或講師多次被應邀參加如中國軟件?大會、QCon、MPD 大會、
Agile China、Scrum Gathering 等?大型會議,并作為培訓講師曾先后為摩托羅拉、惠普、
花旗銀?行、攜程、TCL、中興通訊、賽 門鐵克,廣發(fā)證券、平安銀?行等企業(yè)培訓架構、
設計、DDD、敏捷等專題內(nèi)容。著譯作包括《軟件設計精要與模式》、《Java 設計模式》、《恰如其分的軟件架構》、《WCF 服務編程》、《?人件》等。目前,正在撰寫《架構之
美(Beatiful Architecture)》評注版,即將出版。

先后就職于中興通訊、惠普 GDCC、中軟國際、ThoughtWorks 等?大型中外企 業(yè),任職?角?色為?高級軟件?工程師,架構師,技術總監(jiān),?首席咨詢師?,F(xiàn)為深圳? 大眼科技有限公司的?首席架構師,聯(lián)合創(chuàng)始?人。精通包括 C#、Java、Ruby、Scala、 Python、JavaScript 等多種語?言,熟練掌握?面向?qū)ο笏枷?、領域驅(qū)動設計、函數(shù)式語 ?言、架構、?大數(shù)據(jù)分析、敏捷與過程改進,并致?力于?大型軟件企業(yè)的?面向服務系 統(tǒng)架構設計以及互聯(lián)網(wǎng) Web 系統(tǒng)架構設計。在 ThoughtWorks 期間,作為?一名咨詢師, 主要為客戶提供組織的敏捷轉型、過程改進、系統(tǒng)架構監(jiān)理、領域設計、代碼質(zhì)量提升等咨 詢?工作。目前,作為公司產(chǎn)品的架構師,致力于商業(yè)智能產(chǎn)品與?大數(shù)據(jù)分析平臺的開發(fā) 與架構設計 著譯作包括《解構領域驅(qū)動設計》、《軟件設計精要與模式》、《架構寶典》、《高可用可伸縮微服務架構》、《Java設計模式》、《恰如其分的軟件架構》、《WCF服務編程》、《人件》、《重構——改善既有代碼設計》評注版、《架構之美》評注版。 作為主持?人或講師多次被應邀參加如中國軟件?大會、QCon、MPD 大會、 Agile China、Scrum Gathering 等?大型會議,并作為培訓講師曾先后為摩托羅拉、惠普、 花旗銀?行、攜程、TCL、中興通訊、賽 門鐵克,廣發(fā)證券、平安銀?行等企業(yè)培訓架構、 設計、DDD、敏捷等專題內(nèi)容。著譯作包括《軟件設計精要與模式》、《Java 設計模式》、《恰如其分的軟件架構》、《WCF 服務編程》、《?人件》等。目前,正在撰寫《架構之 美(Beatiful Architecture)》評注版,即將出版。

課程費用

6800.00 /人

課程時長

2

成為教練

課程簡介

結合案例深入淺出地對知識內(nèi)容進行講解,擅長從各種項目實踐中提煉出有價值的技術思想、方法與原則。

目標收益

培訓對象

課程大綱

測試加油站 1.JUnit框架
-如何創(chuàng)建測試方法
-如何運用Rule測試異常
-如何運用Parameterized Data

2.Mockito
-何時需要進行Mock
-Mock查詢式方法
-Mock命令式方法
-Mock異常拋出
-驗證對象的協(xié)作

3.測試數(shù)據(jù)準備
-各種格式的測試數(shù)據(jù)
-模板的使用
-測試數(shù)據(jù)準備的輔助方法
對象健身操 1.OO的核心要素
-理解封裝的意義
-高內(nèi)聚松耦合
-繼承與委派
-抽象與多態(tài)

2.SOLID原則
-單一職責原則
-開放封閉原則
-Liskov替換原則
-接口隔離原則
-依賴倒置原則
重構工具箱 1.代碼的壞味道
-Long Method
-Feature Envy
-Switch Statement
-迪米特法則

2.重構手法運用
-Rename Method
-Extract Method
-Move Method
-Extract Class
-Push Member Down

3.演練
演練案例:Movie Store
TDD修煉 1.TDD知識
-TDD核心
-TDD三大定律
-FIRST原則

2.TDD Kata
實戰(zhàn)案例:Guess Number
-任務分解
-開始第一個任務
-Specification By Example
-測試驅(qū)動開發(fā)的驅(qū)動力
-Given-When-Then模式
-CQS原則
-信息專家模式
-命名規(guī)則
-單一職責原則
-開始第二個任務
-開始第三個任務

開始第四個任務
測試驅(qū)動開發(fā)需要事先設計嗎?
尋找職責的承擔者
開始第五個任務
運用依賴注入框架
重構到模式 1.常用設計模式
-工廠模式
-裝飾器模式
-適配器模式
-模板方法模式
-策略模式
-訪問者模式
-職責鏈模式

2.重構到模式實踐
-重構到策略模式
-重構到模板方法模式
-重構到裝飾器模式
-重構到職責鏈模式
-重構到MVC模式
-重構到訪問者模式
-重構到適配器模式
測試加油站
1.JUnit框架
-如何創(chuàng)建測試方法
-如何運用Rule測試異常
-如何運用Parameterized Data

2.Mockito
-何時需要進行Mock
-Mock查詢式方法
-Mock命令式方法
-Mock異常拋出
-驗證對象的協(xié)作

3.測試數(shù)據(jù)準備
-各種格式的測試數(shù)據(jù)
-模板的使用
-測試數(shù)據(jù)準備的輔助方法
對象健身操
1.OO的核心要素
-理解封裝的意義
-高內(nèi)聚松耦合
-繼承與委派
-抽象與多態(tài)

2.SOLID原則
-單一職責原則
-開放封閉原則
-Liskov替換原則
-接口隔離原則
-依賴倒置原則
重構工具箱
1.代碼的壞味道
-Long Method
-Feature Envy
-Switch Statement
-迪米特法則

2.重構手法運用
-Rename Method
-Extract Method
-Move Method
-Extract Class
-Push Member Down

3.演練
演練案例:Movie Store
TDD修煉
1.TDD知識
-TDD核心
-TDD三大定律
-FIRST原則

2.TDD Kata
實戰(zhàn)案例:Guess Number
-任務分解
-開始第一個任務
-Specification By Example
-測試驅(qū)動開發(fā)的驅(qū)動力
-Given-When-Then模式
-CQS原則
-信息專家模式
-命名規(guī)則
-單一職責原則
-開始第二個任務
-開始第三個任務

開始第四個任務
測試驅(qū)動開發(fā)需要事先設計嗎?
尋找職責的承擔者
開始第五個任務
運用依賴注入框架
重構到模式
1.常用設計模式
-工廠模式
-裝飾器模式
-適配器模式
-模板方法模式
-策略模式
-訪問者模式
-職責鏈模式

2.重構到模式實踐
-重構到策略模式
-重構到模板方法模式
-重構到裝飾器模式
-重構到職責鏈模式
-重構到MVC模式
-重構到訪問者模式
-重構到適配器模式

活動詳情

提交需求