測試用例設計方法2 因果圖判定表
測試用例(Test Case)是為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求。下面介紹測試用例的設計方法二,判定表和因果圖。
判定表法
判定表是分析和表達多種輸入情況下執行不同動作的工具,判定表方法主要用于處理程序輸入條件的不同組合,但是要求條件的組合必須是bool類型,而且條件和預期的結果都是可以分析出來的。判定表能夠有效地彌補等價類和邊界值方法的不足,使得輸入條件之間的組合和相互影響得到充分的測試。
使用判定表的一般思路是:
1、需求分析,分析出條件和結果之間的各種組合
2、將條件和結果分別填入判定表
3、講條件和結果進行二進制排列
4、針對每一項組合,分析出結果,并去除無效項,是判定表得到簡化。在合并判定表時,如果條件之中只有一個不同,則可以合并。如果判定表的組合不夠多,建議不要進行合并,這樣可以測試的充分一些。
5、每一列生成一個測試用例
以閱讀指南的例子來設計一個判定表:從例子中可以看到,不同的條件組合得到不同的結果。
使用判定表方法可以充分彌補等價類邊界值得不足,但是當輸入條件過多時,使用判定表會產生大量測試用例。而其無效用例不易發現,更不能覆蓋條件之間的先后關系。因此,在一定情況下,使用判定表還需要因果圖的幫忙。
因果圖
因果圖用于描述系統之間的輸入輸出,輸入輸出之間的約束關系和因果關系。因果圖與判定表往往結合使用,使用因果圖可以得到判定表。
使用因果圖的方法:
1、分析輸入輸出并進行標識
2、分析輸入和輸入、輸入和輸出之間的關系
3、將得到的關系使用因果圖的方法表示出來
4、根據因果圖得到判定表
5、依據判定表生成測試用例
這里分析一個自動售貨機的因果圖分析方法:
條件:有一個處理單價為5角的自動售貨機,當投入5角或1元硬幣時,選擇橙汁或啤酒,飲料出來;若自動售貨機沒有零錢,則顯示零錢照完,亮紅燈,這時候投入的1元被退出來,飲料不送出來。如果有零錢,則出飲料并找5角錢。
分析:
1、選擇橙汁和啤酒是同一類型,可以進行歸類
2、選擇5角和1元看似是同一類,但是他們所觸發的操作是不同的,不能歸類
3、橙汁和啤酒、5角和1元是相異的關系
4、分析不同的組合并得到最終結果
總結:因果圖的使用和分析比較復雜,使用因果圖可能會消耗很多的時間,因此正確的策略是先考慮其他的測試用例設計方法,***再使用因果如,可以盡量的減少工作的時間并提高效率。
相關鏈接:http://www.ekrvqnd.cn/php/viewart.php?artID=261890
【編輯推薦】