測試用例設計--因果圖

  1. 定義
  2. 因果圖法就是從程序規格說明書的描述中找出因(輸入條件)和果(輸出或程序狀態的改變),經過因果圖轉換爲斷定表,最後爲斷定表中的每一列設計一個測試用例。

首先咱們來了解一下因果圖的基本符號:測試

2. 應用的範圍設計

更復雜的條件組合,2^n,n比較多的時候3d

3. 步驟blog

1)         根據程序規格說明書描述的語義內容,分析並肯定「因」和「果」;遊戲

2)         將「因」和「果」表示成 「因果圖」;it

3)         在因果圖上使用若干個約束符號來標明約束條件;class

4)         將獲得的因果圖轉換成斷定表;程序

5)         爲斷定表中每一列所表示的狀況設計一個測試用例。im

 

4. 案例總結

以中國象棋中馬的走法爲例子,具體說明:

一、若是落點在棋盤外,則不移動棋子;

二、若是落點與起點不構成日字型,則不移動棋子;

三、若是落點處有本身方棋子,則不移動棋子;

四、若是在落點方向的鄰近交叉點有棋子(絆馬腿),則不移動棋子;

五、若是不屬於1-4條,且落點處無棋子,則移動棋子;

六、若是不屬於1-4條,且落點處爲對方棋子 (非老將) ,則移動棋子併除去對方棋子;

七、若是不屬於1-4條,且落點處爲對方老將,則移動棋子,並提示打敗對方,遊戲結束。

案例分析--因果圖

1)       根據程序規格說明書描述的語義內容,分析並肯定「因」和「果」;

緣由:

一、  落點在棋盤外;

二、  不構成日字;

三、  落點有自方棋子;

四、  絆馬腿;

五、  落點無棋子;

六、  落點爲對方棋子;

七、  落點爲對方老將。

結果:

2一、 不移動;

2二、移動;

2三、移動己方棋子消除對方棋子;

2四、  移動並打敗對方。

 

2)    將「因」和「果」表示成 「因果圖」,並標明約束條件;

 

3)       將獲得的因果圖轉換成斷定表;

11這個結點稱作中間結點,是爲了讓因果圖的結構更加明瞭,簡化因果圖導出的斷定表。分析得出如下兩個結論:

只有一、二、三、4都不成立時,產生11,跟五、六、7結合分別得出2二、2三、24三個結果;

無論五、六、7哪一個成立,只要一、二、三、4有一個成立,就產生結果21;再加上落點有自方棋子的情況。

能夠獲得斷定表以下:

  進一步分析,將各類不可能產生的組合狀況,取消掉,圖中用灰色表示。這些都是以前沒有寫的一些約束條件致使的。好比落點在棋盤外,那麼落點就不可能在對方棋子上了。

4)  爲斷定表中每一列所表示的狀況設計一個測試用例。

5. 總結

  因果圖常和斷定表結合起來使用,先用因果圖後用斷定表.