5.判斷表驅動分析法判斷表是分析和表達多邏輯條件下執行不同操作的情況的工具。
使用判斷表能夠將複雜的問題按照各種可能的情況全部列舉出來,簡明並避免遺漏。因此,利用判斷表能夠設計出完整的測試用例集合。
在一些資料處理問題中,某些操作的實施依賴於多個邏輯條件的組合,即:針對不同邏輯條件的組合值,分別執行不同的操作。判斷表很適合處理這類問題。
5.2判斷的表優點和缺點
i. 優點:它能把複雜的問題按各種可能的情況一一枚舉出來,簡明而易於理解,也可避免遺漏。
ii. 缺點:不能表達重複執行的動作,例如迴圈結構。
3)b. beizer 指出了適合使用判定表設計測試用例的條件:
①規格說明以判定表形式給出,或很容易轉換成判定表。
②條件的排列順序不會也不影響執行哪些操作。
③規則的排列順序不會也不影響執行哪些操作。
④每當某一規則的條件已經滿足,並確定要執行的操作後,不必檢驗別的規則。
⑤如果某一規則得到滿足要執行多個操作,這些操作的執行順序無關緊要。
b. beizer提出這5個必要條件的目的是為了使操作的執行完全依賴於條件的組合。其實對於某些不滿足這幾條的判定表,同樣可以藉以設計測試用例,只不過尚需增加其它的測試用例罷了。
5.3判斷表組成
判定表通常由四個部分組成,如下圖:
1) 條件樁(condition stub):列出了問題的所有條件。通常認為列出的條件的次序無關緊要。
2) 動作樁(action stub):列出了問題規定可能採取的操作。這些操作的排列順序沒有約束。
3) 條件項(condition entry):列出針對它左列條件的取值。在所有可能情況下的真假值
4) 動作項(action entry):列出在條件項各種取值情況下採取的動作
任何乙個條件組合的特定取值及其相應要執行的操作稱為規則。在判斷表中,貫穿條件項和動作項的一列就是一條規則。因此在判定表中列出多少組條件取值,也就有多少條規則。
化簡規則就是合併有兩條或多條具有相同動作的規則,並且條件項之間存在著極為相似的關係,如下圖。 y
y yn n
y yn y
n yn y
y yx x
x xx
化簡後(-表示不關心取值,無論取何值不影響動作項) y
y ny n
- -y y
x xx
用決策表測試法測試以下程式:該程式有三個輸入變數month、day、year(month、day和year均為整數值,並且滿足:1≤month≤12和1≤day≤31),分別作為輸入日期的月份、日、年份,通過程式可以輸出該輸入日期在第二天的日期。
共有三個輸入變數:年、月、日
年份劃分等價類:
y1=非閏年 y2=閏年
月份劃分等價類:
m1=2月 m2=1、3、5、7、8、10月
m3=4、6、9、11月 m4=12月
日期劃分等價類:
d1=1-27 d2=28日 d3=29 d4=30 d5=31
判斷表如下(為節省空間,將某些相同動作的條件組合直接寫在一列,具體應該有2*4*5=40個用例)
條件項 年
y1y2 y1
y1y1y2
y1y2
y1y2
y1y2
y1y2
y1y2
y1y2 y2
y2 y2
月 m1
m1 m1
m2 m2
m3 m3
m3 m4
m4 m1
m1 m1
日 d1
d2d3
d4 d5 d1
d2 d3
d4 d5
d1 d2
d3 d4
d5
d5 d1 d2
d3 d4 d2
d3 d4
d5 動作項
日期加1 aaa
aa
日期復位
a
a a
a a a
月份加1
a
a a
a a
月份復位
a年加1
a不可能
a a
a 簡化後(貌似有些還能合併)
1 23-5
6-9 10
11-13 14
15 16
17-20 21
2223-24
條件項 年
- y1
y1 -
- -- -
- -y2 y2
y2 月
m1 m1
m1 m2
m2 m3
m3 m3
m4 m4
m1 m1
m1 日
d1 d2
d3 d4 d5 d1
d2 d3
d4 d5
d1 d2
d3 d4
d5
d5 d1 d2
d3 d4 d2
d3 d4
d5 動作項
日期加1 aaa
aa
日期復位
a
a a
a a a
月份加1
a
a a
a a
月份復位
a年加1
a不可能
a a
a 綜上:首先準確分析出條件項和動作項,將輸入條件進行等價類劃分,然後將各個條件進行組合生成判斷表。接下來簡化判斷表。
這樣判斷表出來後,寫測試用例就相對簡單了。
黑盒測試用例設計方法
1 等價劃分 所謂等價類劃分是指一套被選擇的值,這些值分別代表了許多眾多的可能輸入值,程式對其處理的方式都是一樣的。等價類劃分的方法作為繼邊界值分析方法之後補充的測試用力設計試用的一種方法。劃分等價類 確定測試用例 等價類劃分是一種典型的黑盒測試方法,使用這一方法時,完全不考慮程式的內部結構,只依據...
黑盒測試用例設計方法
將所有的可能輸入資料 有效的和無效的 劃分成若干個等價類,從各個等價類中選取有代表性的資料來覆蓋測 試用例。類劃分規則 若輸入的資料是在一定的取值區間內,則確定乙個有效類和兩個無效類測試用例設計方法 等價類劃分法 輸入條件是乙個布林值或者必須為乙個值,則確定乙個有效類true乙個無效類false 輸...
黑盒測試用例設計方法
黑盒測試用例設計方法主要有 等價類劃分法 邊界值分析法 判定表法 因果圖法 正交因子法 狀態遷移法 流程分析法 輸入域 輸出域分析法 錯誤猜測法等 常用的有等價類 邊界值 正交因子 輸入域 輸出域分析法,下面介紹這幾種方法。等價類劃分法 等價類劃分兩種情況有效等價類和無效等價類。簡單來說有效等價類就...