由 TDD 談起

TDD 的基本流程:「測試 -> Coding -> 重構」循環。

「程式碼都還沒實作,是要測試什麼?」這是許多人剛接觸TDD(Test–Driven Development1 2)的第一個疑問。

其實 TDD 的先行測試,本質上也是在確認需求及設計API。相當於傳統 SA/SD 階段的部分工作內容,只是產出型式不同。由於先行測試包含實際使用案例,也可以促使 SD 以其它開發人員的角度設計API介面。

TDD的概念是撰寫剛好足以通過測試的程式碼,然後再進入下一個循環。程式的邏輯完整度,便隨著測試項目的增加而逐漸完備。隨時保持所有測試案例通過的準則,則保證程式的正確性。

而程式品質、維護性的問題,就是TDD最後一關「重構」的任務。不做重構的TDD,通常會是大量難以維護的糟糕程式來源。即便有再完整的測試涵蓋度,糟糕的程式碼還是對未來的開發效率有極大的負面效應。

UDE 並未要求專案執行 TDD

雖然很多重要的單元測試概念,都與TDD有關。但是UDE並未要求專案執行TDD。因為是否能導入、執行TDD,跟太多因素相關:包括專案性質、成本、人員訓練、開發流程(協作方式)...等。

「UDE-TestKit」只是提供 UDE 本身撰寫單元測試時的一些經驗及開發使用的輔助套件。


  • 1. 參考書目:Test Driven: TDD and Acceptance TDD for Java Developers
  • 2. 參考書目:Clean Code: A Handbook of Agile Software Craftsmanship

results matching ""

    No results matching ""