2012年10月18日 星期四

Debug-Later Programming v.s. Test-Driven Development

  • Debug-Later Programming(DLP)
    • Traditional way of programming
    • 設計架構之後開始寫程式
    • 當程式寫完後開始進行測試以及Debug
      • 測試和Debug的過程會佔據軟體開發超過一半的時間
      • late feedback(bug需要花好幾天、數周甚至超過一個月才會讓程式開發者知道)
      • 軟體開發時間拉長,而且難以估計時間
  • Test-Driven Development
    • 在寫程式前先撰寫unit test
      • Tests are small
      • 自動化測試,自動測試是TDD的關鍵
    • 通過所有測試即完成程式
    • 新增功能的步驟
      • 加入一個小的測試程式
      • 跑一遍所有的測資,檢查是否通過所有測項
      • 修改產品的程式碼到通過測項
    • TDD的好處
      • Bug變少
      • debug時間變少
      • 減少發生bug的side effect
      • 測試程式本身就是軟體文件
      • 睡覺睡得安穩,週末不會被打擾
      • 監控專案進度
      • TDD is fun

    沒有留言:

    張貼留言