[資訊] 單元測試、整合測試與端對端測試

一次搞懂單元測試、整合測試、端對端測試之間的差異
https://blog.miniasp.com/post/2019/02/18/Unit-testing-Integration-testing-e2e-testing

【譯】做好這幾件事,代碼品質可以提升一個檔次
https://mp.weixin.qq.com/s/9FEG8YaW6uCt_05tOqi7rw

一、測試的種類
不同的測試類型中,所需要保護的面向不太相同。
1.單元測試 (Unit testing)
2.整合測試 (Integration testing)
3.端對端測試 (End-to-end testing) (E2E testing)

二、測試的價值定位
1.單元測試
執行速度快 (測試範圍小)、可靠度高 (確保小部分程式碼正常運作)、有效隔絕失敗 (從數萬行程式碼之間隔絕出可能的錯誤)。
2.整合測試
跨越單元測試的範圍,對不同模組之間的交互作用進行測試,意味著你也要準備更完整的模擬環境。
3.端對端測試
端對端測試是從使用者的角度出發對系統進行測試,反映出使用者需求是否滿足,因此商業價值較高,但要對一個複雜的系統進行完整的 E2E 測試開發,可能會有相當多的測試案例,如果真的要做到 100% 的測試覆蓋率,成本也會相對的提高許多。

一個企業表單就可能有數十種到上百種操作方式,有時候將所有可能的操作動線都寫成自動化的端對端測試程式腳本是不切實際的。除非你真的認為每一個步驟的重要性真的都很高,客戶不容許有任何一點失誤,那就真的有可能需要投入 100% 的測試覆蓋率。但實務上來說,我們都會優先針對商業價值最高的功能進行端對端測試開發,用以保護該網站最重要的需求。


#單元測試, Unit testing, 整合測試, Integration testing, 端對端測試, End-to-end testing, E2E testing

留言