2. 自動檢查結果
一句話:沒有自動檢查結果,再好的自動化也是白搭。
3. 可重復
一句話:只能運行一次的單元測試也是白搭。
4. 獨立
其實測試的獨立,也有利于實現可重復。剛做單元測試的時候,曾經犯過這樣的錯誤,我在寫A測試的時候,給數據庫插入了一條記錄,然后我在寫B測試的時候,就覺得我為什么要在兩個測試中分別創建兩條數據?直接用上一個測試的數據就可以了。不過結果還好,我很快就發現這樣做是有問題。單元測試的獨立,就是運行測試的人可以先運行A測試,也可以先運行B測試,也可以單獨運行A或者B測試,甚至可以A和B測試同時運行。
5. 簡單
有時候,測試的代碼寫的有點復雜,嵌套的語句有點多,可能有些人會覺得寫出復雜的單元測試代碼才能體現自己的水平,但是,我覺得對于單元測試代碼來說,應該越簡單越好。最好就是順序執行下來了,不要有什么分支。因為測試代碼本身就是也是代碼,那么怎么去驗證測試代碼寫的正確呢?答案可能是再寫一個測試代碼去驗證第一個測試代碼。這樣就會有死循環了。一個簡單的假設就是,如果測試代碼足夠簡單,那么就可以認為測試代碼是正確的,無需其他代碼對之進行測試。
6. 專注
一個測試應該只測試一個點。如果在一個測試里面驗證多個測試點,看起來是比較高效的一種做法,但是當測試中有Assert語句拋出異常的時候,很有可能需要花大量的時間才能找到真正錯誤的代碼,這樣不利于實現前面提及到的“定位BUG”。
7. 注釋
注釋其實就是把代碼抽取成可閱讀的測試用例,如果別人看自己的程序,可以快速理解測試代碼;同時注釋還能喚醒自己沉睡的記憶和當時的測試思路。
國內做單元測試的測試工程師少,做集成測試、接口測試的也不多,埋頭做事,別忘抬頭看路。時?偨Y,提高自我。
文章來源于領測軟件測試網 http://www.kjueaiud.com/