大型軟件系統的測試過程基本上由模塊測試、子系統測試、系統測試、驗收測試和平行運行等五個步驟組成。
1.模塊測試
在設計得好的軟件系統中,每個模塊完成一個清晰定義的子功能,而且這個子功能和同級其他模塊的功能之間沒有相互依賴關系。因此,有可能把每個模塊作為一個單獨的實體來測試,而且通常比較容易設計檢驗模塊正確性的測試方案。
模塊測試的目的是保證每個模塊作為一個單元能正確運行,所以模塊測試通常又稱為單元測試。在這個測試步驟中所發現的往往是編碼和詳細設計的錯誤。
2.子系統測試
? ? 子系統測試是把經過單元測試的模塊放在一起形成一個子系統來測試。模塊相互間的協調和通信是這個測試過程中的主要問題,因此,這個步驟著重測試模塊的接口。
3.系統測試
? ? 系統測試是把經過測試的子系統裝配成一個完整的系統來測試。在這個過程中不僅應該發現設計和編碼的錯誤,還應該驗證系統確實能提供需求說明書中指定的功能,而且系統的動態特性也符合預定要求。在這個測試步驟中發現的往往是軟件設計中的錯誤,也可能發現需求說明中的錯誤。
子系統測試和系統測試,都兼有檢測和組裝兩重含義,通常稱為集成測試。
4.驗收測試
?驗收測試把軟件系統作為單一的實體進行測試,測試內容與系統測試基本類似,但是它是在用戶積極參與下進行的,而且可能主要使用實際數據(系統將來要處理的信息)進行測試。
?驗收測試的目的是驗證系統確實能夠滿足用戶的需要,在這個測試步驟中發現的往往是系統需求說明書中的錯誤。驗收測試也稱為確認測試。
5.平行運行
? ? 所謂平行運行就是同時運行新開發出來的系統和將被它取代的舊系統,以便比較新舊兩個系統的處理結果。這樣做的具體目的有如下幾點。
(1)可以在準生產環境中運行新系統而又不冒風險。
(2)用戶能有一段熟悉新系統的時間。
(3)可以驗證用戶指南和使用手冊之類的文檔。
(4)能夠以準生產模式對新系統進行全負荷測試,可以用測試結果驗證性能指標。