測試時代首頁 | 測試時代論壇 | 測試交流會 | Blog社區 | 測試時代工作室 | 測試時代刊物 | 軟件測試資料

軟件測試的時代 - 軟件測試思想、軟件測試技術新體驗!
             
使用因果圖設計測試用例

                    軟件測試中心:陳大衛
  使用因果圖的好處

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、通過中間節點將用例的判定表簡化為兩個小表。減少工作量。

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


測試時代首頁 | 測試時代論壇 | 測試交流會 | Blog社區 | 測試時代工作室 | 測試時代刊物 | 軟件測試資料
 
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97