白盒測試學習 從邏輯覆蓋例項學起

2022-08-13 13:18:24 字數 2781 閱讀 2779

1. 什麼是白盒測試

白盒測試也稱結構測試、邏輯驅動或基於程式的測試,是一種測試用例設計方法。

一般用於分析程式的內部結構。

針對特定的條件和迴圈設計測試用例,對程式的邏輯路徑進行測試。

用這種發方法進行程式設計時,測試者可以看到被測程式,並分析其內部結構,白盒測試要求對被測程式的結構特性做到一定程度的覆蓋。

從這個角度上說,白盒測試也是基於覆蓋的測試技術。

2. 白盒測試方法概述

白盒測試通常分為靜態和動態兩種型別,包含很多常用的方法。

靜態分析:

按照一定步驟直接見車源**或**的測試方法。

包括-**審查、桌面檢查、**走查等方法

動態測試:

指按照一定步驟生成測試用例並驅動被測程式執行來發現錯誤。

包括-基本路徑測試、符號測試、邏輯驅動覆蓋、迴圈測試、資料流測試等方法。

3. 邏輯覆蓋法

這裡就從邏輯覆蓋法開始了我的白盒測試學習歷程。

邏輯覆蓋是白盒測試中以程式內部的邏輯結構為基礎的設計測試程式用例的技術。

是一系列測試過程的總稱。

根據測試覆蓋目標不同,以及覆蓋源程式的詳盡程度分析由高到低排序,可以分為:

語句覆蓋

判定覆蓋

條件覆蓋

判定/條件覆蓋

條件組合覆蓋

路徑覆蓋

-------------------------分割線----------------------------------

[從例項開始說起]

程式流圖如下:

路徑:p1 =

p2 =

p3 =

p4 =

判斷條件

m =

n =

1. 語句覆蓋

語句覆蓋是選擇足夠多的測試用例,使得程式中每一條可執行語句至少被執行一次。

可以說是最弱的邏輯覆蓋準則

測試用例id

測試用例輸入

輸出判定m的取值

判定n的取值

覆蓋路徑

001a=2,b=0,x=4

a=2,b=0,x=3tt

p12. 判定覆蓋

使得程式總每個判定至少都獲得一次「真」一次「假」,每次可以同時真或假,保證總共有真有假就好了。

測試用例id

測試用例輸入

輸出判定m的取值

判定n的取值

覆蓋路徑

002a=2,b=0,x=4

a=2,b=0,x=3tt

p1003

a=1,b=1,x=1

a=1,b=1,x=1ff

p43.條件覆蓋

使得程式中每個判定中包含的每個條件都至少獲得一次「真」一次「假」。

對判定m:

t1: a>1, 假為f1

t2: b=0, 假為f2

對判定n:

t3: a=2, 假為f3

t4: x>1, 假為f4

設計用例如下

測試用例id

測試用例輸入

輸出取值條件

具體取值條件

覆蓋路徑

004a=2,b=0,x=4

t1,t2,t3,t4

a>1,b=0,a=2,x>1

p1005

a=1,b=1,x=1

f1,f2,f3,f4

a<=1,b!=0,a!=2,x<1

p44. 判定/條件覆蓋

每個判定和判定包含條件的真假結果都出現一次

測試用例id

測試用例輸入

輸出覆蓋條件取值

覆蓋條件組合

覆蓋路徑

006a=2,b=0,x=3

t1,t2,t3,t4

1,5p1

007a=2,b=1,x=2

t1,f1,t2,f2

2,6p3

5. 組合覆蓋

所有條件組合都有一次

測試用例id

測試用例輸入

輸出覆蓋條件取值

覆蓋條件組合

覆蓋路徑

008a=2,b=0,x=4

a=2,b=0,x=3

t1,t2,t3,t4

1,5p1

009a=2,b=1,x=1

a=2,b=1,x=2

t1,f1,t2,f2

2,6p3

010a=1,b=0,x=3

a=1,b=0,x=4

f1,t2,f3,t4

3,7p3

011a=1,b=1,x=1

a=1,b=1,x=1

f1,f2,f3,f4

4,8p4

6.路徑覆蓋

顧名思義每個路徑都走一次

測試用例id

測試用例輸入

輸出覆蓋條件取值

覆蓋條件組合

覆蓋路徑

012a=2,b=0,x=4

a=2,b=0,x=3

t1,t2,t3,t4

1,5p1

013a=1,b=0,x=1

a=1,b=0,x=1

t1,f2,t3,f4

2,6p4

014a=2,b=1,x=1

a=2,b=1,x=2

f1,t2,f3,t4

3,7p3

015a=3,b=0,x=1

a=3,b=0,x=2

f1,f2,f3,f4

4,8p2

白盒測試邏輯覆蓋法

看新定的測試覆蓋率標準,有點暈。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...