l

2015年4月7日 星期二

測試案例壞味道(13):Buggy Tests

March 19 14:42~15:06

image

圖片取自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)或是與硬體、韌體或系統核心相關的程式碼,都不太好測,它們的測試案例也比較容易出錯。

***

從專案的角度來看,如果測試程式的品質不良,很難相信產品的品質是優良的。所以,要提高團隊對於產品的品質,首先要提升測試程式的品質。

***

友藏內心獨白:不寫測試不就沒有這個壞味道了嗎?!

沒有留言:

張貼留言