軟考中級(系統(tǒng)集成項目管理工程師)高頻考點——軟件測試
軟件測試,描述一種用來促進鑒定軟件的正確性、完整性、安全性和質量的過程。換句話說,軟件測試是一種實際輸出與預期輸出之間的審核或者比較過程。軟件測試的經(jīng)典定義是:在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。
?

?
軟件測試的類型可分為靜態(tài)測試和動態(tài)測試。
靜態(tài)測試是指被測試程序不在機器上運行,而采用人工檢測和計算機輔助靜態(tài)分析的手段對程序進行檢測。靜態(tài)測試包括對文檔的靜態(tài)測試和對代碼的靜態(tài)測試。對文檔的靜態(tài)測試主要以檢查單的形式進行,而對代碼的靜態(tài)測試一般采用桌前檢查、代碼走查和代碼審查。
動態(tài)測試是指在計算機上實際運行程序進行軟件測試,一般采用白盒測試和黑盒測試方法。
白盒測試也稱為結構測試,主要用于軟件單元測試中。白盒測試方法主要有控制流測試、數(shù)據(jù)流測試和程序變異測試等。另外,使用靜態(tài)測試的方法也可以實現(xiàn)白盒測試。例如,使用人工檢查代碼的方法來檢查代碼的邏輯問題,也屬于白盒測試的范疇。白盒測試方法中,最常用的技術是邏輯覆蓋,即使用測試數(shù)據(jù)運行被測程序,考察對程序邏輯的覆蓋程度。主要的覆蓋標準有語句覆蓋、判定覆蓋、條件覆蓋、條件/判定覆蓋、條件組合覆蓋、修正的條件/判定覆蓋和路徑覆蓋等。
黑盒測試也稱為功能測試,主要用于集成測試、確認測試和系統(tǒng)測試中。黑盒測試根據(jù)SRS所規(guī)定的功能來設計測試用例,一般包括等價類劃分、邊界值分析、判定表、因果圖、狀態(tài)圖、隨機測試、猜錯法和正交試驗法等。
測試的階段
可以把測試分為單元測試、集成測試、確認測試、系統(tǒng)測試、配置測試和回歸測試等類別。
1、單元測試:又稱為模塊測試。
2、集成測試:目的是檢查模塊之間,以及模塊和已集成的軟件之間的接口關系。也稱為組裝測試、聯(lián)合測試(對于子系統(tǒng)而言,則稱為部件測試)。
3、確認測試:主要用于驗證軟件的功能、性能及其他特性是否與用戶要求(需求)一致。根據(jù)用戶的參與程度,通常包括以下4種類型:
內部確認測試:主要由軟件開發(fā)組織內部按軟件需求說明書SRS進行測試。
Alpha測試:由用戶在開發(fā)環(huán)境下進行測試。
Beta測試:由用戶在實際使用環(huán)境下進行測試。
驗收測試:針對軟件需求說明書SRS,在交付前以用戶為主進行的測試。
4、系統(tǒng)測試:系統(tǒng)測試的對象是完整的、集成的計算機系統(tǒng),系統(tǒng)測試的目的是在真實系統(tǒng)工作環(huán)境下,驗證完整的軟件配置項能否和系統(tǒng)正確連接,并滿足系統(tǒng)/子系統(tǒng)設計文檔和軟件開發(fā)合同規(guī)定的要求。
5、配置項測試:的對象是軟件配置項,目的是檢查軟件配置項與SRS的一致性。