IT 邦鐵人賽 Day 1 - 測試好麻煩,有很重要嗎?
為什麼會想寫這個主題?
常常在IT邦裡挖到不少含金量高的乾貨,讓我在學習時學到了很多觀念;在IT邦挖礦的過程中,意外發現程式設計裡竟然還有專門用來測試工程師們所寫的code是否能正常運作的「測試框架」。這個測試框架當然也是由工程師寫出來的程式碼所組成,所以無論是專案或是測試都是由工程師code出來的。
所以意思是,專案歸專案,測試歸測試,兩個是分開來的,要麻就是寫專案,要麻就是兩者都寫。
那這樣不是很麻煩嗎?
要寫專案又要寫出測試,太花時間了吧? 應該只需要做出專案後,把參數帶進去測試一下,自己手動點一點這個 link、那個 button 就好了?
沒有錯,程式設計裡的「測試」在很早以前,幾乎等同邊緣人,不受到大家重視,因為沒有人想在時間、資源及人力有限的情況下,還要多花心思多寫其他不會產生報酬的東西。
別人在做專案時,我正在寫測試的 code;別人快完成專案時,我可能才正開始著手進行專案的 code。光這樣是不是就讓你也產生了對測試的反感XD
滿滿的需求
但隨著科技日新月異,生活與科技的型態逐漸融合,導致專案內容日趨龐大且複雜,此外,需求增加、功能新增的可能性,也漸漸隨之提升。
今天客戶跟你說想要增加 A 功能,隔天跟你說 B 也不錯,不然兩個都要好了。
當專案上架開始使用時,面臨維修與新增功能的狀況,每當新增一個功能,可能會帶來未知的風險。
有測試程式者,可以再新增完成後,立即用跑一下測試,確認這次的新增是否會影響既有功能,馬上就知道有沒有問題。
沒有測試程式者,就必須慢慢手動測試慢慢抓漏,更糟的可能是,不小心漏掉了某些功能的組合,因此沒發現什麼問題,但此時 bug 早已悄然進入你的專案,準備給你驚喜,等到發現這個 bug 時,早就多了不知道幾百行 code,這時可能也不知道到底是哪部份出現問題,這下是真的毀了。
所以測試到底是什麼呢?接下來我們會用好長一段時間來讓大家了解~