部落格設計外觀與功能測試用
TDD好處
客戶開出20個要求,你們經過一番討論過後,寫成20x項的測試案例,
寫程式讓測試案例全通過,直接證明了"完成客戶的需求",
大幅減少工程師最討厭的文書交付工作,
後續更新與維護也輕鬆,又能最貼近客戶的預期!
TDD重要概念
首先是寫測試案例,即"嘗試列出使用者需求"重點是"通過所有測試案例",即"滿足所有的使用者需求"
需求會變/搞錯,測試案例會變會增加,
關鍵是"如何讓程式碼改變最少,就能適應新需求呢?"
要有效地實踐TDD,個人認為的重要前提
- 一定的軟體開發經驗,熟練Coding與撰寫自動化測試
- (不適合新手. 沒寫過測試程式的人與理論家,容易迷失方向)
- "融會貫通"設計模式
- (良好的維護架構,需求多變化時,能改最少的Code)
- 與其他部門(商業. 行銷. 設計領域等)的溝通能力
- ("頻繁地溝通需求的細節"很重要,大公司會困難地多)
- 目前的專案適不適合TDD?
- (撰寫模擬外部服務的回應時,是否學習或時間成本過大)
- (可找看看優良的TDD Framework或開源Library)
TDD常見的問題
- 懶得寫測試,所以用TDD
- TDD不是測試,是以使用者需求(測試案例)為中心的開發方法
- 非public method要測嗎?
- 程式覆蓋率高不是絕對指標,參見以下網站文章[Day 4]
提供實踐TDD的網站,要有點閱讀能力與耐心去吸收
print("Test Hello")
沒有留言:
張貼留言