什麼是系統整合測試 (SIT) 及示例
系統整合測試 (SIT) 究竟是什麼?
系統整合測試是一種軟體測試,它在整合的硬體和軟體環境中執行,以評估整個系統的行為。它是對整個整合系統進行的測試,以確定系統是否符合規定的要求。
系統整合測試 (SIT) 用於驗證軟體系統各個部分之間的互動。它負責驗證軟體需求規格/資料和軟體設計文件中包含的高階和低階軟體需求。
它還驗證軟體系統與其他系統的共存,並檢查軟體應用程式元件之間的互動。
在這種型別的測試中,模組在整合形成系統之前會分別進行評估。
例如,軟體和/或硬體元件逐漸合併並進行測試,直到整個系統整合。
進行系統整合測試的必要性
由於 SIT 的主要目標是檢查不同系統元件之間的關係,因此迴歸測試是 SIT 的一個重要組成部分。
SIT 是協作專案 STLC(軟體測試生命週期)的一部分。在大多數情況下,軟體供應商會在客戶執行自己的 SIT 測試用例之前進行一輪預 SIT 測試。
在大多數使用敏捷衝刺方法進行 IT 專案的公司中,QA 團隊在每次釋出之前都會進行一輪 SIT。在 SIT 中發現的問題會返回給開發團隊,由他們解決。
只有當衝刺 MVP(最小可行產品)透過 SIT 後才會釋出。
SIT 對於突出整合子系統互動時出現的錯誤至關重要。
系統包含許多無法獨立進行單元測試的元件。即使單元獨立測試透過,也可能在整合到系統後由於子系統相互互動時出現的各種問題而導致失敗。
因此,SIT 對於在將系統部署給使用者之前發現和糾正錯誤至關重要。SIT 在早期階段發現問題,從而節省了後期修復的時間和金錢。它還允許您及早獲得有關您的提案是否被接受的反饋。
SIT 粒度
SIT 粒度可以在三個不同的粒度級別執行 -
**系統內測試 -** 這是一個低級別的整合測試,希望將模組連線起來以生成一個統一的系統。
**系統間測試 -** 這是一個高級別測試,需要對獨立測試的系統進行介面。
**配對測試 -** 在這種方法中,整個系統中僅同時測試兩個互連的子系統。這樣做是為了確保這兩個子系統在合併時能夠有效地工作,假設其他子系統已經正常工作。
如何執行系統整合測試?
資料驅動方法是執行 SIT 的最簡單方法。它只需要使用很少的軟體測試工具。
首先,資料交換(資料匯入和匯出)發生在系統元件之間,然後檢查每個資料欄位在特定層中的行為。
在程式整合後,資料流有三個主要狀態,如下所示 -
**#1)整合層中的資料狀態** 整合層作為資料匯入和匯出之間的橋樑。此層級的 SIT 需要對諸如模式 (XSD)、XML、WSDL、DTD 和 EDI 等技術有一些基本瞭解。可以使用以下步驟來評估此層級的資料交換效能 -
根據 BRD/FRD/TRD(業務需求文件/功能需求文件/技術需求文件)檢查此層級中的資料特徵。
使用 XSD 和 WSDL 再次檢查 Web 服務請求。
透過執行一些單元測試來驗證資料對映和請求。
檢查中介軟體日誌。
**#2)資料庫層中的資料狀態** 此層級的 SIT 需要對 SQL 和儲存過程有基本的瞭解。可以使用以下步驟來評估此層級的資料交換效能 -
檢查從整合層成功傳送到資料庫層並提交的所有資料。
根據 BRD/FRD/TRD 驗證表和列的特徵。
根據業務標準驗證資料庫中使用的約束和資料驗證規則。
檢查儲存例程中是否有任何處理資料。
檢查伺服器日誌。
**#3)應用程式層的資料狀態** 可以透過以下步驟在該層級執行 SIT -
檢查 UI 以檢視所有必需的欄位是否可見。
透過執行各種正面和負面測試場景來驗證資料特徵。
需要注意的是,資料匯入和資料匯出有多種可能性。您需要使用 SIT 在給定時間限制的情況下找到最佳組合。
整合測試的進入和退出標準
通常,在進行整合測試時使用 ETVX(進入標準、任務、驗證和退出標準)方法。
進入標準
單元測試完成
輸入
軟體需求資料
軟體設計文件
軟體驗證計劃
軟體整合文件
活動
根據高階和低階需求建立測試用例和流程。
應將實現公共功能的低階模組的構建合併在一起。
建立一個測試工具。
對構建進行測試。
當測試透過時,構建將與其他構建合併並進行測試,直到系統完全整合。
在基於目標處理器的平臺上重新執行所有測試並記錄結果
退出標準
在目標硬體上完成軟體模組的整合,軟體效能根據規範正確
輸出 -
整合測試報告
[SVCP] 軟體測試用例和流程
SIT 示例
假設一家公司正在使用軟體來維護客戶資訊。此軟體在 UI 中包含兩個螢幕 - 螢幕 1 和螢幕 2 - 以及一個數據庫。在螢幕 1 和螢幕 2 上輸入的資訊將儲存在資料庫中。目前,公司對該軟體感到滿意。
但是,幾年後,公司發現該軟體不符合要求,需要進行改進。因此,他們建立了螢幕 3 和一個數據庫。現在,這個包含螢幕 3 和資料庫的系統與舊的/現有的軟體連線在一起。
系統整合測試示例
在整合後對整個系統執行的測試現在稱為系統整合測試。這裡評估新系統與舊系統的共存,以確保整個整合系統正常工作。
SIT 技術
執行 SIT 的主要方法有四種 -
自頂向下方法
自底向上方法
三明治方法
大爆炸方法
自頂向下和自底向上方法都是漸進式方法。讓我們從自頂向下方法開始討論。
**自頂向下方法** 在這種方法中,測試從應用程式的最頂層模組開始,即 UI,我們稱之為測試驅動程式。存根用於模擬底層模組的功能。頂層模組逐個與底層模組存根合併,然後測試功能。每個測試完成後,存根將替換為真實模組。模組可以以廣度優先或深度優先的方式合併。測試將持續進行,直到建立整個應用程式。這種方法的優點是不需要驅動程式,並且可以根據系統的功能定義測試用例。這種方法的主要缺點是依賴於底層模組功能的可用性。在用存根替換真實模組時,可能會延遲測試。編寫存根也很困難
**自底向上方法** 它克服了自頂向下方法的缺點。在這種方法中,首先將最低級別的模組組合在一起以建立叢集。這些叢集在程式中發揮特定作用。然後,測試用例的輸入和輸出由驅動程式管理。之後,測試叢集。測試後,移除驅動程式並將叢集與下一更高級別合併。重複此過程,直到完成整個應用程式結構。這種方法消除了對存根的需求。隨著處理級別的提高和對驅動程式的需求減少,它變得更加簡單。建議在面向物件系統、即時系統和對效能有嚴格要求的系統上使用這種方法進行 SIT。這種方法的缺點是最重要的元件,即 UI,是最後測試的。
三明治方法 在這種方法中,前面提到的自頂向下和自底向上方法被合併。系統被認為具有三層:中間的目標層、目標層上方的層和目標層下方的層。測試在兩個方向上進行,並在中間的目標層上匯聚,如下圖所示。這種方法的優點是可以同時評估系統的頂部和底部層。該技術的缺點是在整合之前沒有徹底測試各種子系統。為了克服此限制,我們重新設計了三明治測試,以便使用存根和驅動程式並行測試頂部、中間和底部層。
大爆炸方法 在這種方法中,整合在應用程式的所有模組都完成後完成。在所有模組整合後,執行測試以確定整合系統是否可操作。由於所有內容都是一次性合併而不是增量合併,因此在這種方法中很難發現問題的根本原因。當只需要一輪 SIT 時,通常使用此方法。