相信身為一位工程師勢必要會寫測試!
應該算是基本功吧!?
今天就來介紹什麼是測試,測試並不僅僅是手動測試每項功能是否正常而已。
在專案初期,或許會覺得自己手動點一點、輸入一些資料,確認畫面中每項操作能動
就好。
但隨著程式碼越來越多,功能越來越複雜時,會發現光靠手動測試根本來不及,甚至會漏掉一些重要情境。
這時候,自動化測試就能幫你省下大量時間與心力。
所謂測試,其實就是把「期待的結果」寫成程式,讓電腦幫我們驗證。舉例來說,如果我們有一個加法函式 add(1, 2),我們就可以透過測試來檢查它是不是確實回傳 3。這樣看似簡單的驗證,當規模放大成數百個函式、數千個邏輯組合時,測試的重要性就會完全展現出來。因為只要程式一修改,測試可以馬上告訴你是否有地方壞掉,而不需要人工反覆操作。
大致上可分成:
測試都應遵循AAA模式:
老實說通過測試也不能保證程式碼是完全沒有問題的,主要是為了盡可能地減少 bug 發生,所以正確的開發流程會是先寫測試再進開發。
但待過的公司比較少在這樣做,都還是屬於先開發再補測試,這時很可能會遇到怎麼修測試都會失敗的狀況發生,TDD 在業界常被跳過的主因通常是開發時程壓力大、短期內看不到效益,但真的是這樣嗎XD
那麼今天就介紹到這,明天見ㄅㄅ!