第05講、使用因果圖法設計測試用例
一、應用場合
在一個界面中,有多個控件,測試的時候要考慮控件的組合關系,不同的控件組合會產生不同的輸出結果的組合,為了弄清什么樣的輸入組合會產生什么樣的輸出組合,使用因果圖法。
二、因果圖核心
1、因——原因,輸入條件
2、果——結果,輸出結果
使用圖形的方式,分析軟件輸入和輸出的對應關系
三、圖形符號
1、基本圖形
表示輸入和輸出的對應關系
(1)恆等 若a=1,b=1 若a=0,b=0
(2)非 若a=1,b=0 若a=0,b=1
(3)或 若a=1,或b=1,或c=1,則d=1 若a=b=c=0, 則d=0
(4)與 若a=b=c=1, 則d=1 若a=0或b=0或c=0, 則d=0

2、約束(限制條件)圖形
只能限制輸入或者輸出,不能同時限制
1、互斥(E)a、b、c不能同時為1,至多有一個1
2、包含(I) a、b、c至少有一個1,不能同時為0
3、唯一(0) 表示a、b、c必須有一個成立,有且僅有一個
4、要求 (R) 若a=1,b必須為1
5、屏蔽 (M) 若a=1,b必須為0
說明:唯一的情況是有一個默認值的;互斥沒有默認值。
四、使用因果圖法分析程序
1、找出所有的原因(輸入),編號
(1)投幣50元
(2)投幣100元
(3)充值50元
(4)充值100元
2、找出所有的結果(輸出),編號
A、充值成功並退卡
B、提示充值成功
C、找零
D、提示錯誤
步驟1、2就是初步需求分析
3、在步驟一的基礎上,找到輸入的限制關系和組合關系
(1)限制關系(哪些輸入不能組合)
輸入1、2不能 互斥
輸入3、4不能 互斥
畫出限制關系的因果圖
(2)組合關系 決定了測試用例的數量
輸入1、3組合
輸入1、4組合
輸入2、3組合
輸入2、4組合
輸入1
輸入2
輸入3
輸入4
4、在步驟2的基礎上,找到輸出的限制關系和組合關系
(1)限制關系
輸出A和D不能(互斥)
輸出B和D不能(互斥)
畫出限制關系因果圖
(2)組合關系
輸出A和B必須組合
輸出A、B、C組合
輸出C、D組合
輸出D單獨
5、找到輸入組合和輸出組合的對應關系(什么樣的輸入組合,產生什么樣的輸出結果)——依據步驟3(2)和4(2)
情況1:
輸入1、3組合
會產生:
輸出A和B必須組合
畫出輸入和輸出的因果圖
情況2:
輸入1、4組合
會產生:
輸出C、D組合
6、根據因果圖,畫出判定表
7、把判定表的一列轉換成一條用例
五、因果圖法的局限性
每個控件的輸入或者取值最好為2個或者3個按鈕,比如:按鈕按下或者不按下,復選框選擇還是不選擇,單選按鈕點擊還是不點擊,有三個選項的下拉列表