第25章
壓力循環(huán)
- 壓力越大、測試越少。測試越少,錯誤越多。錯誤越多,壓力越大
- 壓力越大、自動測試越多。自動測試越多、錯誤越少。錯誤越少,壓力越小。
測試應(yīng)在在編寫代碼之前編寫。
相互獨立的測試
- 測試用例要迅速
- 測試用例要獨立
測試清單
編寫測試前,編寫測試的清單。
盡量讓測試都通過,如果有測試不通過,不通過的測試也要少。
登山時,不管任何時候,四肢中必須與歐3個附在物體上。如果松開兩只以上,危險立刻會上升。
測試優(yōu)先
編寫代碼前,編寫測試。
如果先編寫測試,壓力就會小很多。這樣我們會更樂意與編寫測試,壓力就會更小,進入良性循環(huán)。
斷言優(yōu)先
使用斷言來驗證結(jié)果的正確性。
測試數(shù)據(jù)
- 編排數(shù)據(jù)
編排數(shù)據(jù)時,沒有必要編排無意義的數(shù)據(jù)。即如果1和2之間沒有概念上的差別,那就使用一。
測試是對一個概念進行測試。若兩個數(shù)據(jù)屬于同一個測試的概念,則只使用一個。 - 真實數(shù)據(jù)
真實數(shù)據(jù)對如下場景非常有用- 在使用根據(jù)實際運行所采集到的外部事件序列來測試實時系統(tǒng)時,
- 在將目前系統(tǒng)的輸出與以前系統(tǒng)的輸出進行匹配時(平行測試)
- 在對某種仿真系統(tǒng)進行重構(gòu)而期望在完成時得到完全相同的結(jié)果時
顯然數(shù)據(jù)
在測試用使用“硬編碼”的數(shù)據(jù),這樣可以讓它們之間的關(guān)聯(lián)更加明顯,可以使得編程更容易。
顯然數(shù)據(jù)(Evident Data)是在編碼中不要使用魔鬼數(shù)字(Magic number)的例外。
如果代碼中已經(jīng)有定義好的符號常量,則推薦用符號常量。