白盒測試:又稱結構測試、透明盒測試、邏輯驅動測試或基於代碼的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟件, 白盒指的是盒子是可視的,你清楚盒子內部的東西以及里面是如何運作的。"白盒"法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。"白盒"法是窮舉路 徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯着手,得出測試數據。貫穿程序的獨立路徑數是天文數字。
采用什么方法對軟件進行測試呢?常用的軟件測試方法有兩大類:靜態測試方法和動態測試方 法。其中軟件的靜態測試不要求在計算機上實際執行所測程序,主要以一些人工的模擬技術對軟件進行分析和測試;而軟件的動態測試是通過輸入一組預先按照一定 的測試准則構造的實例數據來動態運行程序,而達到發現程序錯誤的過程。在動態分析技術中,最重要的技術是路徑和分支測試。下面要介紹的六種覆蓋測試方法屬 於動態分析方法。
測試方法:
白盒測試的測試方法有代碼檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋和程序變異。
白盒測試法的覆蓋標准有邏輯覆蓋、循環覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。六種覆蓋標准發現錯誤的能力呈由弱到強的變化:
1.語句覆蓋每條語句至少執行一次。
2.判定覆蓋每個判定的每個分支至少執行一次。
3.條件覆蓋每個判定的每個條件應取到各種可能的值。
4.判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。
5.條件組合覆蓋每個判定中各條件的每一種組合至少出現一次。
6.路徑覆蓋使程序中每一條可能的路徑至少執行一次。
要求:
1.保證一個模塊中的所有獨立路徑至少被使用一次。
2.對所有邏輯值均需測試 true 和 false。
3.在上下邊界及可操作范圍內運行所有循環。
4.檢查內部數據結構以確保其有效性。
目的:
通過檢查軟件內部的邏輯結構,對軟件中的邏輯路徑進行覆蓋測試;在程序不同地方設立檢查點,檢查程序的狀態,以確定實際運行狀態與預期狀態是否一致。
特點:
依據軟件設計說明書進行測試、對程序內部細節的嚴密檢驗、針對特定條件設計測試用例、對軟件的邏輯路徑進行覆蓋測試。
實施步驟:
1.測試計划階段:根據需求說明書,制定測試進度。
2.測試設計階段:依據程序設計說明書,按照一定規范化的方法進行軟件結構划分和設計測試用例。
3.測試執行階段:輸入測試用例,得到測試結果。
4.測試總結階段:對比測試的結果和代碼的預期結果,分析錯誤原因,找到並解決錯誤。
優缺點
優點
1.迫使測試人員去仔細思考軟件的實現
2.可以檢測代碼中的每條分支和路徑
3.揭示隱藏在代碼中的錯誤
4.對代碼的測試比較徹底
5.最優化
缺點
1.昂貴
2.無法檢測代碼中遺漏的路徑和數據敏感性錯誤
3.不驗證規格的正確性
來源:百度百科