編寫單元測試的10條理由
Anna寫了一篇10 reasons to write unit tests的文章,原文已經(jīng)打不開,不過其觀點(diǎn)還是非常不錯的。本文摘錄如下:
1. 不要讓客戶發(fā)現(xiàn)難堪的bug。在bug進(jìn)入產(chǎn)品生產(chǎn)環(huán)節(jié)前編寫足夠的測試場景來捕獲它們。
2. 對于復(fù)雜的場景,快速測試它,不必在程序中手動地重現(xiàn)去它們。
3. 經(jīng)常測試,在你離開的時候程序便不會出錯。你不可能總能了解你所編寫代碼的各種可能情況,尤其最初的程序并不一定是由你編寫的。
4. 盡早測試,就不需要編寫一些不必要的代碼,而可只關(guān)注關(guān)鍵部分。這可以使得代碼庫精簡且易于維護(hù)。同樣可以節(jié)約開發(fā)時間。
5. 同一代碼不必兩番調(diào)試。一旦你測試發(fā)現(xiàn)可能的bug后,你便可以快速地修正它。
6. 可以確保可讀性。單元測試可使代碼的意圖易于理解。
7. 確保可維護(hù)性。進(jìn)行單元測試可迫使你更好地實(shí)現(xiàn)封裝功能,從而使代碼易于維護(hù)而且方便增加新功能。
8. 重構(gòu)時無需擔(dān)心。運(yùn)行測試可確保一切功能如預(yù)期實(shí)現(xiàn)。
9. 節(jié)省測試時間。你可以將整個CPU用來執(zhí)行單元測試。
10. 更安全。對于增加一個新功能或者修改部分程序內(nèi)核后你是否經(jīng)常會感到擔(dān)心呢?(進(jìn)行單元測試后)這一切不再了。
11. 中獎:確切知道哪里出問題了。取代盲目的發(fā)現(xiàn)bug,測試可以告訴你問題及原因所在。舉例:程序會告訴你什么時候cart中增加了一個條目而cart顯示仍然是空的。它也會告訴你某個試圖增加的條目失敗了。
你是怎么看的呢?歡迎發(fā)表評論。
posted on 2014-10-11 11:04 順其自然EVO 閱讀(189) 評論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄