標籤:

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:软件测试 |