測試驅動開發是敏捷開發中的一項核心實踐和技術,也是一種設計方法論。TDD的原理是在開發功能代碼之前,先編寫單元測試用例代碼,測試代碼確定需要編寫什麼產品代碼。TDD雖是敏捷方法的核心實踐,但不只適用於XP(Extreme Programming),同樣可以適用於其他開發方法和過程。
TDD的基本思路就是通過測試來推動整個開發的進行,但測試驅動開發並不只是單純的測試工作,而是將需求分析,設計,質量控制量化的過程。
TDD的重要目的不僅僅是測試軟體,測試工作,保證代碼質量僅僅是其中一部分,而且是在開發過程中幫助客戶和程式設計師去除模稜兩可的需求。TDD首先考慮使用需求(對象、功能、過程、接口等),主要是編寫測試用例框架對功能的過程和接口進行設計,而測試框架可以持續進行驗證。
=============================
特性
優點:在任意一個開發節點都可以拿出一個可以使用,含少量bug並具一定功能的產品。
缺點:增加代碼量。測試代碼是系統代碼的兩倍或更多。
TDD = TFD + refactoring
(TFD -- Test First Development)
計算機領域:
Test Drived Develop