March 19 14:42~15:06
圖片取自PPT線上圖庫。
介紹完Code Smells和Behavior Smells這兩個分類的測試壞味道,接下來介紹Project Smells分類的壞味道。首先介紹Buggy Tests。
如果鄉民們經常在測試案例中發現bug(測試案例寫錯),這就表示鄉民們的專案具有Buggy Tests壞味道。測試案例做為production code的安全網,用來確保production code的正確性。如果這張網子有很多破洞,我們還能信賴它能夠提供安全保障嗎?Production code的功能還是正確的嗎?就很值得懷疑啊。
***
《xUnit Test Patterns: Refactoring Test Code》書中提到導致這個壞味道的情況有:
- Fragile Test:脆弱的測試案例是引起Buggy Tests的主要原因之一。你覺得對於待測程式的修改並不會影響測試程式,但是程式程式卻無法編譯,或是執行失敗。耶,到底是誰出了問題勒?!
- Obscure Test:難以理解的測試案例也是發生Buggy Tests的原因,而且經常會導致負負得正的結果。也就是測試案例是通過的,但其實待測程式的行為是錯的。換句話說,測試案例寫錯以至於沒有找出待測程式錯誤的行為。
- Hard-to-Test Code:很難測試的程式碼也容易發生Buggy Tests。像是遺留代碼(legacy code)或是與硬體、韌體或系統核心相關的程式碼,都不太好測,它們的測試案例也比較容易出錯。
***
從專案的角度來看,如果測試程式的品質不良,很難相信產品的品質是優良的。所以,要提高團隊對於產品的品質,首先要提升測試程式的品質。
***
友藏內心獨白:不寫測試不就沒有這個壞味道了嗎?!
沒有留言:
張貼留言