測試用例設計——因果圖法

之前介紹的等價類劃分法和邊界值分析法着重考慮的是輸入條件,但是沒有考慮輸入條件之間的組合、輸入條件之間相互制約的關係,這樣就有可能忽略了輸入條件組合在出錯的情況。所以這時,就要用到本文將要介紹的因果圖分析法,它就是一種適合於描述多種條件的組合、 相應產生多個動作的形式來設計測試用例的方法。

思想:因果圖常與判定表結合起來使用,一些程序的功能可用判定表(又稱決策表)表示出來,並根據不同的組合執行相應的操作。

因果關係:

1.恆等關係

恆等:若原因出現,則結果出現;若原因不出現,則結果也不出現。即若c1=1,則e1=1;若c1=0,則e1=0。

2.非關係 ~

非:若原因出現,則結果不出現;若原因不出現,則結果出現。即若c1=1,則e1=0;若c1=0,則e1=1。

3.或關係 \vee

或:若幾個原因中任意出現一個,則結果出現;若所有原因都不出現,則結果不出現。即若c1==1 || c2==1 || c3==1,則e1=1;若c1==0 && c2==0 && c3==0,則e1=0。

4.與關係 \wedge

與:若幾個原因都出現,則結果出現;若原因有任一不出現,則結果不出現。即若c1==1 && c2==1 && c3==1,則e1=1;若c1==0 || c2==0 || c3==0,則e1=0。

5.其他關係

異:a和b中至多有一個爲1,不能同時爲1,但可以同時爲0

或:a、b、c中至少有一個爲1,即不能同時爲0,但可以同時爲1

唯一:a、b之中有且僅有一個爲1

要求:a是1時,b也必須爲1

強制:a是1時,b必須爲0

因果圖法設計用例的步驟:

1)分析軟件規格說明描述中,哪些是原因(即輸入條件或輸入條件的等價類),哪些是結果(即輸出條件),並給每個原因和結果賦予一個標識符;

2)分析軟件規格說明描述中的語義,找出原因與結果之間、原因與原因之間對應的關係,根據這些關係畫出因果圖(對於複雜的,可以加入中間節點作爲橋樑);

3)由於語法或環境限制,有些原因與原因之間、原因與結果之間的組合情況不可能出現,爲表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件;

4)把因果圖轉換爲判定表;

5)把判定表的每一列拿出來作爲依據,設計測試用例。

具體案例分析可見博客因果圖法分析象棋中馬的走法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章