黑盒測(cè)試與白盒測(cè)試的區(qū)別_第1頁(yè)
黑盒測(cè)試與白盒測(cè)試的區(qū)別_第2頁(yè)
黑盒測(cè)試與白盒測(cè)試的區(qū)別_第3頁(yè)
黑盒測(cè)試與白盒測(cè)試的區(qū)別_第4頁(yè)
黑盒測(cè)試與白盒測(cè)試的區(qū)別_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

測(cè)試方法類(lèi)-白盒測(cè)試白盒測(cè)試這種方法是把測(cè)試對(duì)象看做一個(gè)打開(kāi)的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱(chēng)為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。測(cè)試方法類(lèi)-白盒測(cè)試白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)一遍。在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。。。3白盒法白盒測(cè)試測(cè)試用例一般采用邏輯覆蓋法進(jìn)行設(shè)計(jì)。

語(yǔ)句覆蓋判定覆蓋條件覆蓋判定條件覆蓋條件組合覆蓋弱強(qiáng)軟件測(cè)試方法路徑覆蓋4白盒法常用的覆蓋標(biāo)準(zhǔn)語(yǔ)句覆蓋:選擇足夠的測(cè)試用例,使得程序中每個(gè)語(yǔ)句至少都能被執(zhí)行一次。判定覆蓋:執(zhí)行足夠的測(cè)試用例,使得程序中每個(gè)判定至少都獲得一次“真”值和“假”值。條件覆蓋:執(zhí)行足夠的測(cè)試用例,使得所有判定中的每個(gè)條件至少都獲得一次“真”值和“假”值。5白盒法常用的覆蓋標(biāo)準(zhǔn)判定/條件覆蓋:執(zhí)行足夠的測(cè)試用例,使得判定中每個(gè)條件取到各種可能的值,并使每個(gè)判定取到各種可能的結(jié)果。條件組合覆蓋:執(zhí)行足夠的例子,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。路徑覆蓋:路徑覆蓋是相當(dāng)強(qiáng)的邏輯覆蓋,它保證程序中每條可能的路徑都至少執(zhí)行一次。6白盒法步驟:選擇邏輯覆蓋標(biāo)準(zhǔn)。按照覆蓋標(biāo)準(zhǔn)列出所有情況。選擇確定測(cè)試用例。驗(yàn)證分析運(yùn)行結(jié)果與預(yù)期結(jié)果。邏輯結(jié)構(gòu)7白盒法舉例Procedure(VARA,B,X:REAL);

BEGINIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1END;A>1ANDB=0X:=X/AA=2ORX>1X:=X+1YNYN81、語(yǔ)句覆蓋使得程序中每個(gè)語(yǔ)句至少都能被執(zhí)行一次。滿(mǎn)足語(yǔ)句覆蓋的情況:

執(zhí)行路徑:sacbed選擇用例:

[(2,0,4),(2,0,3)]用例格式:

[輸入(A,B,X),輸出(A,B,X)]A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcdeYNYN開(kāi)始結(jié)束s92、判定覆蓋使得程序中每個(gè)判定至少為T(mén)RUE和FALSE各一次。覆蓋情況:應(yīng)執(zhí)行路徑sabd

sacbed或:sacbd∧sabed選擇用例(其一):⑴[(2,0,4),(2,0,3)]sacbed[(1,1,1),(1,1,1)]sabd

⑵[(2,1,1),(2,1,2)]sabed[(3,0,3),(3,1,1)]sacbdA>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcdeYNYN開(kāi)始結(jié)束s103、條件覆蓋使判定中的每個(gè)條件至少都獲得一次“真”值和“假”值。應(yīng)滿(mǎn)足以下覆蓋情況:判定一:A>1

A≤1

B=0

B≠0判定二:A=2

A≠2

X>1

X≤1選擇用例:[(2,0,4),(2,0,3)][(1,1,1),(1,1,1)]2A≤1A≠20B=04X>11A>1A=21B≠01X≤1A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcdeYNYN開(kāi)始結(jié)束s114、判定/條件覆蓋同時(shí)滿(mǎn)足判定覆蓋和條件覆蓋。應(yīng)滿(mǎn)足以下覆蓋情況:條件:A>1,A≤1,B=0,B≠0 A=2,A≠2,X>1,X≤1應(yīng)執(zhí)行路徑sacbed

sabd選擇用例:[(2,0,4),(2,0,3)](sacbed

)[(1,1,1),(1,1,1)](sabd)A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcdeYNYN開(kāi)始結(jié)束s5、條件組合覆蓋使得每個(gè)判定中條件的各種“真”“假”可能組合都至少出現(xiàn)一次編譯系統(tǒng)下的執(zhí)行情況:部分路徑未被執(zhí)行。滿(mǎn)足以下覆蓋情況:①A>1,B=0②A>1,B≠0③A≤1,B=0

④A≤1,B≠0⑤A=2,X>1

⑥A=2,X≤1

⑦A≠2,X>1

⑧A≠2,X≤1選擇用例:[(2,0,4),(2,0,3)][(2,1,1),(2,1,2)][(1,0,3),(1,0,4)][(1,1,1),(1,1,1)]A>1X:=X/AA=2X:=X+1abcdeB=0X>1YNYNYNYNc結(jié)束①⑤②⑥③⑦④⑧136、路徑覆蓋法測(cè)試用例通過(guò)路徑ABX111sabd112sabed301sacbd204sacbedA>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcdeYNYN開(kāi)始結(jié)束s每條可能的路徑都至少執(zhí)行一次14例題:三角形問(wèn)題輸入三整數(shù),判斷是否構(gòu)成三角形,如構(gòu)成三角形,則輸出三條邊的值,否則輸出“不能構(gòu)成三角形”。要求:2、設(shè)計(jì)路徑覆蓋的測(cè)試用例。15解法1:覆蓋路徑:

1.①—②—④2.①—③—④開(kāi)始輸入A,B,C(A+B>C)&(A+C>B)&(B+C>A)輸出ABC不能構(gòu)成三角形結(jié)束FT①②③④路徑測(cè)試用例(A,B,C)結(jié)果1A=3,B=4,C=5A=3,B=4,C=52A=5,B=8,C=2不能構(gòu)成三角形16解法2:

覆蓋路徑:測(cè)試用例1.①—②—③—④—⑥(3,4,5)2.①—⑤—⑥(2,2,5)3.①—②—⑤—⑥(2,5,2)4.①—②—③—⑤—⑥(5,2,2)開(kāi)始輸入A,B,CA+B>CA+C>BB+C>A輸出ABC不能構(gòu)成三角形結(jié)束FFFTTT①②③④⑤⑥17解法2:路徑覆蓋法測(cè)試用例設(shè)計(jì)路徑測(cè)試用例(A,B,C)結(jié)果1A=3,B=4,C=5A=3,B=4,C=52A=2,B=2,C=5不能構(gòu)成三角形3A=2,B=5,C=2不能構(gòu)成三角形4A=5,B=2,C=2不能構(gòu)成三角形18基本路徑測(cè)試1、畫(huà)出流程圖191011245783619基本路徑測(cè)試2、簡(jiǎn)化流程圖12,387694,5101120基本路徑測(cè)試3、計(jì)算環(huán)路復(fù)雜度環(huán)路復(fù)雜度(Cyclomaticcomplexity):代碼邏輯復(fù)雜度的度量。用V(G)表示。通過(guò)V(G)確定基本路徑數(shù)。V(G)=區(qū)域數(shù)量(由節(jié)點(diǎn)、連線(xiàn)包圍的區(qū)域,包括圖形外部區(qū)域)V(G)=連線(xiàn)數(shù)量-節(jié)點(diǎn)數(shù)量+2V(G)=簡(jiǎn)單可預(yù)測(cè)節(jié)點(diǎn)數(shù)量+1V(G)=412,378694,51011Region1Region2Region3Region4基本路徑測(cè)試22基本路徑測(cè)試3、確定基本路徑集合基本路徑集合:由獨(dú)立路徑構(gòu)成的集合由基本路勁集合導(dǎo)出的測(cè)試用例,保證被測(cè)程序的每條可執(zhí)行語(yǔ)句至少被執(zhí)行一次。基本集合不一定唯一23Path1:1-2-3-6-7-9-10-1-11示例:基本路徑測(cè)試用例Path2:1-2-3-6-8-9-10-1-11Path3:1-2-3-4-5-10-1-11Path4:1-111910112458736還有其它路徑集合嗎?24基本路徑測(cè)試:練習(xí)AECDBPath1:A-C-EPath2:A-B-C-EPath3:A-B-C-D-EV(G)=?還有其它路徑集合嗎?

3測(cè)試方法類(lèi)-黑盒測(cè)試黑盒測(cè)試這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明。因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。主要應(yīng)用于快速開(kāi)發(fā)環(huán)境。測(cè)試方法類(lèi)-黑盒測(cè)試黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類(lèi)錯(cuò)誤:是否有不正確或遺漏的功能?在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪(fǎng)問(wèn)錯(cuò)誤?性能上是否能夠滿(mǎn)足要求?是否有初始化或終止性錯(cuò)誤?27等價(jià)分類(lèi)法邊值分析法錯(cuò)誤推測(cè)法因果圖法黑盒法不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性設(shè)計(jì)測(cè)試用例。判定表法1、等價(jià)分類(lèi)法基本思想根據(jù)程序的I/O特性,將程序的定義域劃分為有限個(gè)等價(jià)區(qū)段—“等價(jià)類(lèi)”,從等價(jià)類(lèi)中選擇出的用例,具有“代表性”。等價(jià)類(lèi)分為:有效等價(jià)類(lèi)—對(duì)于程序的規(guī)格說(shuō)明是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。無(wú)效等價(jià)類(lèi)—對(duì)于程序的規(guī)格說(shuō)明,是不合理的,是沒(méi)有意義的輸入數(shù)據(jù)構(gòu)成的集合。

等價(jià)分類(lèi)法步驟劃分等價(jià)類(lèi)應(yīng)按照輸入條件(如輸入值的范圍,值的個(gè)數(shù),值的集合,輸入條件必須如何)劃分為有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)。例如:每個(gè)學(xué)生可選修1-3門(mén)課程可以劃分一個(gè)有效等價(jià)類(lèi):選修1-3門(mén)課程??梢詣澐謨蓚€(gè)無(wú)效等價(jià)類(lèi):未選修課,選修課超過(guò)3門(mén)。標(biāo)識(shí)符的第一個(gè)字符必須是字母??梢詣澐譃橐粋€(gè)有效等價(jià)類(lèi):第一個(gè)字符是字母??梢詣澐忠粋€(gè)無(wú)效等價(jià)類(lèi):第一個(gè)字符不是字母。選擇測(cè)試用例A、為每個(gè)等價(jià)類(lèi)編號(hào);B、使一個(gè)測(cè)試用例盡可能覆蓋多個(gè)有效等價(jià)類(lèi)C、特別要注意的是:一個(gè)測(cè)試用例只能覆蓋一個(gè)無(wú)效等價(jià)類(lèi)。等價(jià)類(lèi)劃分法——以輸入域劃分等價(jià)類(lèi)NextDate函數(shù)包含三個(gè)變量:month(月份)、day(日期)和year(年),函數(shù)的輸出為輸入日期后一天的日期。例如,輸入為2007年9月9日,則函數(shù)的輸出為2007年9月10日。要求輸入變量month、day和year均為整數(shù)值,并且滿(mǎn)足下列條件:(1)1≤month≤12(2)1≤day≤31(3)1912≤year≤2050

此函數(shù)的主要特點(diǎn)是輸入變量之間的邏輯關(guān)系比較復(fù)雜。復(fù)雜性的來(lái)源有兩個(gè):一個(gè)是輸入域的復(fù)雜性,另一個(gè)是指閏年的規(guī)則。例如變量year和變量month取不同的值,對(duì)應(yīng)的變量day會(huì)有不同的取值范圍,day值的范圍可能是1~30或1~31,也可能是1~28或1~29。等價(jià)類(lèi)劃分法——以輸入域劃分等價(jià)類(lèi)(1)簡(jiǎn)單等價(jià)類(lèi)劃分測(cè)試NextDate函數(shù)有效等價(jià)類(lèi)簡(jiǎn)單等價(jià)類(lèi)劃分測(cè)試NextDate函數(shù)可以劃分以下三種有效等價(jià)類(lèi):M1={month:1≤month≤12}D1={day:1≤day≤31}Y1={year:1912≤year≤2050}無(wú)效等價(jià)類(lèi)若條件(1)~(3)中任何一個(gè)條件無(wú)效,那么NextDate函數(shù)都會(huì)產(chǎn)生一個(gè)輸出,指明相應(yīng)的變量超出取值范圍,例如month的值不在1~12范圍當(dāng)中。等價(jià)類(lèi)劃分法——以輸入域劃分等價(jià)類(lèi)顯然還存在著大量的year、month、day的無(wú)效組合,NextDate函數(shù)將這些組合統(tǒng)一輸出為:“無(wú)效輸入日期”。其無(wú)效等價(jià)類(lèi)為:M2={month:month<1}M3={month:month>12}D2={day:day<1}D3={day:day>31}Y2={year:year<1912}Y3={year:year>2050}等價(jià)類(lèi)劃分法——以輸入域劃分等價(jià)類(lèi)一般等價(jià)類(lèi)測(cè)試用例如表所示。NextDate函數(shù)的一般等價(jià)類(lèi)測(cè)試用例測(cè)試用例輸入期望輸出monthdayyearTestCase19920072007年9月10日等價(jià)類(lèi)劃分法——以輸入域劃分等價(jià)類(lèi)健壯等價(jià)類(lèi)測(cè)試中包含弱健壯等價(jià)類(lèi)測(cè)試和強(qiáng)健壯等價(jià)類(lèi)測(cè)試弱健壯等價(jià)類(lèi)測(cè)試弱健壯等價(jià)類(lèi)測(cè)試中的有效測(cè)試用例使用每個(gè)有效等價(jià)類(lèi)中的一個(gè)值。弱健壯等價(jià)類(lèi)測(cè)試中的無(wú)效測(cè)試用例則只包含一個(gè)無(wú)效值,其他都是有效值,即含有單缺陷假設(shè)。如表所示。測(cè)試用例輸入期望輸出monthdayyearTestCase19920072007年9月10日TestCase2092007

month不在1~12中TestCase31392007month不在1~12中TestCase4902007day不在1~31中TestCase59322007day不在1~31中TestCase6991911

year不在1912~2050中TestCase7992051year不在1912~2050中等價(jià)類(lèi)劃分法——以輸入域劃分等價(jià)類(lèi)強(qiáng)健壯等價(jià)類(lèi)測(cè)試強(qiáng)健壯等價(jià)類(lèi)測(cè)試考慮了更多的無(wú)效值情況。強(qiáng)健壯等價(jià)類(lèi)測(cè)試中的無(wú)效測(cè)試用例可以包含多個(gè)無(wú)效值,即含有多個(gè)缺陷假設(shè)。因?yàn)镹extDate函數(shù)有三個(gè)變量,所以對(duì)應(yīng)的強(qiáng)健壯等價(jià)類(lèi)測(cè)試用例可以包含一個(gè)無(wú)效值,兩個(gè)無(wú)效值或三個(gè)無(wú)效值。測(cè)試用例輸入期望輸出monthdayyearTestCase1-192007

month不在1~12中TestCase29-12007day不在1~31中TestCase3991900

year不在1912~2050中TestCase4-1-12007變量month、day無(wú)效變量year有效TestCase5-191900變量month、year無(wú)效變量day有效TestCase69-11900變量day、year無(wú)效變量month有效TestCase7-1-11900變量month、day、year無(wú)效(2)改進(jìn)等價(jià)類(lèi)劃分測(cè)試NextDate函數(shù)在簡(jiǎn)單等價(jià)類(lèi)劃分測(cè)試NextDate函數(shù)中,沒(méi)有考慮2月份的天數(shù)問(wèn)題,也沒(méi)有考慮閏年的問(wèn)題,月份只包含了30天和31天兩種情況。在改進(jìn)等價(jià)類(lèi)劃分測(cè)試NextDate函數(shù)中,要考慮2月份天數(shù)的問(wèn)題。關(guān)于每個(gè)月份的天數(shù)問(wèn)題,可以詳細(xì)劃分為以下等價(jià)類(lèi):M1={month:month有30天}M2={month:month有31天,除去12月}M3={month:month是2月}M4={month:month是12月}D1={day:1≤day≤27}D2={day:day=28}D3={day:day=29}D4={day:day=30}D5={day:day=31}Y1={year:year是閏年}Y2={year:year不是閏年}等價(jià)類(lèi)劃分法——以輸入域劃分等價(jià)類(lèi)等價(jià)類(lèi)劃分法——以輸入域劃分等價(jià)類(lèi)改進(jìn)等價(jià)類(lèi)劃分測(cè)試NextDate函數(shù)表所示。測(cè)試用例輸入期望輸出monthdayyearTestCase163020072007年7月1日TestCase283120072007年9月1日TestCase322720072007年2月28日TestCase422820072007年3月1日TestCase522920042004年3月1日(2004是閏年)TestCase6123120072008年1月1日TestCase79312007不可能的輸入日期TestCase82292007

不可能的輸入日期TestCase92302007

不可能的輸入日期TestCase101592007變量month無(wú)效TestCase119352007變量day無(wú)效TestCase12992100變量year無(wú)效返回382、邊值分析法

基本思想選擇等價(jià)類(lèi)的邊緣值作為測(cè)試用例,讓每個(gè)等價(jià)類(lèi)的邊界都得到測(cè)試,選擇測(cè)試用例既考慮輸入亦考慮輸出。分析步驟:

A、先劃分等價(jià)類(lèi)。

B、選擇測(cè)試用例,測(cè)試等價(jià)類(lèi)邊界。邊界選擇原則:

A、按照輸入值范圍的邊界。

B、按照輸入/輸出值個(gè)數(shù)的邊界。

C、輸出值域的邊界。

D、輸入/輸出有序集的邊界邊界值分析法邊界值分析法設(shè)計(jì)測(cè)試用例在NextDate函數(shù)中,規(guī)定了變量month、day、year的相應(yīng)取值范圍。在上面等價(jià)類(lèi)法設(shè)計(jì)測(cè)試用例中已經(jīng)提過(guò),具體如下:M1={month:1≤month≤12}D1={day:1≤day≤31}Y1={year:1912≤year≤2050}邊界值分析法測(cè)試用例輸入期望輸出monthdayyearTestCase1-1152000month不在1~12中TestCase20152000month不在1~12中TestCase311520002000年1月16日TestCase421520002000年2月16日TestCase5111520002000年11月16日TestCase6121520002000年12月16日TestCase713152000month不在1~12中TestCase86-12000day不在1~31中TestCase9602000day不在1~31中TestCase106120002000年6月2日TestCase116220002000年6月3日TestCase1263020002000年7月1日TestCase136312000不可能的輸入日期TestCase146322000day不在1~31中TestCase156151911year不在1912~2050中TestCase1661519121912年6月16日TestCase1761519131913年6月16日TestCase1861520492049年6月16日TestCase1961520502050年6月16日TestCase206152051year不在1912~2050中返回41決策表在一些數(shù)據(jù)處理問(wèn)題當(dāng)中,某些操作的實(shí)施依賴(lài)于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。決策表(也稱(chēng)判定表),最適合描述在多邏輯條件取值的組合所構(gòu)成的復(fù)雜情況下,分別執(zhí)行哪些不同的動(dòng)作。42規(guī)則選項(xiàng)12354678問(wèn)題覺(jué)得疲倦?YYYNYNNN感興趣嗎?YYNYNYNN糊涂嗎?YNYYNNYN建議重讀√繼續(xù)√跳下一章√√休息√√√√“閱讀指南”決策表43決策表的組成決策表通常由以下4部分組成:條件樁—左上部分,列出各種可能的單個(gè)條件動(dòng)作樁—左下部分,列出可能采取的單個(gè)動(dòng)作條件項(xiàng)—右上部分,針對(duì)各種條件給出多組條件取值的組合動(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)作稱(chēng)為一條規(guī)則。在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。44決策表分類(lèi)有限條目決策表所有條件都是二元條件的決策表。擴(kuò)展條目決策表若條件可以有多個(gè)值,則對(duì)應(yīng)的決策表稱(chēng)擴(kuò)展條目決策表。45決策表的生成構(gòu)造決策表的5個(gè)步驟:(1)確定規(guī)則的個(gè)數(shù)。有n個(gè)條件的決策表有2n個(gè)規(guī)則(每個(gè)條件取真、假值)。(2)列出所有的條件樁和動(dòng)作樁。(3)填入條件項(xiàng)。(4)填入動(dòng)作項(xiàng),得到初始決策表。(5)簡(jiǎn)化決策表,合并相似規(guī)則。若表中有兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。合并后的條件項(xiàng)用符號(hào)“-”表示,說(shuō)明執(zhí)行的動(dòng)作與該條件的取值無(wú)關(guān),稱(chēng)為無(wú)關(guān)條件。決策表法NextDate函數(shù)的決策表測(cè)試用例設(shè)計(jì):NextDate函數(shù)中包含了定義域各個(gè)變量之間的依賴(lài)問(wèn)題。等價(jià)類(lèi)劃分法和邊界值分析法只能“獨(dú)立地”選取各個(gè)輸入值,不能體現(xiàn)出多個(gè)變量的依賴(lài)關(guān)系。決策表法則是根據(jù)變量間的邏輯依賴(lài)關(guān)系設(shè)計(jì)測(cè)試輸入數(shù)據(jù),排除不可能的數(shù)據(jù)組合,很好地解決了定義域的依賴(lài)問(wèn)題。NextDate函數(shù)求解給定某個(gè)日期的下一個(gè)日期的可能操作(動(dòng)作樁)如下:變量day加1操作;變量day復(fù)位操作;變量month加1操作;變量month復(fù)位操作;變量year加1操作。決策表法根據(jù)上述動(dòng)作樁發(fā)現(xiàn)NextDate函數(shù)的求解關(guān)鍵是日和月的問(wèn)題,通常可以在下面等價(jià)類(lèi)(條件樁)的基礎(chǔ)上建立決策表:M1={month:month有30天}M2={month:month有31天,12月除外}M3={month:month是12月}M4={month:month是2月}D1={day:1≤day≤27}D2={day:day=28}D3={day:day=29}D4={day:day=30}D5={day:day=31}Y1={year:year是閏年}Y2={year:year不是閏年}決策表法輸入變量間存在大量邏輯關(guān)系的NextDate函數(shù)決策表如后表所示。決策表共有22條規(guī)則:第1~5條規(guī)則解決有30天的月份;第6~10條規(guī)則解決有31天的月份(除12月份以外);第11~15條規(guī)則解決12月份;第16~22條規(guī)則解決2月份和閏年的問(wèn)題。不可能規(guī)則也在決策表中列出,比如第5條規(guī)則中在有30天的月份中也考慮了31日。決策表法規(guī)則選項(xiàng)1234567891011條件:C1:month在M1M1M1M1M1M2M2M2M2M2M3C2:day在D1D2D3D4D5D1D2D3D4D5D1C3:year在-----------動(dòng)作:A1:不可能√A2:day加1√√√√√√√√A3:day復(fù)位√√A4:month加1√√A5:month復(fù)位A6:year加1決策表法規(guī)則選項(xiàng)1213141516171819202122條件:C1:month在M3M3M3M3M4M4M4M4M4M4M4C2:day

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論