在《單元測試的藝術》這本書中提到一個優秀的單元測試應該具備什麼樣的特質

1.它應該是自動化,而且可被重複執行的

2.它應該很容易被實現

3.它到第二天應該還有存在的意義(指不是臨時性的)

4.任何人都可以按個按鈕就執行它

5.它的執行速度應該很快

6.它的執行結果應該一致(如果執行過程中沒有改變任何東西,它執行多次的結果應該都是一致的)

7.它應該要能完全掌控被測試的單元

8.它應該是完全被隔離的(執行時獨立於其他測試)

9.如果它的執行結果是失敗的,應該要能很簡單清楚地呈現我們的期望為何,發生問題的原因在哪

 

書中也有提到說很多人會把對軟體進行測試這個行為與單元測試的概念混為一談,要釐清這個誤解,

可以先回顧一下過去自己寫的測試,並且回答以下問題

1.我兩週前所寫的單元測試,今天還能正常執行並且得到結果嗎?幾個月前寫的呢?幾年前的呢?

2.我兩個月前寫的單元測試,我團隊中任何一個人是否都能正常執行它們並得到結果呢?

3.我能在幾分鐘內跑完所有的單元測試嗎?

4.我能一鍵執行所有我寫過的單元測試嗎?

5.我能在幾分鐘內寫出一個基本的單元測試嗎?

 

如果上述的問題有任何一個答案是「不能」,那代表有很大的可能你寫的並不是單元測試。

當然你很可能在做「某種」測試

那你可能會問:「那我之前做的都是什麼測試啊?」

書中提到說,你做的很有可能就是「整合測試」

 

什麼是整合測試?和單元測試又有什麼不同?

點這,鄉民們可以參考上次我分享的這篇文章哦

 

arrow
arrow
    文章標籤
    單元測試 單元測試的藝術
    全站熱搜

    Mark Zhang 發表在 痞客邦 留言(0) 人氣()