通過實例講解,并對應(yīng)到學(xué)員的實際工作問題,使學(xué)員能夠把傳授的經(jīng)驗和自己的問題結(jié)合起來,有效的啟發(fā)思路、激發(fā)興趣、并掌握解決問題的基本方法。
本課程不單單是單元測試基本概念的技能講解,而是把技能和問題的場景結(jié)合,關(guān)注如何應(yīng)用單元測試解決問題,尤其關(guān)注需要通過經(jīng)驗積累的高級技能。課程中的理論和經(jīng)驗來自于對大量開發(fā)人員常犯錯誤與所遇問題的歸納、分析與總結(jié),有針對性的給出解決方法,課程將重現(xiàn)這些問題的經(jīng)典案例。
階段一、入門學(xué)習(xí)
一、測試驅(qū)動的思維模式
1、功能理解分析
初步評估功能任務(wù)書(使用評估視角模型)
分解功能任務(wù)書文字描述(理解文字背后含義)
原型分析或繪制原型草圖(理解文字的界面表達)
功能操作級別的分解(細(xì)化業(yè)務(wù)流程)
2、功能解決方案
動態(tài)設(shè)計-操作步驟的時間編排
靜態(tài)設(shè)計-數(shù)據(jù)實體的結(jié)構(gòu)規(guī)劃
約束設(shè)計-前置與后置約束、邊界約束、時間約束
技術(shù)設(shè)計-選擇適合框架API、語言表達方式
3、功能詳細(xì)設(shè)計訓(xùn)練
訓(xùn)練1:全面功能分析過程訓(xùn)練
訓(xùn)練2:健壯性功能設(shè)計過程訓(xùn)
4、歸納功能設(shè)計視角與方法,形成模式
二、測試的思維模式
1、攻擊設(shè)計思維
攻擊路線圖(發(fā)現(xiàn)從哪里攻擊?有多少種攻擊方式?)
制定攻擊的方法(策略方案)
2、測試方案構(gòu)造
測試數(shù)據(jù)構(gòu)造(動態(tài)路徑中測試因子,引發(fā)缺陷的因子)
測試路徑斷點構(gòu)造(攔截測試數(shù)據(jù)執(zhí)行結(jié)果)
測試斷言構(gòu)造(缺陷的判斷標(biāo)準(zhǔn))
測試依賴項構(gòu)造(測試打樁-測試替身MOCK)
3、測試用例訓(xùn)練
訓(xùn)練1:構(gòu)造測試數(shù)據(jù)訓(xùn)練
訓(xùn)練2:構(gòu)造路徑斷點與斷言訓(xùn)練
4、歸納測試思考視角與方法,形成模式
階段二、單元測試訓(xùn)練
1、后測試模式訓(xùn)練
展示先開發(fā)后測試的過程
訓(xùn)練1:案例代碼的編寫
訓(xùn)練2:單元測試代碼編寫
訓(xùn)練3:分析測試結(jié)果
2、先測試模式訓(xùn)練
展示先測試后開發(fā)的過程
訓(xùn)練1:依據(jù)案例編寫測試代碼
訓(xùn)練2:執(zhí)行測試用例,編寫實現(xiàn)代碼
訓(xùn)練3:迭代完成實現(xiàn)代碼
3、對比兩種測試模式
列舉兩種測試的優(yōu)點與缺點
計算兩種測試的時間效率
評估兩種測試的質(zhì)量效果
4、接口測試訓(xùn)練
展示接口測試過程
訓(xùn)練1:構(gòu)造接口測試用例
訓(xùn)練2:執(zhí)行接口測試用例
訓(xùn)練3:分析測試執(zhí)行結(jié)果
階段三、深度單元測試技術(shù)
1、數(shù)據(jù)驅(qū)動單元測試
測試數(shù)據(jù)復(fù)用的形式
測試數(shù)據(jù)注入的方式
測試數(shù)據(jù)存儲方式
讀取測試數(shù)據(jù)代碼方案
2、單元測試打樁(Mock)
靜態(tài)打樁與動態(tài)打樁
Mock框架結(jié)構(gòu)分析
可變參函數(shù)打樁
Proxy(代理)的方式打樁
3、重構(gòu)測試類
發(fā)現(xiàn)測試代碼中壞味道
重構(gòu)壞味道的策略
實施測試代碼重構(gòu)
歸納總結(jié)重構(gòu)經(jīng)驗