實例化規格與行為驅動開發實作班

最新梯次

台北班:2024年03月9、10日(六、日) /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)

  • 泰迪軟體創辦人,從事敏捷開發顧問、教育訓練、軟體工具導入等服務。
  • 台北科技大學機電科技研究所(資訊組)博士班畢業,有二十年以上軟體開發經驗。
    曾擔任程式設計師、技術總監、敏捷專案經理、軟體架構師、敏捷顧問、敏捷課程講師。
  • Teddy從2001年接觸與實踐敏捷方法XP,在2008年開始帶領他的第一個Scrum團隊。2012年成立泰迪軟體,擔任不同產業的敏捷教練,顧問與培訓課程講師至今。
    Teddy同時也在北科大資工所擔任兼任助理教授,講授「敏捷與精實軟體開發」以及「軟體架構」。
  • 2012年6月出版暢銷書「笑談軟體工程:敏捷方法的逆襲」,獲iThome週刊推薦為2012年iT人必看好書。
    2014年5月,出版「笑談軟體工程:例外處理設計的逆襲」。
  • 2007年起,Teddy經營部落格「搞笑談軟工」至今,閱讀人次破四百萬。內容涵蓋軟體工程、敏捷開發方法、設計模式、軟體測試與重構、例外處理等內容。

 

課程資訊


台北假日班:2024年03月9、10日(六、日)

時間:09:30~16:30,共十二小時
地點:近台北火車站

費用

原價:$40,000元
早鳥優惠: NT$33,900/人,2024年2月20日前報名。
泰迪之友票:$33,000 元
2人團報,$31,900 元/人
費用已包含:發票、教材、午餐、茶水。

 

本課程已結業梯次:

  • 2023年12月18、19日 (一、二)

2024年最新開課班次:

  • 2024年03月9、10日 (六、日)

 

注意事項

  • 報名方式:先填寫線上報名表,確認開課後將收到匯款通知,再行繳費即完成報名。
  • 主辦單位將於開課日三天前以e-mail寄發上課通知,若未收到通知者請來電確認。
  • 已完成繳費學員若因故無法上課,在開班日前一日申請退費者,退還已繳學費全額。開班日當天到課程進行1/3申請退費者,退還已繳學費四成。課程進行超過1/3之後無法上課將不予退費。 未達開班人數則延期或全額退費。
  • 結業證書需全程出席方可獲得。
  • 開課單位保留是否接受報名之權力。如遇天災或其他不可抗拒因素導致原訂日期無法開課,開課單位保留修訂日期權利。