使用因果圖設計測試用例

發表于:2016-01-07來源:uml.org.cn作者:不詳點擊數: 標簽:測試用例
使用因果圖的好處 1 考慮了多個輸入之間的相互組合、相互制約關系 2 能夠幫助我們按一定步驟,高效率地選擇測試用例,同時還能為我們指出,程序規格說明描述中存

  使用因果圖的好處

  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,目的是作為導出結果的進一步原因,簡化因果圖導出的判定表

  考慮結果不能同時發生,所以對其施加唯一約束O。原因5、6、7不能同時發生,所以對其施加異約束E.

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

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

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

原文轉自:http://www.uml.org.cn/Test/2004120601.htm

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