可執行的規格
TDD 的全文為:test-driven development,不單是測試,他也是一個開發方法;先定義規格,再開發軟體,正是 TDD 所提倡的,不要把 test 當作 test,把 test 當作 spec,作為規格的存在,不只是可以執行,也要是可讓人閱讀的,可執行的規格才是進行 TDD 最終的產出。
有了規格(spec)在之前豐田式生產所討論到的浪費才有機會杜絕:
- 等待的浪費,搬運的浪費:有了規格,前後端可以同步開發
- 不良品的浪費:有了規格,明確定義什麼是正確的,因為可以被執行,所以可以隨時檢查有無錯誤產生
- 動作的浪費,加工的浪費:有了規格,可以很方便的進行小部分功能開發驗證
- 製造過多(早)的浪費:有了規格,不會發散開發出規格以外的功能
因為規格又是可執行的,因此就可以進行驗證,開發能量可以被累積,所有 spec 可以重覆被執行,正是豐田式生產與敏捷開發的精神:不浪費。
再開始 TDD 實作介紹之前,希望可以讓讀者對於 TDD 所要解決的問題能有認知,如此一來,才能知其所以然,能夠接受,自然而然就做得到。
接者將從 test 的種類開始介紹,了解不同層級的 test 才可以在適當的時候選用。