軟件測(cè)試-7黑盒測(cè)試決策表法
單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,Phd Thesis-Haris Baltzakis,*,黑盒測(cè)試用例設(shè)計(jì),決策表法,概述,在一個(gè)程序中,如果輸入輸出比較多,輸入之間、輸出之間相互制約的條件比較多,在這種情況下使用決策表更合適,它可以清楚地表達(dá)它們之間的各種復(fù)雜關(guān)系。,決策表法是黑盒測(cè)試方法中最為嚴(yán)格、最具有邏輯性的測(cè)試方法,1,決策表的概念,決策表的概念:決策表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作情況的工具。,在一些數(shù)據(jù)處理問(wèn)題當(dāng)中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。決策表很適合于處理這類問(wèn)題。,決策表實(shí)例,規(guī)則,選項(xiàng),1,2,3,4,5,6,7,8,問(wèn)題,覺(jué)得疲倦?,Y,Y,Y,Y,N,N,N,N,感興趣嗎?,Y,Y,N,N,Y,Y,N,N,糊涂嗎?,Y,N,Y,N,Y,N,Y,N,建議,重讀,繼續(xù),跳下一章,休息,“,閱讀指南,”,決策表,決策表的優(yōu)點(diǎn):,能夠?qū)?fù)雜的問(wèn)題按照各種可能的情況全部列舉出來(lái),簡(jiǎn)明并且避免遺漏。因此,利用決策表能夠設(shè)計(jì)出完整的測(cè)試用例集合。,決策表的組成,決策表通常由以下,4,部分組成:,條件樁,列出問(wèn)題的所有條件,條件項(xiàng),針對(duì)條件樁給出的條件列出所有可能的取值,動(dòng)作樁,列出問(wèn)題規(guī)定的可能采取的操作,動(dòng)作項(xiàng),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作,條件樁,動(dòng)作樁,條件項(xiàng),動(dòng)作項(xiàng),規(guī)則,將任何一個(gè)條件組合的特定取值及相應(yīng)要執(zhí)行的動(dòng)作稱為一條規(guī)則。在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。,決策表,規(guī)則,選項(xiàng),1,2,3,,,4,5,6,7,,,8,條件,:c1,c2,c3,T,T,T,T,T,F,T,F,-,F,T,T,F,T,F,F,F,-,動(dòng)作,:a1,a2,a3,a4,條件樁,動(dòng)作項(xiàng),動(dòng)作樁,條件項(xiàng),規(guī)則,決策表的生成,若,c1,、,c2,、,c3,都為真,則采取動(dòng)作,a1,和,a2;,若,c1,、,c2,都為真,c3,為假,則采取動(dòng)作,a1,和,a3;,將任何一個(gè)條件組合的特定取值及相應(yīng)要執(zhí)行的動(dòng)作稱為一條規(guī)則,在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。,決策表的簡(jiǎn)化,簡(jiǎn)化是以合并相似規(guī)則為目標(biāo);,若表中有兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。,N,Y,N,N,Y,Y,N,Y,N,N,N,Y,Y,N,Y,將,“,閱讀指南,”,決策表簡(jiǎn)化,規(guī)則,選項(xiàng),1,4,5,6,7,8,問(wèn),題,覺(jué)得疲倦嗎,Y,N,N,N,感興趣嗎,-,Y,Y,N,糊涂嗎,-,Y,N,建,議,重讀,繼續(xù),跳下一章,休息,決策表的生成,-,構(gòu)造決策表的,5,個(gè)步驟:,(,1,)列出所有的條件樁和動(dòng)作樁。,(,2,)填入條件項(xiàng),(,3,)填入動(dòng)作項(xiàng),(,4,)確定規(guī)則的個(gè)數(shù),得到初始決策表。,有,n,個(gè)條件的決策表有,2,n,個(gè)規(guī)則(每個(gè)條件取真、假值),(,5,)簡(jiǎn)化決策表,合并相似規(guī)則。,若表中有兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。,合并后的條件項(xiàng)用符號(hào)“,-”,表示,說(shuō)明執(zhí)行的動(dòng)作與該條件的取值無(wú)關(guān)。,例題:三角形問(wèn)題決策表,確定條件和動(dòng)作,列出所有的條件樁和動(dòng)作樁,填入輸入項(xiàng),填入動(dòng)作項(xiàng),得到初始決策表,化簡(jiǎn)。(合并相似規(guī)則),2024/12/10,13,三角形問(wèn)題的決策表用例設(shè)計(jì),表,1,1-8,9,10,11,12,13,14,15,16,C1:abc,能否構(gòu)成三角形,?,C2:a=b?,C3:a=c?,C4:b=c?,N,-,-,-,Y,Y,Y,Y,Y,Y,Y,N,Y,Y,N,Y,Y,Y,N,N,Y,N,Y,Y,Y,N,Y,N,Y,N,N,Y,Y,N,N,N,A1:,非三角形,A2:,一般三角形,A3:,等腰三角形,A4:,等邊三角形,A5:,不可能,該條件可以擴(kuò)展成:,a+bcb+cac+ab,2024/12/10,14,三角形問(wèn)題的擴(kuò)展決策表,表,2,1,2,3,4,5,6,7,8,9,10,11,C1:ab+c?,C2:ba+c?,C3:ca+b?,C4:a=b?,C5:a=c?,C6:b=c?,N,-,-,-,-,-,Y,N,-,-,-,-,Y,Y,N,-,-,-,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,N,Y,Y,Y,Y,N,Y,Y,Y,Y,Y,N,N,Y,Y,Y,N,Y,Y,Y,Y,Y,N,Y,N,Y,Y,Y,N,N,Y,Y,Y,Y,N,N,N,A1:,非三角形,A2:,一般三角形,A3:,等腰三角形,A4:,等邊三角形,A5:,不可能,條件,:a,b,c,是否可以,構(gòu)成三角形,2024/12/10,15,根據(jù)決策表測(cè)試用例,編號(hào),a,b,c,期望輸出,DT1,DT2,DT3,DT4,DT5,DT6,DT7,DT8,DT9,DT10,DT11,4 1 2,1 4 2,1 2 4,5 5 5,?,?,2 2 3,?,2 3 2,3 2 2,3 4 5,非三角形,非三角形,非三角形,等邊三角形,不可能,不可能,等腰三角形,不可能,等腰三角形,等腰三角形,一般三角形,例,2,:,NextDate,函數(shù)的決策表測(cè)試用例設(shè)計(jì),month,變量的有效等價(jià)類:,M1:month=4,6,9,11,M2:month=1,3,5,7,8,10,M3:month=12 M4:month=2,day,變量的有效等價(jià)類:,D1:1day27 D2:day=28,D3:day=29 D4:day=30 D5:day=31,year,變量的有效等價(jià)類:,Y1:year,是閏年,Y2:year,不是閏年,考慮各種有效的輸入情況,,程序中可能采取的操作有以下六種,:,a1:,不可能,a2:day+1 a3:day,復(fù)位,a4:month+1 a5:month,復(fù)位,a6:year+1,規(guī)則,選項(xiàng),1,2,3,4,5,6,7,8,9,10,11,條件:,c1:month,c2:day,c3:year,M1,D1,M1,D2,M1,D3,M1,D4,M1,D5,M2,D1,M2,D2,M2,D3,M2,D4,M2,D5,M3,D1,動(dòng)作:,a1:,不可能,a2:day,加,1,a3:day,復(fù)位,a4:month,加,1,a5:month,復(fù)位,a6:year,加,1,選項(xiàng),規(guī)則,12,13,14,15,16,17,18,19,20,21,22,條件:,c1:month,c2:day,c3:year,M3,D2,M3,D3,M3,D4,M3,D5,M4,D1,M4,D2,Y1,M4,D2,Y2,M4,D3,Y1,M4,D3,Y2,M4,D4,M4,D5,動(dòng)作:,a1:,不可能,a2:day,加,1,a3:day,復(fù)位,a4:month,加,1,a5:month,復(fù)位,a6:year,加,1,簡(jiǎn)化,NextDate,函數(shù)決策表,規(guī)則,1,、,2,、,3,都涉及有,30,天的月份,day,類,D1,、,D2,和,D3,,并且它們的動(dòng)作項(xiàng)都是,day,加,1,,因此可以將規(guī)則,1,、,2,、,3,合并。,類似地,有,31,天的月份,day,類,D1,、,D2,、,D3,和,D4,也可合并,,2,月的,D4,和,D5,也可合并,。,簡(jiǎn)化后的,NextDate,函數(shù)決策表,1-3,4,5,6-9,10,11-14,15,16,17,18,19,20,21-22,條件:,c1:month,c2:day,c3:year,M1,M1,D4,M1,D5,M2,M2,D5,M3,M3,D5,M4,D1,M4,D2,Y1,M4,D2,Y2,M4,D3,Y1,M4,D3,Y2,M4,D4,、,D5,動(dòng)作,a1:,不可能,a2:day,加,1,a3:day,復(fù)位,a4:month,加,1,a5:month,復(fù)位,a6:year,加,1,測(cè)試用例表,測(cè)試用例,month,day,year,預(yù)期輸出,Test1-Test3,6,16,2001,17/6/2001,Test4,6,30,2004,1/7/2004,Test5,6,31,2001,不可能,Test6-Test9,8,16,2004,17/8/2004,Test10,8,31,2001,1/9/2001,Test11-Test14,12,16,2004,17/12/2004,Test115,12,31,2001,1/1/2002,Test16,2,16,2004,17/2/2004,Test17,2,28,2004,29/2/2004,Test18,2,28,2001,1/3/2001,Test19,2,29,2004,1/3/2001,Test20,2,29,2001,不可能,Test21-Test22,2,30,2004,不可能,決策表測(cè)試的適用范圍,if-else,邏輯突出;,恒等:,IF A THEN B,非:,IF(NOT A)THEN B,或:,IF(A OR B)THEN C,與:,IF(A AND B)THEN C,輸入變量之間存在邏輯關(guān)系;,涉及輸入變量子集的計(jì)算;,輸入與輸出之間存在因果關(guān)系;,2024/12/10,24,適用于使用決策表設(shè)計(jì)測(cè)試用例的情況,:,規(guī)格說(shuō)明以決策表形式給出,或較易轉(zhuǎn)換為決策表,.,條件的排列順序不會(huì)也不應(yīng)該影響執(zhí)行的操作,規(guī)則的排列順序不會(huì)也不應(yīng)該影響執(zhí)行的操作,當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則,.,如果某一規(guī)則的條件要執(zhí)行多個(gè)操作任務(wù),這些操作的執(zhí)行順序無(wú)關(guān)緊要,.,決策表應(yīng)用,決策表最突出的優(yōu)點(diǎn)是,能夠?qū)?fù)雜的問(wèn)題按照各種可能的情況全部列舉出來(lái),簡(jiǎn)明并避免遺漏。,利用決策表能夠設(shè)計(jì)出完整的測(cè)試用例集合。,運(yùn)用決策表設(shè)計(jì)測(cè)試用例可以將條件理解為輸入,將動(dòng)作理解為輸出,練習(xí)1,某校關(guān)于學(xué)生升留級(jí)的規(guī)定為:,一學(xué)期有三門考試課程不及格,直接留級(jí);,一學(xué)期考試和考察四門課程不及格者,不予補(bǔ)考,直接留級(jí);,練習(xí)2,某廠對(duì)一部分職工重新分配工作,分配原則是,:,年齡不滿,20,歲,文化程度是小學(xué)者脫產(chǎn)學(xué)習(xí),文化程度是中學(xué)者當(dāng)電工;,年齡滿,20,歲但不足,50,歲,文化程度是小學(xué)或中學(xué)者,男性當(dāng)鉗工,女性當(dāng)車工;文化程度是大學(xué)者技術(shù)員;,年齡滿,50,及,50,以上,文化程度是小學(xué)或中學(xué)者當(dāng)材料員,文化程度是大學(xué)者當(dāng)技術(shù)員。,習(xí)題,1,、某軟件的一個(gè)模塊的需求規(guī)格說(shuō)明書中描述:,“,對(duì)于功率大于,50,馬力的機(jī)器或者維修記錄不全的或已經(jīng)運(yùn)行,10,年以上的機(jī)器應(yīng)予以優(yōu)先的維修處理,”,。,這里假定“維修記錄不全”和“優(yōu)先維修處理”有嚴(yán)格的定義。,請(qǐng)建立該需求的決策表,并繪制出化簡(jiǎn)(合并規(guī)則)后的決策表。,乘機(jī)可免費(fèi)攜帶30kg的行李。超出重量按比例收費(fèi):,殘疾乘客按超出重量的4倍收取費(fèi)用,若是國(guó)內(nèi)乘客則只收取3倍于超出部分的費(fèi)用,若是頭等艙則只收取2倍于超出重量的費(fèi)用;,國(guó)內(nèi)乘客頭等艙收取4倍于超出部分的費(fèi)用,否則是6倍;,頭等艙的國(guó)際乘客收取8倍超出部分的費(fèi)用,否則是12倍。,1,2,3,4,5,6,7,8,9,國(guó)內(nèi)乘客,T,T,T,T,F,F,F,F,頭等艙,T,F,T,F,T,F,T,F,殘疾乘客,F,F,T,T,F,F,T,T,行李重量,W,30kg,T,F,F,F,F,F,F,F,F,免費(fèi),(,W-30,),*2,(,W-30,),*3,(,W-30,),*4,(,W-30,),*6,(,W-30,),*8,(,W-30,),*12,2024/12/10,31,決策表的化簡(jiǎn),8,F,-,T,F,