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