目錄 1. 說明 2. 靜態測試 3. 動態測試 4. 黑盒測試 5. 白盒測試 6. 灰盒測試 7. 自動化測試 8.例題
1. 說明
1.軟件測試方法的分類有很多種,以測試過程中程序執行狀態為依據可分為靜態測試(Static Testing,ST)和動態測試(Dynamic Testing,DT);以具體實現算法細節和系統內部的相關情況為根據可分黑盒測試、白盒測試和灰盒測試3類。 2.p205
2. 靜態測試
1.靜態測試是被測程序不運行,只依靠分析或檢查源程序的語句、結構、過程等來檢查程序是否有錯誤。 2.即通過對軟件的需求規格說明書、設計說明書以及源程序做結構分析和流程圖分析,從而來找出錯誤。 3.例如不匹配的參數,未定義的變量等。
3. 動態測試
1.動態測試與靜態測試相對應,是通過運行被測試程序,對得到的運行結果與預期的結果進行比較分析,同時分析運行效率和健壯性能等。 2.這種方法可簡單分為3個步驟:構造測試實例、執行程序以及分析結果。
4. 黑盒測試
1.黑盒測試將被測程序看成是一個黑盒,工作人員在不考慮任何程序內部結構和特性的條件下,根據需求規格說明書設計測試實例,并檢查程序的功能是否能夠按照規范說明準確無誤的運行。 2.其主要是對軟件界面和軟件功能進行測試。 3.對于黑盒測試行為必須加以量化才能夠有效的保證軟件的質量。
5. 白盒測試
1.白盒測試主要是借助程序內部的邏輯和相關信息,通過檢測內部動作是否按照設計規格說明書的設定進行,檢查每一條通路能否正常工作。 2.白盒測試是從程序結構方面出發對測試用例進行設計。 3.主要用于檢查各個邏輯結構是否合理,對應的模塊獨立路徑是否正常以及內部結構是否有效。 4.常用的白盒測試法有控制流分析、數據流分析、路徑分析、程序變異等。 5.根據測試用例的覆蓋程度,分為語句覆蓋、判定覆蓋、分支覆蓋和路徑覆蓋等。
6. 灰盒測試
1.灰盒測試介于黑盒和白盒測試之間。 2.灰盒測試除了重視輸出相對于輸入的正確性,也看重其內部的程序邏輯。 3.但是,它不可能像白盒測試那樣詳細和完整。 4.它只是簡單地靠一些象征性的現象或標志來判斷其內部的運行情況,因此在內部結果出現錯誤,但輸出結果正確的情況下可以采取灰盒測試方法。 5.因此在此情況下灰盒比白盒高效,比黑盒適用性廣的優勢就凸顯出來了。
7. 自動化測試
1.自動化測試就是軟件測試的自動化,即在預先設定的條件下自動運行被測程序,并分析運行結果。 2.總的來說,這種測試方法就是將以人驅動的測試行為轉化為機器執行的一種過程。
8.例題
8.1 例題1
1.測試一般分為兩個大類:動態測試和靜態測試。前者通過運行程序發現錯誤,包括()等方法;
后者采用人工和計算機輔助靜態分析的手段對程序進行檢測,包括()等方法軟件
問題1
A.邊界值分析、邏輯覆蓋、基本路徑
B.桌面檢查、邏輯覆蓋、錯誤推測
C.桌面檢查、代碼審查、代碼走查
D.錯誤推測、代碼審查、基本路徑問題2
A.邊界值分析、邏輯覆蓋、基本路徑
B.桌面檢查、邏輯覆蓋、錯誤推測
C.桌面檢查、代碼審查、代碼走查
D.錯誤推測、代碼審查、基本路徑
1.動態測試是通過運行程序發現錯誤,包括黑盒測試(等價類劃分、邊界值分析法、錯誤推測法)與白盒測試(各種類型的覆蓋測試)。
2.靜態測試是人工測試方式,包括桌前檢查(桌面檢查)、代碼走查、代碼審查。