最新梯次
台北班:2025年03月15、16日(六、日) /09:30-16:30
實例化規格(Specification by Example;SBE)與行為驅動開發(Behavior-Driven Development;BDD)是兩種主流的由外而內的測試驅動開發方法(Outside-In TDD)。本課程以實際軟體開發案例「Miro儀表板功能」為例,帶領學員走過SBE與BDD流程並實際完成可執行規格(executable specificatioin)以及從中體驗產生活文件 (living documentation)的過程。課程從專案目標開始,透過Impact Mapping等方法探索系統功能,並以列舉範例來訂定規格。接著我們採用ezSpec開源工具,以Gherkin語法(Given-When-Then)將實例化規格轉變成自動化驗收案例。透過ezSpec的報表功能,可初窺產生與維護規格活文件的方法。本課程涵蓋SBE, BDD, TDD, Gherkin, ezSpec與Living Documentation,讓您六種願望一次滿足。
課程內容:
Teddy認為學習SBE/BDD/TDD有5大難處:(1) 你如何從專案/產品目標,透過「舉例」的方式來訂定系統規格?你怎麼知道例子是否足夠?(2)你怎麼「用文字清楚表達」你的例子?很多人使用Gherkin (Given-When-Then) 語法撰寫例子(Scenario或Scenario Outline),但所寫出來的例子與使用者介面強烈耦合,把SBE/BDD/TDD變成一種「測試腳本」,這是一種嚴重誤用。
(3)透過例子清楚表達規格之後,如何將這些例子轉化成可執行規格(executable specification)?傳統上開發人員使用Cucumber、SpecFlow、JBehave等BDD工具,這些工具Teddy統稱為External DSL,對開發人員來說,學習與使用這些工具都將增加落實SBE/BDD的技術障礙。
(4)如何透過可執行規格來驅動production code的設計與開發?學習TDD/BDD的人都知道,行為 (作為可執行規格的驗收測試)驅動production code的撰寫。很多人寫完驗收測試之後,就卡在不知道production code要怎麼寫。(5)最後,順利使用工具撰寫自動化可執行規格與production code之後,如何完成最後一哩路:落實活文件?
本課程將逐一克服這五大困難點,讓學員在課後具備落實SBE/BDD/TDD的「自我求生、自我成長」能力。
課程大綱
- 測試驅動開發(TDD)、實例化規格(SBE)、行為驅動開發 (BDD)簡介
- Requirement and Specification
- Specification, Program, and Test
- TDD/BDD Cycle, Process, and Role
- Specificatioin (Rule) and Example
- SEB process patterns
- BDD process
- 實作練習
- 了解問題領域-Miro Dashboard子系統
- 透過Impact Mapping找出Features
- 透過Example Mapping找出Rules與Examples
- 寫下Key Examples
- 用ezSpec寫下可執行規格(executable specification)
- Gherkin, Cucumber, ezSpec簡介與比較
- Gherkin寫作技巧練習
- 撰寫單元測試與Production Code
- 你需要領域模型
- 初探活文件(living documentation)
- 回顧與討論
***
課程效益
- 徹底了解SBE, BDD, TDD的真意。
- 採用由上而下、由外而內的方式展開系統開發流程。
- 透過關鍵範例來規範系統規格。
- 了解如何寫出清楚明白,可代表系統規格的Gherkin語句。
- 使用ezSpec開源工具,輕鬆將實例化規格寫成可執行驗收案例。
- 了解活文件的用途以及如何從零開始產生活文件。
- 獲得立即可用的高品質參考範例。
- 增加嘴砲功力 XDD。
專業師資:陳建村 (Teddy Chen)
|
參考資料閱讀:
- 搞笑談軟工部落格所有 TDD/BDD 系列文章
- 使用ezSpec落實行為驅動開發與實例化需求(1):領域模型介紹
- 使用ezSpec落實行為驅動開發與實例化需求(2):Feature與Story
- 使用ezSpec落實行為驅動開發與實例化需求(3):撰寫Scenario與傳遞簡單參數
- 使用ezSpec落實行為驅動開發與實例化需求(4):在Scenario中使用表格
- 使用ezSpec落實行為驅動開發與實例化需求(5):撰寫Scenario Outline的四種方法
- 使用ezSpec落實行為驅動開發與實例化需求(6):Scenario Outline
- 使用ezSpec落實行為驅動開發與實例化需求(7):將共用步驟寫在Background
- 使用ezSpec落實行為驅動開發與實例化需求(8):規範平行行為
- 使用ezSpec落實行為驅動開發與實例化需求(9):內建報表
- 使用ezSpec落實行為驅動開發與實例化需求(10):撰寫自訂報表
常見問題:
Q:請問參加這個課程需要有什麼能力嗎?
A: 具備物件導向技術與領域驅動設計基本觀念為佳。
Q: 請問這門課的上課方式為何?
A:包含理論講解、程式練習範例,理論與實務兼顧。
Q: 實作練習採用何種語言?
A:課程程式實作練習以Java語言為主 (ezSpec開源工具使用Java開發),提供Java版本範例。
課程資訊
台北假日班:2025年0315、16日(六、日)
時間:09:30~16:30,共十二小時
地點:泰迪軟體(近台北火車站、北門)
費用
原價:$27,900元早鳥優惠: NT$22,900/人,2025年2月15日前報名。
泰迪之友票:$22,000 元
2人團報,$20,900 元/人
費用已包含:發票、教材、午餐、茶水。
本課程已結業梯次:
- 2023年12月18、19日 (一、二)
2025年最新開課班次:
- 2025年03月15、16日 (六、日)
注意事項
- 報名方式:先填寫線上報名表,確認開課後將收到匯款通知,再行繳費即完成報名。
- 主辦單位將於開課日三天前以e-mail寄發上課通知,若未收到通知者請來電確認。
- 已完成繳費學員若因故無法上課,在開班日前一日申請退費者,退還已繳學費全額。開班日當天到課程進行1/3申請退費者,退還已繳學費四成。課程進行超過1/3之後無法上課將不予退費。 未達開班人數則延期或全額退費。
- 結業證書需全程出席方可獲得。
- 開課單位保留是否接受報名之權力。如遇天災或其他不可抗拒因素導致原訂日期無法開課,開課單位保留修訂日期權利。