測試開發-TDD、BDD、DDD,易懂難做

測試開發-TDD、BDD、DDD,易懂難做

最近在看測試開發的相關書籍

越看越覺得很難做

書中說明的範例都太漂亮了

配上測試開發的說明就是完整的流程

完美又無懈可擊

 

但是BUT

在現實中所遇到的真實狀況

會很複雜又麻煩

還有資料庫的操作

跟最討厭的需求不斷改變

 

在一開始寫CODE時

測試很難寫出跟最後產出的CODE相配

 

所以

我改變做法

已所知的需求跟目的下

先寫出第一版可以執行的CODE

確認程式是正確而且可以執行的

當MVP交付

 

儘快提供給真正的USER做畫面、功能、報表、資料的確認後

再依第一版的CODE去翻寫出TEST CODE

然後再依TEST CODE寫第2版可上線的CODE

 

如果真正的USER不做確認就停止開發

直到USER回覆

 

這樣做的好處是把USER當做開發人員

寫出USER真正想用的功能

來減少需求上的理解錯誤

加快驗收的速度

 

每寫好1個功能就RELEASE給USER用

要求每週交付給USER

也要USER在一週內回覆

(不要瀑布/隕石開發)

 

當USER確好所有系統功能都正確後

就進入重構CODE

這時才寫TEST CODE

並修正資料庫

然後寫出完整最終可上線的版本CODE

 

通常

依經驗來說

至少要寫到第3版後

USER的需求跟系統的核心才會完整確認

在重構時也不是單純的簡化CODE

而是考慮到擴充性

把CODE改的更有彈性

 

 

整個開發過程不只放在測試開發

而是把USER當成開發的一份子

直接拉進開發流程當測試驗收

 

跟測試開發比較

USER更為重要

 

千萬不要放過USER

搞錯目標、重寫CODE代價太大了

 

 

 

 

 

自我LV~