分層測試系列文章
https://www.cnblogs.com/yuxiuyan/tag/分層測試/
1. 什麼是集成測試
集成測試是在模塊接口的基礎上,將所有涉及模塊按照設計要求(比如根據架構圖)組裝成子系統,對系統接口進行正確性校驗的測試技術。
通過集成測試可以暴露出這些模塊在集成交互時的缺陷,這些缺陷在對各自模塊進行接口測試時可能是無法暴露的。
2. 集成測試的模型
可以看到,集成測試的用例模塊是跟業務模塊獨立存在的,並且邏輯也比接口用例要複雜,通過模擬外部使用者行爲(有可能是用戶,也有可能是其他子系統)的方式,來測試對應的系統或子系統。
3. 集成測試的優點
-
減少連通性問題:集成測試通過對子系統或系統的全面分析,大大降低了出現嚴重系統級連通性問題的可能性。
-
完善測試體系:單模塊/接口測試無法發現的問題,在集成測試階段可以發現。
4. 集成測試的挑戰
-
測試複雜性: 集成測試意味着測試兩個或多個集成系統以確保系統正常工作。不僅要測試集成鏈路,還要進行考慮環境的詳盡測試,以確保集成系統正常工作。可能存在可應用於測試集成系統的不同路徑和排列。
-
管理複雜:管理集成測試變得複雜,因爲其中涉及的因素很多,例如數據庫、平臺、環境等。
-
不同系統的交互:如果測試涉及處理由兩個不同供應商創建的兩個不同系統,那麼就會有關於這些組件如何相互影響和交互的問題。
5. 最佳實踐
5.1 儘早開始測試
在業務實踐中允許同時開發模塊,因此需要在早期階段執行集成測試、檢測問題並在開發過程中對業務邏輯進行更改。
這體現了產品開發進度,因爲可以更早地檢測和修復錯誤,而無需等待一個模塊完成。
此外,如果缺少模塊或存在開發中的模塊需要聯調,可以用Mock來替換它們。
5.2 區分業務邏輯和集成測試
單元測試通常速度快且運行時間短。可以在持續集成環境中爲每個構建運行它。它旨在對代碼進行基本驗證,檢測業務邏輯中的錯誤。
但是集成測試需要更長的時間才能運行,並且將它們包含在每個構建中會導致大量時間消耗。可以將它放在靠近日常構建的地方,來降低構建耗時的影響。
5.3 記錄測試日誌
集成測試的範圍很廣,因爲它跨越應用程序中的多個模塊。與單元測試不同,在集成測試中沒有簡單的方法來分析故障的根源。
因此,記錄測試結果是發現問題的唯一方法。可以使用一個有效的日誌記錄框架,提供有關每個測試完成的詳細信息。