定義:
白盒測試又稱結構測試,透明盒測試、邏輯驅動測試或基於**的測試。白盒測試是一種測試用例設計方法,白盒指的是程式的內部結構和運作機制是可見的。
白盒測試的目的:
通過檢查軟體內部的邏輯結構,對軟體中的邏輯路徑進行覆蓋測試;在程式不同地方設定檢查點,檢查程式的狀態,以確定實際執行狀態與預期狀態是否一致。
白盒測試的方法:大致分為靜態方法和動態方法兩大類。
a. 靜態分析:
是一種不執行程式而進行測試的技術。靜態分析的主要目的是檢查軟體的表示和描述是否一致,沒有衝突或者沒有歧義。
b. 動態分析:
當軟體系統在模擬或真實的環境中執行前、過程中和執行後,對其行為分析。它顯示了乙個系統在檢查狀態下是否正確。在動態分析技術中,最重要的技術是路徑和分支測試。下面要介紹的六種覆蓋測試方法屬於動態分析方法。
符號說明:
^ 代表邏輯運算子 && 或者 ||
t 代表 true f 代表 false
a / b 代表條件表示式
(1)語句覆蓋
使程式中的每個可執行語句都能執行一次的測試用例
測試用例條件: a ^ b = t
(2)判定覆蓋(分支覆蓋)
對於判斷語句,在設計用例的時候,要設計判斷語句結果為true和false的兩種情況。
測試用例條件:
(3)條件覆蓋
設計用例時針對判斷語句裡面每個條件表示式true 和 false各取值一次,不考慮判斷語句的結果,可能都為tt或者ff
測試用例條件:
(4)判定條件覆蓋(分支條件覆蓋)
設計測試用例時,使得判斷語句中每個條件表示式的所有可能結果至少出現一次,每個判斷語句本身所有可能結果也至少出現一次。
測試用例條件:
(5)條件組合覆蓋
設計測試用例時,使得每個判斷語句中條件結果的所有可能組合至少出現一次,全部組合即可
測試用例條件:
(6)路徑覆蓋
設計測試用例時,覆蓋程式中所有可能的執行路徑,不用細緻到看每乙個式子的判斷結果
tt、tf、ft、ff 共四條路徑
優點:這種覆蓋方法可以對程式進行徹底的測試用例覆蓋,比前面講的五種方法覆蓋度都要高。
缺點:於路徑覆蓋需要對所有可能的路徑進行測試(包括迴圈、條件組合、分支選擇等),那麼需要設計大量、複雜的測試用例,使得工作量呈指數級增長。路徑覆蓋雖然是一種比較強的覆蓋,但未必考慮判斷語句中條件表示式結果的組合,並不能代替條件覆蓋和條件組合覆蓋。
白盒測試邏輯覆蓋法
看新定的測試覆蓋率標準,有點暈。1 語句覆蓋率達到100 2 分支覆蓋率不低於70 開始覺得,這兩個限制有點矛盾,語句覆蓋率都達到100 了,分支覆蓋率還沒達到100 答案 是。舉個例子說明 if a and b then action1 if c or d then action2 就拿這個來說,...
白盒測試 邏輯覆蓋法
白盒測試又稱結構測試 透明盒測試 邏輯驅動測試或基於 的測試。白盒測試是一種測試用例設計方法方法,盒子指的是被測試的軟體,白盒指的是盒子是可視的,你清楚盒子內部的東西以及裡面是如何運作的。白盒 法全面了解程式內部邏輯結構 對所有邏輯路徑進行測試。白盒 法是窮舉路徑測試。在使用這一方案時,測試者必須檢...
白盒測試的邏輯覆蓋法
邏輯覆蓋是以程式內部的邏輯結構為基礎的設計測試用例的技術。它屬白盒測試。邏輯覆蓋包括語句覆蓋 判定覆蓋 條件覆蓋 判定 條件覆蓋 條件組合覆蓋和路徑覆蓋。六種覆蓋標準發現錯誤的能力呈由弱到強的變化 1.語句覆蓋 2.判定覆蓋 3.條件覆蓋 4.判定 條件覆蓋 5.條件組合覆蓋 6.路徑覆蓋 對上述6...