Write tests. Not too many. Mostly integration.
簡評:這個標題實在不太好翻譯,大意就是:「寫測試。不用太多。大部分的集成測試。」
Guillermo Rauch(Socket.io 和 Zeit.co 的創始人)之前發了這樣一段 tweet:
Write tests. Not too many. Mostly integration.
很簡單,但很深刻。那麼具體應該怎麼來理解這句話呢?
Write tests
是的,對於絕大多數項目,都應該編寫自動化測試。不要覺得寫測試是浪費時間,或者偷懶。你可以將其理解為對你時間的一種投資,你應該重視你的時間。現在花些時間寫測試,總要好過在凌晨 2 點接到電話要你修復 bug。通常,良好的測試都能幫我們節約時間。
Not too many
「不需要追求 100% 的代碼覆蓋率」。當代碼覆蓋率超過了 70%,測試所能帶來的收益將會隨覆蓋率的進一步提高而減少(U 型曲線)。
為什麼?因為一個項目中肯定不會是 100% 的代碼都需要測試。當需要重構代碼時,你肯定也不希望還要重構大量的測試,維持這樣的測試實際上會過分拖慢你團隊的開發速度。
Mostly integration
目前已經有了很多類型的測試,各有側重。在這裡討論其中的三種測試形式:單元測試、集成測試和端到端測試。
圖片來自作者的「Testing JavaScript Applications」。
可以看到金字塔從下往上,測試會更慢的編寫和運行,並且在時間和資源方面也會耗費更多,但相對的也代表測試更可靠。因為集成測試在速度、消耗和可靠性之間取得了一定的平衡,這也是為什麼我們應該在集成測試上花費更多的精力。
以上就是這篇文章的大概介紹,更多詳細內容感興趣的同學可以閱讀原文。: )
原文:Write tests. Not too many. Mostly integration.
日報擴展閱讀:
- Android 中使用持續集成
推薦閱讀:
※Selenium Webdriver使用Click失效問題的解決方法
※如何從零開始學習軟體測試
※一個維護了數年的龐大的C++ codebase如何一步一步增加testcase,讓項目工程化,可靠。?
※你如何看待軟體測試思想?
※談談軟體測試人員有哪些前景
TAG:软件测试 |