軟件測試技術(shù)-8黑盒測試因果圖法_第1頁
軟件測試技術(shù)-8黑盒測試因果圖法_第2頁
軟件測試技術(shù)-8黑盒測試因果圖法_第3頁
軟件測試技術(shù)-8黑盒測試因果圖法_第4頁
軟件測試技術(shù)-8黑盒測試因果圖法_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、黑盒測試因果圖康玲四、因果圖法基于決策表的測試是最嚴(yán)格的功能性測試,因基于決策表的測試是最嚴(yán)格的功能性測試,因?yàn)闆Q策表具有邏輯嚴(yán)格性。為決策表具有邏輯嚴(yán)格性。與之相關(guān)連的方法:與之相關(guān)連的方法:缺點(diǎn):缺點(diǎn):使用麻煩,冗余多。使用麻煩,冗余多。自從自從20世紀(jì)世紀(jì)60年代初以來,決策表一直被用來年代初以來,決策表一直被用來表示和分析復(fù)雜邏輯關(guān)系。決策表很適合描述表示和分析復(fù)雜邏輯關(guān)系。決策表很適合描述不同條件集合下采取行動(dòng)的若干組合的情況。不同條件集合下采取行動(dòng)的若干組合的情況。因果圖,是一種形式語言(有嚴(yán)格語法限制的語言,計(jì)算機(jī)語言都是形式語 言),是將自然語言描述的規(guī)格說明轉(zhuǎn)換為因果圖。實(shí)質(zhì)

2、上,是一種數(shù)字邏輯電路(一個(gè)組合的邏輯網(wǎng)絡(luò)),但沒有使用標(biāo)準(zhǔn)的電子學(xué)符號(hào),而是使用了稍微簡單點(diǎn) 的符號(hào)。因果圖法(Cause/Effect Graphing)一些程序的功能可以用判定表的形式來表示,一些程序的功能可以用判定表的形式來表示,并根據(jù)輸入條件的組合情況規(guī)定相應(yīng)的操作。并根據(jù)輸入條件的組合情況規(guī)定相應(yīng)的操作。從程序規(guī)格說明書的描述中找出從程序規(guī)格說明書的描述中找出因因(輸入條件)(輸入條件)和和果果(輸出結(jié)果或程序狀態(tài)的改變)的關(guān)系,(輸出結(jié)果或程序狀態(tài)的改變)的關(guān)系,通過因果圖轉(zhuǎn)換為判定表,最后為判定表的每通過因果圖轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計(jì)一個(gè)測試用例一列設(shè)計(jì)一個(gè)測試用

3、例考慮到輸入情況的各種組合以及各個(gè)輸入情況考慮到輸入情況的各種組合以及各個(gè)輸入情況之間的相互制約關(guān)系。之間的相互制約關(guān)系。因果圖法使用了簡單的邏輯符號(hào),以直線連接左右節(jié)點(diǎn)。左使用了簡單的邏輯符號(hào),以直線連接左右節(jié)點(diǎn)。左節(jié)點(diǎn)表示輸入狀態(tài)(或稱原因),右節(jié)點(diǎn)表示輸出節(jié)點(diǎn)表示輸入狀態(tài)(或稱原因),右節(jié)點(diǎn)表示輸出狀態(tài)(結(jié)果)。狀態(tài)(結(jié)果)。c1e1(a)恒等c1e1(b)非c2e1c1c3V(c)或c2e1c1V(d)與圖中,圖中,ci表示原因,通常位于圖的左部,表示原因,通常位于圖的左部,ei表表示結(jié)果,位于圖的右部。示結(jié)果,位于圖的右部。ci與與ei取值取值0或或1,0表表示某狀態(tài)不出現(xiàn),示某狀態(tài)

4、不出現(xiàn),1表示某狀態(tài)出現(xiàn)表示某狀態(tài)出現(xiàn)恒等:若恒等:若c1是是1,則,則e1也為也為1,否則,否則e1為為0;非:若非:若c1是是1,則,則e1為為0,否則,否則e1為為1;或:若或:若c1或或c2或或c3是是1,則,則e1是是1,否則,否則e1為為0,“或或”可有任意個(gè)輸入;可有任意個(gè)輸入;與:若與:若c1和和c2都是都是1,則,則e1為為1,否則,否則e1為為0,“與與”也可有任意個(gè)輸入。也可有任意個(gè)輸入。在實(shí)際問題當(dāng)中輸入狀態(tài)相互之間還可能存在某些在實(shí)際問題當(dāng)中輸入狀態(tài)相互之間還可能存在某些依賴關(guān)系,稱為依賴關(guān)系,稱為“約束約束”abE異(a)acI或babO唯一abR要求ab強(qiáng)制M(b

5、)(c)(d)(e)對(duì)于輸入條件的約束有對(duì)于輸入條件的約束有4種:種:E約束(異):約束(異):a和和b中最多有一個(gè)可能為中最多有一個(gè)可能為1,即,即a和和b不不能同時(shí)為能同時(shí)為1;I約束(或):約束(或):a、b、c中至少有一個(gè)必須是中至少有一個(gè)必須是1,即,即a、b、c不能同時(shí)為不能同時(shí)為0;O約束(唯一):約束(唯一):a和和b必須有一個(gè)且僅有一個(gè)為必須有一個(gè)且僅有一個(gè)為1;R約束(要求):約束(要求):a是是1時(shí),時(shí),b必須是必須是1;對(duì)于輸出條件的約束只有對(duì)于輸出條件的約束只有M約束約束M約束(強(qiáng)制):若結(jié)果約束(強(qiáng)制):若結(jié)果a是是1,則結(jié)果,則結(jié)果b強(qiáng)制為強(qiáng)制為0。因果圖導(dǎo)出測試

6、用例步驟:分析程序規(guī)格說明中的原因及結(jié)果。分析程序規(guī)格說明中的原因及結(jié)果。分析程序規(guī)格說明中語義的內(nèi)容,找出原因與結(jié)分析程序規(guī)格說明中語義的內(nèi)容,找出原因與結(jié)果之間、原因與原因之間的對(duì)應(yīng)關(guān)系,將其表示果之間、原因與原因之間的對(duì)應(yīng)關(guān)系,將其表示成連接各原因與各結(jié)果的成連接各原因與各結(jié)果的“因果圖因果圖”。由于語法或環(huán)境限制,有些原因與原因之間或與由于語法或環(huán)境限制,有些原因與原因之間或與結(jié)果之間的組合情況不能出現(xiàn),用記號(hào)標(biāo)明約束結(jié)果之間的組合情況不能出現(xiàn),用記號(hào)標(biāo)明約束或限制條件;或限制條件;將因果圖轉(zhuǎn)換成決策表;將因果圖轉(zhuǎn)換成決策表;根據(jù)決策表中每一列設(shè)計(jì)測試用例根據(jù)決策表中每一列設(shè)計(jì)測試用例

7、因果圖法舉例程序的規(guī)格說明要求:輸入的第一個(gè)字符必須程序的規(guī)格說明要求:輸入的第一個(gè)字符必須是是“#”或或“*”,第二個(gè)字符必須是一個(gè)數(shù)字,在,第二個(gè)字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改;如果第一個(gè)字符不此情況下進(jìn)行文件的修改;如果第一個(gè)字符不是是“#”或或“*”,則給出信息,則給出信息N;如果第二個(gè)字符;如果第二個(gè)字符不是數(shù)字,則給出信息不是數(shù)字,則給出信息M。步驟:分析程序的規(guī)格說明,列出原因和結(jié)果;分析程序的規(guī)格說明,列出原因和結(jié)果;找出原因與結(jié)果之間的因果關(guān)系、原因與原找出原因與結(jié)果之間的因果關(guān)系、原因與原因之間的約束關(guān)系,畫出因果圖。因之間的約束關(guān)系,畫出因果圖。將因果圖轉(zhuǎn)換

8、成決策表;將因果圖轉(zhuǎn)換成決策表;根據(jù)根據(jù)3中的決策表,設(shè)計(jì)測試用例的輸入數(shù)中的決策表,設(shè)計(jì)測試用例的輸入數(shù)據(jù)和預(yù)期輸出。據(jù)和預(yù)期輸出。解法如下:在明確了上述要求后,可以明確地將原因和結(jié)在明確了上述要求后,可以明確地將原因和結(jié)果分開。果分開。原因:原因:c1第一個(gè)字符是第一個(gè)字符是“#” c2第一個(gè)字符是第一個(gè)字符是“*” c3第二個(gè)字符是一個(gè)數(shù)字第二個(gè)字符是一個(gè)數(shù)字結(jié)果:結(jié)果:a1給出信息給出信息N a2修改文件修改文件 a3給出信息給出信息M(2)因果圖c1c2c310a3a2a1VV因果圖表示c1c2c310a3a2a1VVE具有E約束的因果圖表示10導(dǎo)出結(jié)果的進(jìn)一步原因(3)將因果圖轉(zhuǎn)換

9、成決策表 規(guī)則規(guī)則 選項(xiàng)選項(xiàng)12345678條件條件c1c2c310111110101110010111010100100000動(dòng)作動(dòng)作a1a2a3不可能不可能測試用例測試用例#3#A*6*BA1GT(4)設(shè)計(jì)測試用例最左邊兩列,原因最左邊兩列,原因c1和和c2同時(shí)為同時(shí)為1不可能,排不可能,排除掉,根據(jù)表可設(shè)計(jì)出除掉,根據(jù)表可設(shè)計(jì)出6個(gè)測試用例。個(gè)測試用例。Test1:輸入數(shù)據(jù):輸入數(shù)據(jù)#3 預(yù)期輸出修改文件預(yù)期輸出修改文件Test2:輸入數(shù)據(jù):輸入數(shù)據(jù)#A 預(yù)期輸出給出信息預(yù)期輸出給出信息MTest3:輸入數(shù)據(jù):輸入數(shù)據(jù)*6 預(yù)期輸出修改文件預(yù)期輸出修改文件Test4:輸入數(shù)據(jù):輸入數(shù)據(jù)*

10、B 預(yù)期輸出給出信息預(yù)期輸出給出信息MTest5:輸入數(shù)據(jù):輸入數(shù)據(jù)A1 預(yù)期輸出給出信息預(yù)期輸出給出信息NTest6:輸入數(shù)據(jù):輸入數(shù)據(jù)GT 預(yù)期輸出給出信息預(yù)期輸出給出信息M和和N使用因果圖法的優(yōu)點(diǎn)考慮了多個(gè)輸入之間的相互組合、相互制約關(guān)考慮了多個(gè)輸入之間的相互組合、相互制約關(guān)系;系;能夠幫助我們按一定步驟,高效率地選擇測試能夠幫助我們按一定步驟,高效率地選擇測試用例,同時(shí)還能為我們指出,程序規(guī)格說明描用例,同時(shí)還能為我們指出,程序規(guī)格說明描述中存在著什么問題述中存在著什么問題因果圖法案例分析有一個(gè)處理單價(jià)為有一個(gè)處理單價(jià)為1元元5角的盒裝飲料的自動(dòng)售角的盒裝飲料的自動(dòng)售貨機(jī)軟件。若投入貨

11、機(jī)軟件。若投入1元元5角硬幣,按下角硬幣,按下“可樂可樂”,“雪碧雪碧”或或“紅茶紅茶”按鈕,相應(yīng)的飲料就送出來。按鈕,相應(yīng)的飲料就送出來。若投入的是兩元硬幣,在送出飲料的同時(shí)退還若投入的是兩元硬幣,在送出飲料的同時(shí)退還5角硬幣。角硬幣。原因及結(jié)果原因c1:投入1元5角硬幣;c2:投入2元硬幣;c3:按“可樂”按鈕;c4:按“雪碧”按鈕;c5:按“紅茶”按鈕;中間狀態(tài)11:已投幣12:已按鈕結(jié)果a1:退還5角硬幣;a2:送出“可樂”飲料;a3:送出“雪碧”飲料;a4:送出“紅茶”飲料;因果圖決策表1 12 23 34 45 56 67 78 89 910101111c1:c1:投入投入1 1元

12、元5 5角硬幣角硬幣c2:c2:投入投入2 2元硬幣元硬幣c3:c3:按按“可樂可樂”按鈕按鈕c4:c4:按按“雪碧雪碧”按鈕按鈕c5:c5:按按“紅茶紅茶”按鈕按鈕1 10 01 10 00 01 10 00 01 10 01 10 00 00 01 11 10 00 00 00 00 01 11 10 00 00 01 10 01 10 00 01 10 00 01 10 01 10 00 00 00 00 01 10 00 00 00 00 01 10 00 00 00 00 01 11111:已投幣:已投幣1212:已按鈕:已按鈕1 11 11 11 11 11 11 10 01 11 11 11 11 11 11 10 00 01 10 01 10 01 1a1:a1:退還退還5 5角硬幣角硬幣a2:a2:送出送出“可樂可樂”飲料飲料a3:a3:送出送出“雪碧雪碧”飲料飲料a4:a4:送出送出“紅茶紅茶”飲料飲料作業(yè)習(xí)題某軟件的一個(gè)模塊的需求規(guī)格說明書中描述:某軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論