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