使用因果圖設計測試用例

發表于:2007-04-22來源:作者:點擊數: 標簽:測試用例設計試用因果使用
使用因果圖的好處 1 考慮了多個輸入之間的相互組合、相互制約關系 2 能夠幫助我們按一定步驟,高效率地選擇 測試用例 ,同時還能為我們指出,程序規格說明描述中存在著什么問題 利用因果圖導出測試用例需要經過的一般步驟 1.分析程序規格說明的描述中,哪些
使用因果圖的好處

1 考慮了多個輸入之間的相互組合、相互制約關系

2 能夠幫助我們按一定步驟,高效率地選擇測試用例,同時還能為我們指出,程序規格說明描述中存在著什么問題

利用因果圖導出測試用例需要經過的一般步驟

1.分析程序規格說明的描述中,哪些是原因,哪些是結果。

2.分析程序規格說明的描述中語義的內容,并將其表示成連接各個原因與各個結果的因果圖

3.在因果圖上使用若干個特殊的符號標明特定的約束條件

4.把因果圖轉換成判定表

5.把判定表中每一列表示的情況寫成測試用例

因果圖基本符號

因果圖實例講解

某軟件規格說明中包含這樣的要求: 
第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件的修改。但如果第一列字符不正確,則給出信息L;如果第二列字符不是數字,則給出信息M。

分開原因和結果 

原因:1----第一列字符是A;
2----第一列字符是B;
3----第二列字符是一數字。
結果:21----修改文件;
22----給出信息L;
23----給出信息M。


此例子是講解利用因果圖設計測試用例的一個小例子。以中國象棋中走馬的測試用例設計為例學習因果圖的使用方法。

一、分析中國象棋中走馬的實際情況(下面未注明的均指的是對馬的說明)
1、如果落點在棋盤外,則不移動棋子;2、如果落點與起點不構成日字型,則不移動棋子;3、如果落點處有自己方棋子,則不移動棋子;4、如果在落點方向的鄰近交叉點有棋子(絆馬腿),則不移動棋子;5、如果不屬于1-4條,且落點處無棋子,則移動棋子;6、如果不屬于1-4條,且落點處為對方棋子(非老將),則移動棋子并除去對方棋子;7如果不屬于1-4條,且落點處為對方老將,則移動棋子,并提示戰勝對方,游戲結束。

二、 根據分析明確原因和結果

原因:
1、 落點在棋盤上;
2、 落點與起點構成日字;
3、 落點處為自己方棋子;
4、 落點方向的鄰近交叉點無棋子;
5、 落點處無棋子;
6、 落點處為對方棋子(非老將);
7、 落點處為對方老將。
結果:
21、不移動棋子;
22、移動棋子;
23、移動棋子,并除去對方棋子;
24、移動棋子,并提示戰勝對方,結束游戲。

添加中間節點11,目的是作為導出結果的進一步原因,簡化因果圖導出的判定表


MILY: 宋體; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">考慮結果不能同時發生,所以對其施加唯一約束O。原因5、6、7不能同時發生,所以對其施加異約束E.

根據因果圖建立判定表:(分為兩表)

注:1、以上判定表中由于表格大小限制沒有列出最后所選的測試用例;2、第2表中部分列被合并表示不可能發生的現象;3、通過中間節點將用例的判定表簡化為兩個小表。減少工作量。

四、根據判定表寫測試用例表(略)

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97