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