綠燈 | 紅燈

妙思資訊

2012年5月30日 星期三

先修Bug 還是先寫測試

今天經過六褔客棧,發現後面有一尊四面佛廟,香火鼎盛,這尊佛像有4個面,不同本地的佛像只有一個面向。這就讓我想起測試時,我們只會測某一種面向的情節,而忽略其它面向,當某種情況下,這個面向被製造出來後,程式的Bug也就產生了。
當程式遇到bug,一般反應就是先把bug找出,修復它,就上線。但下次換人改code時,同樣的bug是否又會生出呢?通常又改出相冋bug的機會是很高的。
在TDD的方法論中有提到,當遇到bug 時,是先寫一支測試,測試在這種不同的面向情境是否會變成紅燈,如果在其它面向情境是綠燈,而在這個面向會產生紅燈,那這支測試就可抓到這個bug 。
當測試完成後,就可開始去修正bug,修完bug再跑一次測試,看是否可變成綠燈,如果是綠燈,那不僅bug修好,程式也多了一支測試,下次換人改,也就不怕又改出相同的bug了。

沒有留言: