白盒測試方法

2022-08-24 17:03:11 字數 2458 閱讀 3481

白盒測試方法

定義:   白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基於**的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟體,白盒指的是盒子是可視的,你清楚盒子內部的東西以及裡面是如何運作的。"白盒"法全面了解程式內部邏輯結構、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程式的內部結構,從檢查程式的邏輯著手,得出測試資料。貫穿程式的獨立路徑數是天文數字。

白盒測試的目的:   通過檢查軟體內部的邏輯結構,對軟體中的邏輯路徑進行覆蓋測試;在程式不同地方設立檢查點,檢查程式的狀態,以確定實際執行狀態與預期狀態是否一致。

白盒測試的方法:

a. 靜態分析: 

是一種不執行程式而進行測試的技術。靜態分析的主要目的是檢查軟體的表示和描述是否一致,沒有衝突或者沒有歧義。

b. 動態分析:

當軟體系統在模擬或真實的環境中執行前、過程中和執行後,對其行為分析。它顯示了乙個系統在檢查狀態下是否正確。在動態分析技術中,最重要的技術是路徑和分支測試。下面要介紹的六種覆蓋測試方法屬於動態分析方法。

符號說明:

^ 代表: 邏輯運算子 && 或者 ||

t 代表: true

f 代表: false

a / b 代表: 條件表示式

白盒測試的測試方法有**檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋和程式變異。

日常使用方法\手段:

1.語句覆蓋:每條語句至少執行一次。

2.判定覆蓋:每個判定的每個分支至少執行一次。

3.條件覆蓋:每個判定的每個條件應取到各種可能的值。

4.判定/條件/分支覆蓋:同時滿足判定覆蓋條件覆蓋。

5.條件組合覆蓋:每個判定中各條件的每一種組合至少出現一次。

6.路徑覆蓋:使程式中每一條可能的路徑至少執行一次。

使程式中的每個可執行語句都能執行一次的測試用例
測試用例條件: ​ a ^ b = t

graph lr

a[引入]

a --> b

b -->|t| c[結果1]

b -->|f| d[結果2]

對於判斷語句,在設計用例的時候,要設計判斷語句結果為true和false的兩種情況
測試用例條件: ​ a ^ b = t ​ a ^ b = f

graph lr

a[引入]

a --> b

b -->|t| c[結果1]

b -->|f| d[結果2]

設計用例時針對判斷語句裡面每個條件表示式true 和 false各取值一次,不考判斷語句的計算結果
測試用例條件: ​ a=t​ a=f ​ b=t​ b=f

graph lr

a[ ]

a --> b

b -->|t| c[ ]

b -->|f| d[ ]

設計測試用例時,使得判斷語句中每個條件表示式的所有可能結果至少出現一次,每個判斷語句本身所有可能結果也至少出現一次。
測試用例條件: a ^ b = t a ^ b = f a=t a=f b=t b=f

graph lr

a[ ]

a --> b

b -->|t| c[ ]

b -->|f| d[ ]

設計測試用例時,使得每個判斷語句中條件結果的所有可能組合至少出現一次
測試用例條件: a= t b= t a= t b= f a= f b= t a= f b= f

graph lr

a[ ]

a --> b

b -->|t| c[ ]

b -->|f| d[ ]

設計測試用例時,覆蓋程式中所有可能的執行路徑

優點:這種覆蓋方法可以對程式進行徹底的測試用例覆蓋,比前面講的五種方法覆蓋度都要高。

缺點:於路徑覆蓋需要對所有可能的路徑進行測試(包括迴圈、條件組合、分支選擇等),那麼需要設計大量、複雜的測試用例,使得工作量呈指數級增長。路徑覆蓋雖然是一種比較強的覆蓋,但未必考慮判斷語句中條件表示式結果的組合,並不能代替條件覆蓋和條件組合覆蓋。

補充丟失邏輯圖:

python 白盒測試 白盒測試方法

白盒測試是單元測試階段常用到的測試方法,其特點有 1 可以構成測試資料,使特定程式部分得到測試 2 有一定的充分性度量手段 3 可獲得較多工具支援 4 通常只用於單元測試。下邊通過一段 來看一下白盒測試中的邏輯覆蓋 那麼為了清晰,我們畫出乙個該程式的流程圖 1 語句覆蓋 語句覆蓋是最弱的邏輯覆蓋準則...

白盒測試方法

白盒測試是單元測試階段常用到的測試方法,其特點有 1 可以構成測試資料,使特定程式部分得到測試 2 有一定的充分性度量手段 3 可獲得較多工具支援 4 通常只用於單元測試。下邊通過一段 來看一下白盒測試中的邏輯覆蓋 那麼為了清晰,我們畫出乙個該程式的流程圖 1 語句覆蓋 語句覆蓋是最弱的邏輯覆蓋準則...

測試方法 白盒測試簡介

定義 白盒測試需要深入到軟體的內部,去檢視源 去分析程式的內部結構,如資料型別 演算法 異常處理等。應用領域 a.設計某些方法以盡可能覆蓋源 所有分支,提高測試的覆蓋率。b.通過白盒測試找記憶體洩露。c.對源 進行靜態分析找出某種極端情況下才會出現的問題。分類 a.靜態分析 只是靜態地分析程式的 是...