課程簡(jiǎn)介
本課程的內(nèi)容是講師十余年軟件開發(fā)實(shí)踐的總結(jié),講師從端到端的軟件開發(fā)角度來(lái)對(duì)單元測(cè)試的關(guān)鍵問題和解決方案進(jìn)行探究,能給學(xué)員和軟件開發(fā)組織帶來(lái)較大的收益,其內(nèi)容遠(yuǎn)遠(yuǎn)超出了一般性的技能講解范疇。
目標(biāo)收益
通過培訓(xùn),學(xué)員可以掌握單元測(cè)試所必須的接口設(shè)計(jì)、自動(dòng)化用例編寫及相關(guān)的xUnit框架、Stub/Mock框架的使用,編寫易于理解、易于復(fù)用和易于擴(kuò)展的單元測(cè)試。此外,學(xué)員還能學(xué)到已經(jīng)被證實(shí)有效的單元測(cè)試相關(guān)模式和方法,以及遺留代碼的單元測(cè)試編寫等技能。
通過培訓(xùn),軟件開發(fā)組織能夠?qū)τ谑裁词呛玫膯卧獪y(cè)試建立一致的認(rèn)知,建立利于理解、利于維護(hù)的、可長(zhǎng)期持續(xù)演進(jìn)的單元測(cè)試基線,為軟件設(shè)計(jì)改善、代碼質(zhì)量提升及產(chǎn)品的質(zhì)量保證建立有效的保障機(jī)制。
培訓(xùn)對(duì)象
本課程的培訓(xùn)面向的對(duì)象以從事軟件開發(fā)實(shí)踐的工程師和軟件團(tuán)隊(duì)的技術(shù)負(fù)責(zé)人為主,課程具備Java、C#、C/C++等多個(gè)語(yǔ)言版本,講師具備為特定領(lǐng)域定制的豐富經(jīng)驗(yàn)和能力。
課程大綱
單元測(cè)試的目標(biāo)和本質(zhì) |
內(nèi)容一:從端到端角度看單元測(cè)試 1. 單元測(cè)試到底要解決的是什么問題 2. 單元測(cè)試的基本價(jià)值觀 3. 第一個(gè)單元測(cè)試演示 4. 理解單元測(cè)試中的核心概念 |
單元測(cè)試工具 |
內(nèi)容二:熟練運(yùn)用單元測(cè)試工具和基本模式 1. 單元測(cè)試框架 2. 四階段測(cè)試模式 3. 數(shù)據(jù)驅(qū)動(dòng)的測(cè)試 4. 練習(xí):為既有代碼編寫單元測(cè)試 內(nèi)容三:?jiǎn)卧獪y(cè)試中的依賴和Mock工具 1. 依賴對(duì)單元測(cè)試的影響 2. 測(cè)試替身的類型 3. Stub和Mock工具 4. 設(shè)計(jì)接縫和依賴注入 5. 接口設(shè)計(jì)和重構(gòu) 6. 練習(xí):使用Mock框架隔離和控制依賴 |
單元測(cè)試模式 |
內(nèi)容四:好的(和不好的)單元測(cè)試 1. 單元測(cè)試的壞味道 2. 好的單元測(cè)試的設(shè)計(jì)和編寫原則 3. 單元測(cè)試模式 4. 單元測(cè)試的重構(gòu) 5. 練習(xí):?jiǎn)卧獪y(cè)試代碼的重構(gòu) |
為遺留代碼編寫測(cè)試 |
內(nèi)容五:和遺留代碼相關(guān)的單元測(cè)試問題 1. 為什么遺留代碼的測(cè)試那么難? 2. 遺留代碼的測(cè)試策略和技術(shù) 3. 練習(xí):為遺留代碼編寫測(cè)試 |
測(cè)試優(yōu)先和測(cè)試驅(qū)動(dòng)開發(fā) |
內(nèi)容六:測(cè)試優(yōu)先 1. 測(cè)試優(yōu)先的可行性和必要性 2. 測(cè)試優(yōu)先和傳統(tǒng)測(cè)試策略的比較 內(nèi)容七:測(cè)試驅(qū)動(dòng)開發(fā) 1. 測(cè)試驅(qū)動(dòng)開發(fā)案例演示 2. 測(cè)試驅(qū)動(dòng)開發(fā)的方法 3. 練習(xí):使用測(cè)試驅(qū)動(dòng)開發(fā)方法編寫代碼 |
組織級(jí)的單元測(cè)試關(guān)注 |
內(nèi)容八:如何在組織級(jí)成功導(dǎo)入單元測(cè)試實(shí)踐 1. 單元測(cè)試的組織和管理 2. 單元測(cè)試和持續(xù)集成 3. 組織級(jí)導(dǎo)入單元測(cè)試的常見問題和應(yīng)對(duì)方案 |
單元測(cè)試的目標(biāo)和本質(zhì) 內(nèi)容一:從端到端角度看單元測(cè)試 1. 單元測(cè)試到底要解決的是什么問題 2. 單元測(cè)試的基本價(jià)值觀 3. 第一個(gè)單元測(cè)試演示 4. 理解單元測(cè)試中的核心概念 |
單元測(cè)試工具 內(nèi)容二:熟練運(yùn)用單元測(cè)試工具和基本模式 1. 單元測(cè)試框架 2. 四階段測(cè)試模式 3. 數(shù)據(jù)驅(qū)動(dòng)的測(cè)試 4. 練習(xí):為既有代碼編寫單元測(cè)試 內(nèi)容三:?jiǎn)卧獪y(cè)試中的依賴和Mock工具 1. 依賴對(duì)單元測(cè)試的影響 2. 測(cè)試替身的類型 3. Stub和Mock工具 4. 設(shè)計(jì)接縫和依賴注入 5. 接口設(shè)計(jì)和重構(gòu) 6. 練習(xí):使用Mock框架隔離和控制依賴 |
單元測(cè)試模式 內(nèi)容四:好的(和不好的)單元測(cè)試 1. 單元測(cè)試的壞味道 2. 好的單元測(cè)試的設(shè)計(jì)和編寫原則 3. 單元測(cè)試模式 4. 單元測(cè)試的重構(gòu) 5. 練習(xí):?jiǎn)卧獪y(cè)試代碼的重構(gòu) |
為遺留代碼編寫測(cè)試 內(nèi)容五:和遺留代碼相關(guān)的單元測(cè)試問題 1. 為什么遺留代碼的測(cè)試那么難? 2. 遺留代碼的測(cè)試策略和技術(shù) 3. 練習(xí):為遺留代碼編寫測(cè)試 |
測(cè)試優(yōu)先和測(cè)試驅(qū)動(dòng)開發(fā) 內(nèi)容六:測(cè)試優(yōu)先 1. 測(cè)試優(yōu)先的可行性和必要性 2. 測(cè)試優(yōu)先和傳統(tǒng)測(cè)試策略的比較 內(nèi)容七:測(cè)試驅(qū)動(dòng)開發(fā) 1. 測(cè)試驅(qū)動(dòng)開發(fā)案例演示 2. 測(cè)試驅(qū)動(dòng)開發(fā)的方法 3. 練習(xí):使用測(cè)試驅(qū)動(dòng)開發(fā)方法編寫代碼 |
組織級(jí)的單元測(cè)試關(guān)注 內(nèi)容八:如何在組織級(jí)成功導(dǎo)入單元測(cè)試實(shí)踐 1. 單元測(cè)試的組織和管理 2. 單元測(cè)試和持續(xù)集成 3. 組織級(jí)導(dǎo)入單元測(cè)試的常見問題和應(yīng)對(duì)方案 |