什么是集成測試?
在集成測試中,各個軟件模塊在邏輯上集成並作為一個組進行測試。
典型的軟件項目由多個軟件模塊組成,由不同的程序員編寫。
集成測試側重於檢查這些模塊之間的數據通信。
因此,它也被稱為“I&T”(集成和測試),“字符串測試”,有時也稱為“線程測試”。
為什么要進行集成測試?:
雖然每個軟件模塊都經過單元測試,但由於各種原因仍然存在缺陷
- 模塊通常由單個軟件開發人員設計,其理解和編程邏輯可能與其他程序員不同。集成測試對於驗證軟件模塊的統一工作是必要的
- 在模塊開發時,客戶的需求變化的可能性很大。這些新要求可能無法進行單元測試,因此系統集成測試變得必要。
- 軟件模塊與數據庫的接口可能是錯誤的
- 外部硬件接口(如果有)可能是錯誤的
- 異常處理不當可能會導致問題。
集成測試案例:
集成測試用例與其他測試用例的不同之處在於它主要關注模塊之間的接口和數據/信息流。這里優先考慮集成鏈接而不是已經測試過的單元功能。
針對以下場景的示例集成測試用例:應用程序有3個模塊,分別是“登錄頁面”,“郵箱”和“刪除郵件”,每個模塊都是邏輯集成的。
這里不太關注登錄頁面測試,因為它已經在單元測試中完成了。但請檢查它是如何鏈接到郵箱頁面的。
類似郵箱:檢查其與刪除郵件模塊的集成。
測試用例ID | 測試用例目標 | 測試用例說明 | 預期結果 |
---|---|---|---|
1 | 檢查“登錄”和“郵箱”模塊之間的接口鏈接 | 輸入登錄憑據,然后單擊“登錄”按鈕 | 要被定向到郵箱 |
2 | 檢查郵箱和刪除郵件模塊之間的接口鏈接 | 從郵箱中選擇一封電子郵件,然后單擊刪除按鈕 | 所選電子郵件應顯示在“已刪除/已刪除”文件夾中 |
整合測試的方法/方法/策略:
軟件行業使用各種策略來執行集成測試,即。
- 大爆炸方法:
- 增量方法:進一步分為以下幾種
- 自上而下的方法
- 自下而上的方法
- 三明治方法 - 自上而下與自下而上的組合
以下是不同的策略,執行方式及其局限性以及優勢。
大爆炸方法:
這里所有組件一次集成在一起,然后進行測試。
優點:
- 方便小型系統。
缺點:
- 故障定位很困難。
- 鑒於需要在此方法中測試的接口數量龐大,可能很容易錯過一些要測試的接口鏈接。
- 由於集成測試只能在“所有”模塊設計完成后開始,因此測試團隊在測試階段的執行時間將更短。
- 由於所有模塊都是一次性測試的,因此高風險關鍵模塊不會被隔離並優先進行測試。處理用戶界面的外圍模塊也沒有被隔離和優先測試。
增量方法:
在這種方法中,通過連接兩個或多個邏輯相關的模塊來完成測試。然后添加其他相關模塊並測試其是否正常運行。過程繼續,直到所有模塊都已成功連接和測試。
該過程通過使用稱為Stubs和Drivers的虛擬程序來執行。存根和驅動程序不實現軟件模塊的整個編程邏輯,而只是模擬與調用模塊的數據通信。
存根:由測試模塊調用。
驅動程序:調用要測試的模塊。
反過來增量方法由兩種不同的方法執行:
- 自下而上
- 自頂向下
自下而上整合
在自下而上策略中,較低級別的每個模塊都使用更高模塊進行測試,直到所有模塊都經過測試。它需要驅動程序的幫助進行測試
圖解表示:
- 故障定位更容易。
- 與Big-bang方法不同,沒有浪費時間等待開發所有模塊
缺點:
- 控制應用程序流程的關鍵模塊(在軟件架構的頂層)最后進行測試,可能容易出現缺陷。
- 早期的原型是不可能的
自上而下整合:
在自上而下的方法中,測試按照軟件系統的控制流程從上到下進行。
獲取存根的幫助以進行測試。
圖解表示:
- 故障定位更容易。
- 可以獲得早期原型。
- 關鍵模塊按優先級進行測試; 可以首先找到並修復主要的設計缺陷。
缺點:
- 需要許多存根。
- 較低級別的模塊測試不充分。
集成測試程序
無論測試策略如何(上面討論過),集成測試程序:
- 准備集成測試計划
- 設計測試場景,案例和腳本。
- 執行測試用例然后報告缺陷。
- 跟蹤和重新測試缺陷。
- 重復步驟3和4,直到成功完成Integration。
集成測試計划簡介:
它包括以下屬性:
- 方法/方法測試(如上所述)。
- 范圍和超出范圍的集成測試項目。
- 角色和責任。
- 集成測試的先決條件。
- 測試環境。
- 風險和緩解計划。
進入和退出標准。
任何軟件開發模型中的集成測試階段的進入和退出標准
入學標准:
- 單元測試組件/模塊
- 所有高優先級錯誤都已修復和關閉
- 所有模塊都要成功完成並集成。
- 集成測試計划,測試用例,要簽署和記錄的方案。
- 要為集成測試設置所需的測試環境
退出標准:
- 集成應用程序的成功測試。
- 執行的測試用例記錄在案
- 所有高優先級錯誤都已修復和關閉
- 提交的技術文件隨后發布說明。
集成測試的最佳實踐/指南
- 首先確定可以采用的集成測試策略,然后相應地准備測試用例和測試數據。
- 研究應用程序的體系結構設計並確定關鍵模塊。這些需要優先測試。
- 從Architectural團隊獲取界面設計並創建測試用例以詳細驗證所有接口。必須詳細測試數據庫/外部硬件/軟件應用程序的接口。
- 在測試用例之后,它是發揮關鍵作用的測試數據。
- 在執行之前,始終准備好模擬數據。執行測試用例時不要選擇測試數據。