2014年2月25日 星期二

部落格測試文章#1 - TDD閱讀筆記

部落格設計外觀與功能測試用




TDD好處

客戶開出20個要求,你們經過一番討論過後,

寫成20x項的測試案例,

寫程式讓測試案例全通過,直接證明了"完成客戶的需求",

大幅減少工程師最討厭的文書交付工作,

後續更新與維護也輕鬆,又能最貼近客戶的預期!


TDD重要概念

首先是寫測試案例,即"嘗試列出使用者需求"

重點是"通過所有測試案例",即"滿足所有的使用者需求"

需求會變/搞錯,測試案例會變會增加,
關鍵是"如何讓程式碼改變最少,就能適應新需求呢?"


要有效地實踐TDD,個人認為的重要前提

  1. 一定的軟體開發經驗,熟練Coding與撰寫自動化測試
    • (不適合新手. 沒寫過測試程式的人與理論家,容易迷失方向)
  2. "融會貫通"設計模式
    • (良好的維護架構,需求多變化時,能改最少的Code)
  3. 與其他部門(商業. 行銷. 設計領域等)的溝通能力
    • ("頻繁地溝通需求的細節"很重要,大公司會困難地多)
  4. 目前的專案適不適合TDD?
    • (撰寫模擬外部服務的回應時,是否學習或時間成本過大)
    • (可找看看優良的TDD Framework或開源Library)


TDD常見的問題

  1. 懶得寫測試,所以用TDD
    • TDD不是測試,是以使用者需求(測試案例)為中心的開發方法
  2. 非public method要測嗎?
    • 程式覆蓋率高不是絕對指標,參見以下網站文章[Day 4]


提供實踐TDD的網站,要有點閱讀能力與耐心去吸收
print("Test Hello")

沒有留言:

張貼留言