清貓砂、看病、陪玩,養貓的維護成本也很高啊。
如果鄉民們花費很多時間在維護測試案例,這可能就是High Test Maintenance Cost壞味道的表現。測試案例必須隨著待測程式的演變而一併修改,實屬正常現象。但如果發現測試案例越來越難以理解與維護,這個壞味道便慢慢地冒了出來了。一直到最後團隊成員終於受不了,要求安排「測試重構疊代(test refactoring iteration)」或「清理疊代(cleanup iteration)」來整理測試案例。
測試案例難以維護通常是因為之前曾經介紹過的幾種測試壞味道所引起,《xUnit Test Patterns: Refactoring Test Code》書中提到的有:Fragile Test、Obscure Test、Hard-to-Test Code。這三個壞味道之前已經介紹過了,在這裡想強調一下,原本屬於Code Smells與Behavior Smells分類的壞味道,如果不加以處理,最終會影響到整個專案,變成Project Smells。也就是「小病不治變大病」(好像是廢話)。
***
Teddy以前也經常受High Test Maintenance Cost壞味道所苦。現在回想起來,當時雖然知道測試案例需要重構,但卻無法具體分析要如何著手重構。哪些情況是可接受的,哪些又是要避免的壞味道?在介紹過這一系列測試案例壞味道之後,平常有撰寫測試案例的鄉民,應該可以體會箇中酸甜苦辣的滋味。再回頭檢視一次自己的測試案例,應該比較容易著手安排重構計畫。
***
友藏內心獨白:All programming is maintenance programming, including testing。
沒有留言:
張貼留言