版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Page 1測(cè)試方法類白盒測(cè)試測(cè)試方法類白盒測(cè)試n 白盒測(cè)試白盒測(cè)試n這種方法是把測(cè)試對(duì)象看做一個(gè)打開的盒子,它允許測(cè)這種方法是把測(cè)試對(duì)象看做一個(gè)打開的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過(guò)在不擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試 。Page 2測(cè)試方法類白盒測(cè)試測(cè)試方法類白盒測(cè)試n 白
2、盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:n對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。n對(duì)所有的邏輯判定,取對(duì)所有的邏輯判定,取“真真”與取與取“假假”的兩種情況都的兩種情況都能至少測(cè)一遍。能至少測(cè)一遍。n在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。n測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性n。Page 33白盒法白盒法n 白盒測(cè)試測(cè)試用例一般采用邏輯覆蓋法進(jìn)行設(shè)計(jì)。白盒測(cè)試測(cè)試用例一般采用邏輯覆蓋法進(jìn)行設(shè)計(jì)。語(yǔ)語(yǔ)句句覆覆蓋蓋判判定定覆覆蓋蓋條條件件覆覆蓋蓋判判定定條條件件
3、覆覆蓋蓋條條件件組組合合覆覆蓋蓋弱弱強(qiáng)強(qiáng)軟件測(cè)試方法軟件測(cè)試方法路路徑徑覆覆蓋蓋Page 44白盒法白盒法n 常用的覆蓋標(biāo)準(zhǔn)常用的覆蓋標(biāo)準(zhǔn)n語(yǔ)句覆蓋:語(yǔ)句覆蓋:n選擇足夠的測(cè)試用例,使得程序中每個(gè)語(yǔ)句至少都能被執(zhí)行一選擇足夠的測(cè)試用例,使得程序中每個(gè)語(yǔ)句至少都能被執(zhí)行一次。次。n判定覆蓋:判定覆蓋: n執(zhí)行足夠的測(cè)試用例,使得程序中每個(gè)判定至少都獲得一次執(zhí)行足夠的測(cè)試用例,使得程序中每個(gè)判定至少都獲得一次“真真”值和值和“假假”值。值。n條件覆蓋:條件覆蓋:n執(zhí)行足夠的測(cè)試用例,使得所有判定中的每個(gè)條件至少都獲得執(zhí)行足夠的測(cè)試用例,使得所有判定中的每個(gè)條件至少都獲得一次一次“真真”值和值和“假
4、假”值。值。Page 55白盒法白盒法n 常用的覆蓋標(biāo)準(zhǔn)常用的覆蓋標(biāo)準(zhǔn)n判定判定/條件覆蓋:條件覆蓋:n執(zhí)行足夠的測(cè)試用例,使得判定中每個(gè)條件取到各種可能的值,執(zhí)行足夠的測(cè)試用例,使得判定中每個(gè)條件取到各種可能的值,并使每個(gè)判定取到各種可能的結(jié)果。并使每個(gè)判定取到各種可能的結(jié)果。n條件組合覆蓋:條件組合覆蓋:n執(zhí)行足夠的例子,使得每個(gè)判定中條件的各種可能組合都至少執(zhí)行足夠的例子,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。出現(xiàn)一次。n路徑覆蓋:路徑覆蓋:n路徑覆蓋是相當(dāng)強(qiáng)的邏輯覆蓋,它保證程序中每條可能的路徑路徑覆蓋是相當(dāng)強(qiáng)的邏輯覆蓋,它保證程序中每條可能的路徑都至少執(zhí)行一次。都至少執(zhí)行一
5、次。Page 66白盒法步驟:白盒法步驟:n 選擇邏輯覆蓋標(biāo)準(zhǔn)。選擇邏輯覆蓋標(biāo)準(zhǔn)。n 按照覆蓋標(biāo)準(zhǔn)列出所有情況。按照覆蓋標(biāo)準(zhǔn)列出所有情況。n 選擇確定測(cè)試用例。選擇確定測(cè)試用例。n 驗(yàn)證分析運(yùn)行結(jié)果與預(yù)期結(jié)果。驗(yàn)證分析運(yùn)行結(jié)果與預(yù)期結(jié)果。邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)Page 77白盒法舉例白盒法舉例Procedure (VAR A,B,X:REAL);); BEGIN IF(A1) AND (B=0) THEN X:=X/A ; IF (A=2) OR (X1) THEN X:=X+1 END;A1ANDB=0X:=X/AA=2OR X1X:=X+1YNYNPage 881、語(yǔ)句覆蓋、語(yǔ)句覆蓋滿足語(yǔ)句覆蓋
6、的情況:滿足語(yǔ)句覆蓋的情況:執(zhí)行路徑:執(zhí)行路徑:sacbedsacbed選擇用例:選擇用例:(2,0,4),(2,0,3)(2,0,4),(2,0,3)用例格式:用例格式: 輸入輸入(A,B,X)(A,B,X),輸出,輸出(A,B,X)(A,B,X)A1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYNYN開始開始結(jié)束結(jié)束sPage 992、判定覆蓋、判定覆蓋覆蓋情況:應(yīng)執(zhí)行路徑覆蓋情況:應(yīng)執(zhí)行路徑sabd sacbed 或:或: sacbd sabed選擇用例選擇用例(其一):其一): (2,0,4),(2,0,3) (2,0,4),(2,0,3) sacbed (1,1,1
7、),(1,1,1) (1,1,1),(1,1,1) sabd (2,1,1),(2,1,2) (2,1,1),(2,1,2) sabed (3,0,3),(3,1,1) (3,0,3),(3,1,1) sacbdA1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYNYN開始開始結(jié)束結(jié)束sPage 10103、條件覆蓋、條件覆蓋應(yīng)滿足以下覆蓋情況:應(yīng)滿足以下覆蓋情況:判定一判定一: A1 A1 B=0 B0判定二判定二: A=2 A2 X1 X1選擇用例:選擇用例: (2,0,4),(2,0,3) (2,0,4),(2,0,3) (1,1,1),(1,1,1) (1,1,1),(
8、1,1,1) 2 2A1A20 0B=04 4X11 1A1A=21 1B01 1X1A1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYNYN開始開始結(jié)束結(jié)束sPage 11114、判定、判定/條件覆蓋條件覆蓋應(yīng)滿足以下覆蓋情況:應(yīng)滿足以下覆蓋情況: 條件條件: A1, A1, B=0, B0 A=2, A2, X1, X1 應(yīng)執(zhí)行路徑應(yīng)執(zhí)行路徑sacbed sabd選擇用例:選擇用例: (2,0,4),(2,0,3) (2,0,4),(2,0,3)(sacbed ) ) (1,1,1),(1,1,1) ( (1,1,1),(1,1,1) (sabd) )A1ANDB=0X:
9、=X/AA=2OR X1X:=X+1abcdeYNYN開始開始結(jié)束結(jié)束sPage 125、條件組合覆蓋、條件組合覆蓋編譯系統(tǒng)下的執(zhí)行情況:編譯系統(tǒng)下的執(zhí)行情況:部分路徑未被執(zhí)行。部分路徑未被執(zhí)行。滿足以下覆蓋情況:滿足以下覆蓋情況: A1, B =0 A1, B0 A1, B =0 A1, B0 A=2, X1 A=2, X1 A2, X1 A2, X1選擇用例:選擇用例:(2,0,4),(2,0,3)(2,0,4),(2,0,3)(2,1,1),(2,1,2) (2,1,1),(2,1,2) (1,0,3),(1,0,4)(1,0,3),(1,0,4)(1,1,1),(1,1,1)(1,1,
10、1),(1,1,1)A1X:=X/AA=2X:=X+1abcdeB=0X1YNYNYNYNc結(jié)束結(jié)束 Page 13136、路徑覆蓋法、路徑覆蓋法測(cè)試用例測(cè)試用例通過(guò)路徑通過(guò)路徑ABX111sabd112sabed301sacbd204sacbedA1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYNYN開始開始結(jié)束結(jié)束sPage 1414例題:三角形問(wèn)題例題:三角形問(wèn)題n 輸入三整數(shù),判斷是否構(gòu)成三角形,如構(gòu)成三角形,輸入三整數(shù),判斷是否構(gòu)成三角形,如構(gòu)成三角形,則輸出三條邊的值,否則輸出則輸出三條邊的值,否則輸出“不能構(gòu)成三角形不能構(gòu)成三角形”。n 要求:要求:n2、設(shè)計(jì)路
11、徑覆蓋的測(cè)試用例。、設(shè)計(jì)路徑覆蓋的測(cè)試用例。 Page 1515解法解法1:n 覆蓋路徑:覆蓋路徑:n 1 2開始開始輸入輸入A,B,C(A+BC)&(A+CB)&(B+CA)輸出輸出ABC不能構(gòu)成三角形不能構(gòu)成三角形結(jié)束結(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)成三角形Page 1616解法解法2:n 覆蓋路徑:覆蓋路徑: 測(cè)試用例測(cè)試用例n 1 (3,4,5)n 2 (2,2,5)n 3 (2,5,2)n 4 (5,2,2)開始開始輸入輸入A,B,CA+BCA+CBB+CA輸出輸出ABC不能構(gòu)成三角形不
12、能構(gòu)成三角形結(jié)束結(jié)束FFFTTTPage 1717解法解法2:路徑覆蓋法測(cè)試用例設(shè)計(jì):路徑覆蓋法測(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)成三角形Page 1818基本路徑測(cè)試基本路徑測(cè)試n 1、畫出流程圖、畫出流程圖1910112457836Page 1919基本路徑測(cè)試基本路徑測(cè)試 n 2、簡(jiǎn)化流程圖、簡(jiǎn)化流程圖12,387694,51011Page 2020基本路徑測(cè)試基本路徑測(cè)試 n 3、計(jì)算環(huán)路復(fù)雜度、計(jì)算環(huán)路復(fù)雜度n環(huán)路復(fù)雜度(環(huán)路
13、復(fù)雜度(Cyclomatic complexity):代碼邏輯復(fù)雜代碼邏輯復(fù)雜度的度的 度量。用度量。用V(G) 表示。通過(guò)表示。通過(guò)V(G) 確定基本路徑數(shù)。確定基本路徑數(shù)。V(G) = 區(qū)域數(shù)量區(qū)域數(shù)量(由節(jié)點(diǎn)、連線包圍的區(qū)域,包括圖形外部區(qū)域由節(jié)點(diǎn)、連線包圍的區(qū)域,包括圖形外部區(qū)域)V(G) = 連線數(shù)量連線數(shù)量 - 節(jié)點(diǎn)數(shù)量節(jié)點(diǎn)數(shù)量 + 2V(G) = 簡(jiǎn)單可預(yù)測(cè)節(jié)點(diǎn)數(shù)量簡(jiǎn)單可預(yù)測(cè)節(jié)點(diǎn)數(shù)量 + 1Page 21V(G)=412,378694,51011Region 1Region 2Region 3Region 4Page 2222n 3、確定基本路徑集合、確定基本路徑集合n基本路徑集
14、合基本路徑集合: 由獨(dú)立路徑構(gòu)成的集合由獨(dú)立路徑構(gòu)成的集合n由基本路勁集合導(dǎo)出的由基本路勁集合導(dǎo)出的測(cè)試用例測(cè)試用例,保證被測(cè)程序的每條,保證被測(cè)程序的每條可執(zhí)行語(yǔ)句至少被執(zhí)行一次??蓤?zhí)行語(yǔ)句至少被執(zhí)行一次。n基本集合基本集合不一定唯一不一定唯一Page 2323Path1: 1-2-3-6-7-9-10-1-11示例:基本路徑測(cè)試用例示例:基本路徑測(cè)試用例Path2: 1-2-3-6-8-9-10-1-11Path3: 1-2-3-4-5-10-1-11Path4: 1-111910112458736還有其它路徑集合嗎?還有其它路徑集合嗎?Page 2424基本路徑測(cè)試:練習(xí)基本路徑測(cè)試:練
15、習(xí) Path1: A-C-E Path2: A-B-C-E Path3: A-B-C-D-EV(G)= ?還有其它路徑集合嗎?還有其它路徑集合嗎? 3Page 25測(cè)試方法類黑盒測(cè)試測(cè)試方法類黑盒測(cè)試n 黑盒測(cè)試黑盒測(cè)試n這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說(shuō)明書,檢查程序的功能是否符合它的功能說(shuō)需求規(guī)格說(shuō)明書,檢查程序的功能是否符合它的功能說(shuō)明。因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。主要明。因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試
16、。主要應(yīng)用于快速開發(fā)環(huán)境。應(yīng)用于快速開發(fā)環(huán)境。Page 26測(cè)試方法類黑盒測(cè)試測(cè)試方法類黑盒測(cè)試n 黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:n是否有不正確或遺漏的功能?是否有不正確或遺漏的功能?n在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?果?n是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤?錯(cuò)誤?n性能上是否能夠滿足要求?性能上是否能夠滿足要求?n是否有初始化或終止性錯(cuò)誤?是否有初始化或終止性錯(cuò)誤?Page 2727等等價(jià)價(jià)分分類類法法邊邊值值分分析析
17、法法錯(cuò)錯(cuò)誤誤推推測(cè)測(cè)法法因因果果圖圖法法黑盒法黑盒法n 不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性設(shè)計(jì)測(cè)試用例。程序的外部特性設(shè)計(jì)測(cè)試用例。判判定定表表法法Page 281、等價(jià)分類法、等價(jià)分類法n 基本思想基本思想n根據(jù)程序的根據(jù)程序的I/O特性,將程序的定義域劃分為有限個(gè)等價(jià)特性,將程序的定義域劃分為有限個(gè)等價(jià)區(qū)段區(qū)段 “等價(jià)類等價(jià)類”,從等價(jià)類中選擇出的用例,具有,從等價(jià)類中選擇出的用例,具有“代表性代表性”。n 等價(jià)類分為:等價(jià)類分為:n有效等價(jià)類有效等價(jià)類 對(duì)于程序的規(guī)格說(shuō)明是合理的、有意義的對(duì)于程序的規(guī)格說(shuō)明是合理的、有意
18、義的輸入數(shù)據(jù)構(gòu)成的集合。輸入數(shù)據(jù)構(gòu)成的集合。n無(wú)效等價(jià)類無(wú)效等價(jià)類 對(duì)于程序的規(guī)格說(shuō)明,是不合理的,是沒(méi)對(duì)于程序的規(guī)格說(shuō)明,是不合理的,是沒(méi)有意義的輸入數(shù)據(jù)構(gòu)成的集合。有意義的輸入數(shù)據(jù)構(gòu)成的集合。Page 29 等價(jià)分類法步驟等價(jià)分類法步驟n 劃分等價(jià)類劃分等價(jià)類n 應(yīng)按照輸入條件(如輸入值的范圍,值的個(gè)數(shù),值的集合,輸入條應(yīng)按照輸入條件(如輸入值的范圍,值的個(gè)數(shù),值的集合,輸入條件必須如何)劃分為有效等價(jià)類和無(wú)效等價(jià)類。件必須如何)劃分為有效等價(jià)類和無(wú)效等價(jià)類。n 例如:每個(gè)學(xué)生可選修例如:每個(gè)學(xué)生可選修1-3門課程門課程n 可以劃分一個(gè)有效等價(jià)類:選修可以劃分一個(gè)有效等價(jià)類:選修1-3門課
19、程。門課程。n 可以劃分兩個(gè)無(wú)效等價(jià)類:未選修課,選修課超過(guò)可以劃分兩個(gè)無(wú)效等價(jià)類:未選修課,選修課超過(guò)3門。門。n 標(biāo)識(shí)符的第一個(gè)字符必須是字母。標(biāo)識(shí)符的第一個(gè)字符必須是字母。n 可以劃分為一個(gè)有效等價(jià)類:第一個(gè)字符是字母??梢詣澐譃橐粋€(gè)有效等價(jià)類:第一個(gè)字符是字母。n 可以劃分一個(gè)無(wú)效等價(jià)類:第一個(gè)字符不是字母??梢詣澐忠粋€(gè)無(wú)效等價(jià)類:第一個(gè)字符不是字母。n 選擇測(cè)試用例選擇測(cè)試用例n A、為每個(gè)等價(jià)類編號(hào);、為每個(gè)等價(jià)類編號(hào);n B、使一個(gè)測(cè)試用例盡可能覆蓋多個(gè)有效等價(jià)類、使一個(gè)測(cè)試用例盡可能覆蓋多個(gè)有效等價(jià)類n C、特別要注意的是:一個(gè)測(cè)試用例只能覆蓋一個(gè)無(wú)效等價(jià)類。、特別要注意的是:
20、一個(gè)測(cè)試用例只能覆蓋一個(gè)無(wú)效等價(jià)類。Page 30等價(jià)類劃分法等價(jià)類劃分法以輸入域劃分等價(jià)類以輸入域劃分等價(jià)類n NextDate 函數(shù)包含三個(gè)變量:函數(shù)包含三個(gè)變量:month(月份)、(月份)、day(日期)(日期) 和和 year(年),函數(shù)的輸出為輸入日期后一天的日期。(年),函數(shù)的輸出為輸入日期后一天的日期。 例如,輸入為例如,輸入為 2007年年9月月 9日,則函數(shù)的輸出為日,則函數(shù)的輸出為 2007年年9月月10日日 。要求輸入變量。要求輸入變量 month 、 day 和和 year 均為整數(shù)值,并且滿足下列條件:均為整數(shù)值,并且滿足下列條件:n (1)1month12n (2
21、)1day31n (3)1912year2050 n 此函數(shù)的主要特點(diǎn)是輸入變量之間的邏輯關(guān)系比較復(fù)雜。復(fù)雜性的來(lái)源此函數(shù)的主要特點(diǎn)是輸入變量之間的邏輯關(guān)系比較復(fù)雜。復(fù)雜性的來(lái)源有兩個(gè):一個(gè)是輸入域的復(fù)雜性,另一個(gè)是指閏年的規(guī)則。例如變量有兩個(gè):一個(gè)是輸入域的復(fù)雜性,另一個(gè)是指閏年的規(guī)則。例如變量year和變量和變量month取不同的值,對(duì)應(yīng)的變量取不同的值,對(duì)應(yīng)的變量day會(huì)有不同的取值范圍,會(huì)有不同的取值范圍,day值的范圍可能是值的范圍可能是130或或131,也可能是,也可能是128或或129。Page 31等價(jià)類劃分法等價(jià)類劃分法以輸入域劃分等價(jià)類以輸入域劃分等價(jià)類n (1)簡(jiǎn)單等價(jià)類
22、劃分測(cè)試)簡(jiǎn)單等價(jià)類劃分測(cè)試NextDate函數(shù)函數(shù)n 有效等價(jià)類有效等價(jià)類n 簡(jiǎn)單等價(jià)類劃分測(cè)試簡(jiǎn)單等價(jià)類劃分測(cè)試NextDate函數(shù)可以劃分以下三種有效等價(jià)類:函數(shù)可以劃分以下三種有效等價(jià)類:n M1month:1month12n D1day:1day31n Y1year:1912year2050n 無(wú)效等價(jià)類無(wú)效等價(jià)類n 若條件若條件 (1)()(3)中任何一個(gè)條件無(wú)效,那么)中任何一個(gè)條件無(wú)效,那么NextDate 函數(shù)都函數(shù)都會(huì)產(chǎn)生一個(gè)輸出,指明相應(yīng)的變量超出取值范圍,例如會(huì)產(chǎn)生一個(gè)輸出,指明相應(yīng)的變量超出取值范圍,例如month 的值的值不在不在 112 范圍當(dāng)中。范圍當(dāng)中。Pag
23、e 32等價(jià)類劃分法等價(jià)類劃分法以輸入域劃分等價(jià)類以輸入域劃分等價(jià)類n 顯然還存在著大量的顯然還存在著大量的 year 、 month 、 day 的無(wú)的無(wú)效組合,效組合, NextDate 函數(shù)將這些組合統(tǒng)一輸出為:函數(shù)將這些組合統(tǒng)一輸出為:“無(wú)效輸入日期無(wú)效輸入日期”。其無(wú)效等價(jià)類為:。其無(wú)效等價(jià)類為:nM2month:month12nD2day:day31nY2year:year2050Page 33等價(jià)類劃分法等價(jià)類劃分法以輸入域劃分等價(jià)類以輸入域劃分等價(jià)類一般等價(jià)類測(cè)試用例如表所示。NextDate函數(shù)的一般等價(jià)類測(cè)試用例測(cè)試測(cè)試用例用例輸入輸入期望輸出期望輸出monthdayyea
24、rTest Case 19920072007年年9月月10日日Page 34等價(jià)類劃分法等價(jià)類劃分法以輸入域劃分等價(jià)類以輸入域劃分等價(jià)類n 健壯等價(jià)類測(cè)試中包含弱健壯等價(jià)類測(cè)試和強(qiáng)健壯等價(jià)類測(cè)試健壯等價(jià)類測(cè)試中包含弱健壯等價(jià)類測(cè)試和強(qiáng)健壯等價(jià)類測(cè)試n 弱健壯等價(jià)類測(cè)試弱健壯等價(jià)類測(cè)試n 弱健壯等價(jià)類測(cè)試中的有效測(cè)試用例使用每個(gè)有效等價(jià)類中的一個(gè)值。弱弱健壯等價(jià)類測(cè)試中的有效測(cè)試用例使用每個(gè)有效等價(jià)類中的一個(gè)值。弱健壯等價(jià)類測(cè)試中的無(wú)效測(cè)試用例則只包含一個(gè)無(wú)效值,其他都是有效值,健壯等價(jià)類測(cè)試中的無(wú)效測(cè)試用例則只包含一個(gè)無(wú)效值,其他都是有效值,即含有單缺陷假設(shè)。如表所示。即含有單缺陷假設(shè)。如表所
25、示。測(cè)試用例測(cè)試用例輸入輸入期望輸出期望輸出monthdayyearTest Case 19920072007年年9月月10日日Test Case 2092007 month不在不在112中中Test Case 31392007month不在不在112中中Test Case 4902007day不在不在131中中Test Case 59322007day不在不在131中中Test Case 6991911 year不在不在19122050中中Test Case 7992051year不在不在19122050中中Page 35等價(jià)類劃分法等價(jià)類劃分法以輸入域劃分等價(jià)類以輸入域劃分等價(jià)類n 強(qiáng)健壯
26、等價(jià)類測(cè)試強(qiáng)健壯等價(jià)類測(cè)試n 強(qiáng)健壯等價(jià)類測(cè)試考慮了更多的無(wú)效值情況。強(qiáng)健壯等價(jià)類測(cè)試中的無(wú)效強(qiáng)健壯等價(jià)類測(cè)試考慮了更多的無(wú)效值情況。強(qiáng)健壯等價(jià)類測(cè)試中的無(wú)效測(cè)試用例可以包含多個(gè)無(wú)效值,即含有多個(gè)缺陷假設(shè)。因?yàn)闇y(cè)試用例可以包含多個(gè)無(wú)效值,即含有多個(gè)缺陷假設(shè)。因?yàn)镹extDate函數(shù)函數(shù)有三個(gè)變量,所以對(duì)應(yīng)的強(qiáng)健壯等價(jià)類測(cè)試用例可以包含一個(gè)無(wú)效值,兩有三個(gè)變量,所以對(duì)應(yīng)的強(qiáng)健壯等價(jià)類測(cè)試用例可以包含一個(gè)無(wú)效值,兩個(gè)無(wú)效值或三個(gè)無(wú)效值。個(gè)無(wú)效值或三個(gè)無(wú)效值。測(cè)試用例測(cè)試用例輸入輸入期望輸出期望輸出monthdayyearTest Case 1-192007 month不在不在112中中Test C
27、ase 29-12007day不在不在131中中Test Case 3991900 year不在不在19122050中中Test Case 4-1-12007變量變量month、day無(wú)效無(wú)效變量變量year有效有效Test Case 5-191900變量變量month、year無(wú)效無(wú)效變量變量day有效有效Test Case 69-11900變量變量day、year無(wú)效無(wú)效變量變量month有效有效Test Case 7-1-11900變量變量month、day、year無(wú)效無(wú)效Page 36n(2)改進(jìn)等價(jià)類劃分測(cè)試)改進(jìn)等價(jià)類劃分測(cè)試NextDate函數(shù)函數(shù)n在簡(jiǎn)單等價(jià)類劃分測(cè)試在簡(jiǎn)單等
28、價(jià)類劃分測(cè)試NextDate函數(shù)中,沒(méi)有考慮函數(shù)中,沒(méi)有考慮2月份的月份的天數(shù)問(wèn)題,也沒(méi)有考慮閏年的問(wèn)題,月份只包含了天數(shù)問(wèn)題,也沒(méi)有考慮閏年的問(wèn)題,月份只包含了30天和天和31天兩種情況。在改進(jìn)等價(jià)類劃分測(cè)試天兩種情況。在改進(jìn)等價(jià)類劃分測(cè)試NextDate函數(shù)中,函數(shù)中,要考慮要考慮2月份天數(shù)的問(wèn)題。月份天數(shù)的問(wèn)題。n關(guān)于每個(gè)月份的天數(shù)問(wèn)題,可以詳細(xì)劃分為以下等價(jià)類:關(guān)于每個(gè)月份的天數(shù)問(wèn)題,可以詳細(xì)劃分為以下等價(jià)類:n M1month:month有有30天天 n M2month:month有有31天天, 除去除去12月月n M3month:month是是2月月n M4month:month是
29、是12月月n D1day:1day27n D2day:day28n D3day:day29n D4day:day30n D5day:day31n Y1year:year是閏年是閏年n Y2year:year不是閏年不是閏年等價(jià)類劃分法等價(jià)類劃分法以輸入域劃分等價(jià)類以輸入域劃分等價(jià)類Page 37等價(jià)類劃分法等價(jià)類劃分法以輸入域劃分等價(jià)類以輸入域劃分等價(jià)類n 改進(jìn)等價(jià)類劃分測(cè)試改進(jìn)等價(jià)類劃分測(cè)試NextDate函數(shù)表所示。函數(shù)表所示。測(cè)試用例測(cè)試用例輸入輸入期望輸出期望輸出monthdayyearTest Case 163020072007年年7月月1日日Test Case 2831200720
30、07年年9月月1日日Test Case 322720072007年年2月月28日日Test Case 422820072007年年3月月1日日Test Case 522920042004年年3月月1日(日(2004是閏年)是閏年)Test Case 6123120072008年年1月月1日日Test Case 79312007不可能的輸入日期不可能的輸入日期Test Case 82292007 不可能的輸入日期不可能的輸入日期Test Case 92302007 不可能的輸入日期不可能的輸入日期Test Case 101592007變量變量month無(wú)效無(wú)效Test Case 11935200
31、7變量變量day無(wú)效無(wú)效Test Case 12992100變量變量year無(wú)效無(wú)效返回返回Page 38382、邊值分析法、邊值分析法n 基本思想基本思想n 選擇等價(jià)類的邊緣值作為測(cè)試用例,讓每個(gè)等價(jià)類的邊界都得到測(cè)選擇等價(jià)類的邊緣值作為測(cè)試用例,讓每個(gè)等價(jià)類的邊界都得到測(cè)試,選擇測(cè)試用例既考慮輸入亦考慮輸出。試,選擇測(cè)試用例既考慮輸入亦考慮輸出。n 分析步驟:分析步驟: nA、先劃分等價(jià)類。、先劃分等價(jià)類。nB、選擇測(cè)試用例,測(cè)試等價(jià)類邊界。、選擇測(cè)試用例,測(cè)試等價(jià)類邊界。n 邊界選擇原則:邊界選擇原則: nA、按照輸入值范圍的邊界。、按照輸入值范圍的邊界。nB、按照輸入、按照輸入/輸出值
32、個(gè)數(shù)的邊界。輸出值個(gè)數(shù)的邊界。nC、輸出值域的邊界。、輸出值域的邊界。nD、輸入、輸入/輸出有序集的邊界輸出有序集的邊界Page 39邊界值分析法邊界值分析法n邊界值分析法設(shè)計(jì)測(cè)試用例邊界值分析法設(shè)計(jì)測(cè)試用例n在在NextDate函數(shù)中,規(guī)定了變量函數(shù)中,規(guī)定了變量month、day、year的相應(yīng)取值范圍。在上面等價(jià)的相應(yīng)取值范圍。在上面等價(jià)類法設(shè)計(jì)測(cè)試用例中已經(jīng)提過(guò),具體如下:類法設(shè)計(jì)測(cè)試用例中已經(jīng)提過(guò),具體如下:nM1month:1month12nD1day:1day31nY1year:1912year2050Page 40邊界值分析法邊界值分析法測(cè)試用例測(cè)試用例輸入輸入期望輸出期望輸出
33、monthdayyearTest Case 1-1152000month不在不在112中中Test Case 20152000month不在不在112中中Test Case 311520002000年年1月月16日日Test Case 421520002000年年2月月16日日Test Case 5111520002000年年11月月16日日Test Case 6121520002000年年12月月16日日Test Case 713152000month不在不在112中中Test Case 86-12000day不在不在131中中Test Case 9602000day不在不在131中中Tes
34、t Case 106120002000年年6月月2日日Test Case 116220002000年年6月月3日日Test Case 1263020002000年年7月月1日日Test Case 136312000不可能的輸入日期不可能的輸入日期Test Case 146322000day不在不在131中中Test Case 156151911year不在不在19122050中中Test Case 1661519121912年年6月月16日日Test Case 1761519131913年年6月月16日日Test Case 1861520492049年年6月月16日日Test Case 196
35、1520502050年年6月月16日日Test Case 206152051year不在不在19122050中中返回返回Page 4141決策表決策表n 在一些數(shù)據(jù)處理問(wèn)題當(dāng)中,某些操作的實(shí)施依賴于在一些數(shù)據(jù)處理問(wèn)題當(dāng)中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。合值,分別執(zhí)行不同的操作。n 決策表(也稱判定表)決策表(也稱判定表),最適合描述在多邏輯條件最適合描述在多邏輯條件取值的組合所構(gòu)成的復(fù)雜情況下,分別執(zhí)行哪些不取值的組合所構(gòu)成的復(fù)雜情況下,分別執(zhí)行哪些不同的動(dòng)作。同的動(dòng)作。Page 4242規(guī)
36、則規(guī)則選項(xiàng)選項(xiàng)12354678問(wèn)問(wèn)題題覺(jué)得疲倦?覺(jué)得疲倦?YYYNYNNN感興趣嗎?感興趣嗎?YYNYNYNN糊涂嗎?糊涂嗎?YNYYNNYN建建議議重讀重讀繼續(xù)繼續(xù)跳下一章跳下一章休息休息Page 4343決策表的組成決策表的組成n 決策表通常由以下決策表通常由以下4部分組成:部分組成:n 條件樁條件樁左上部分,列出各種可能的單個(gè)條件左上部分,列出各種可能的單個(gè)條件n 動(dòng)作樁動(dòng)作樁左下部分,列出可能采取的單個(gè)動(dòng)作左下部分,列出可能采取的單個(gè)動(dòng)作n 條件項(xiàng)條件項(xiàng)右上部分,針對(duì)各種條件給出多組條件取值的組合右上部分,針對(duì)各種條件給出多組條件取值的組合n 動(dòng)作項(xiàng)動(dòng)作項(xiàng)右下部分,指出在條件項(xiàng)的各組取
37、值情況下應(yīng)采取的動(dòng)作右下部分,指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作 條件樁條件樁動(dòng)作樁動(dòng)作樁 條件項(xiàng)條件項(xiàng) 動(dòng)作項(xiàng)動(dòng)作項(xiàng)規(guī)規(guī)則則將任何一個(gè)條件組合的特定取值及相應(yīng)要執(zhí)行的動(dòng)作稱為一條規(guī)則。在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。Page 4444決策表分類決策表分類n 有限條目決策表有限條目決策表n所有條件都是二元條件的決策表。所有條件都是二元條件的決策表。n 擴(kuò)展條目決策表擴(kuò)展條目決策表n若條件可以有多個(gè)值,則對(duì)應(yīng)的決策表稱擴(kuò)展條目決策若條件可以有多個(gè)值,則對(duì)應(yīng)的決策表稱擴(kuò)展條目決策表。表。Page 4545決策表的生成決策表的生成n 構(gòu)造決策表的構(gòu)造決策表的5個(gè)步驟:個(gè)步驟:n
38、 (1) 確定規(guī)則的個(gè)數(shù)。確定規(guī)則的個(gè)數(shù)。n 有有n個(gè)條件的決策表有個(gè)條件的決策表有2n個(gè)規(guī)則(每個(gè)條件取真、假值)。個(gè)規(guī)則(每個(gè)條件取真、假值)。n (2) 列出所有的條件樁和動(dòng)作樁。列出所有的條件樁和動(dòng)作樁。n (3) 填入條件項(xiàng)。填入條件項(xiàng)。n (4) 填入動(dòng)作項(xiàng),得到初始決策表。填入動(dòng)作項(xiàng),得到初始決策表。n (5) 簡(jiǎn)化決策表,合并相似規(guī)則。簡(jiǎn)化決策表,合并相似規(guī)則。n 若表中有兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之若表中有兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。間存在極為相似的關(guān)系,便可以合并。n 合并后的條件項(xiàng)用符號(hào)合并后的條件項(xiàng)用符號(hào)“-
39、”表示,說(shuō)明執(zhí)行的動(dòng)作與該條件表示,說(shuō)明執(zhí)行的動(dòng)作與該條件的取值無(wú)關(guān),稱為無(wú)關(guān)條件。的取值無(wú)關(guān),稱為無(wú)關(guān)條件。Page 46決策表法決策表法n NextDate函數(shù)的決策表測(cè)試用例設(shè)計(jì):函數(shù)的決策表測(cè)試用例設(shè)計(jì):n NextDate函數(shù)中包含了定義域各個(gè)變量之間的依賴問(wèn)題。等價(jià)類劃函數(shù)中包含了定義域各個(gè)變量之間的依賴問(wèn)題。等價(jià)類劃分法和邊界值分析法只能分法和邊界值分析法只能“獨(dú)立地獨(dú)立地”選取各個(gè)輸入值,不能體現(xiàn)出選取各個(gè)輸入值,不能體現(xiàn)出多個(gè)變量的依賴關(guān)系。決策表法則是根據(jù)變量間的邏輯依賴關(guān)系設(shè)多個(gè)變量的依賴關(guān)系。決策表法則是根據(jù)變量間的邏輯依賴關(guān)系設(shè)計(jì)測(cè)試輸入數(shù)據(jù),排除不可能的數(shù)據(jù)組合,很
40、好地解決了定義域的計(jì)測(cè)試輸入數(shù)據(jù),排除不可能的數(shù)據(jù)組合,很好地解決了定義域的依賴問(wèn)題。依賴問(wèn)題。n NextDate函數(shù)求解給定某個(gè)日期的下一個(gè)日期的可能操作(動(dòng)作樁)函數(shù)求解給定某個(gè)日期的下一個(gè)日期的可能操作(動(dòng)作樁)如下:如下:n 變量變量day加加1操作;操作;n 變量變量day復(fù)位操作;復(fù)位操作;n 變量變量month加加1操作;操作;n 變量變量month復(fù)位操作;復(fù)位操作;n 變量變量year加加1操作。操作。Page 47決策表法決策表法n 根據(jù)上述動(dòng)作樁發(fā)現(xiàn)根據(jù)上述動(dòng)作樁發(fā)現(xiàn)NextDate函數(shù)的求解關(guān)鍵是日和月的問(wèn)題,通常函數(shù)的求解關(guān)鍵是日和月的問(wèn)題,通??梢栽谙旅娴葍r(jià)類(條
41、件樁)的基礎(chǔ)上建立決策表:可以在下面等價(jià)類(條件樁)的基礎(chǔ)上建立決策表:n M1month:month有有30天天 n M2month:month有有31天,天,12月除外月除外n M3month:month是是12月月n M4month:month是是2月月n D1day:1day27n D2day:day28n D3day:day29n D4day:day30n D5day:day31n Y1year:year是閏年是閏年n Y2year:year不是閏年不是閏年P(guān)age 48決策表法決策表法n 輸入變量間存在大量邏輯關(guān)系的輸入變量間存在大量邏輯關(guān)系的NextDate函數(shù)決函數(shù)決策表如后表所示。策表如后表所示。n 決策表共有決策表共有22條規(guī)則:條規(guī)則:n第第15條規(guī)則解決有條規(guī)則解決有30天的月份;天
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省恩施市2025-2026學(xué)年上學(xué)期期末八年級(jí)數(shù)學(xué)試卷(無(wú)答案)
- 廣東省東莞市常平鎮(zhèn)2025-2026學(xué)年九年級(jí)上學(xué)期1月期末歷史試卷(含答案)
- 五年級(jí)測(cè)試卷及答案
- 文員考試試題及答案
- 《遇見未知的自我》讀后感范本
- 2022-2023學(xué)年山東省東營(yíng)市墾利區(qū)九年級(jí)物理第一學(xué)期期末調(diào)研試題含解析
- 2022屆高考數(shù)學(xué)基礎(chǔ)總復(fù)習(xí)提升之專題突破詳解專題10三角函數(shù)的圖象與性質(zhì)含解析
- 六盤水中考滿分作文賞析:書給了我力量
- 22春“安全工程”專業(yè)《安全檢測(cè)及儀表》在線作業(yè)含答案參考2
- 師德以身作則演講稿
- 2025-2026年蘇教版初一歷史上冊(cè)期末熱點(diǎn)題庫(kù)及完整答案
- 要素式民事起訴狀(房屋租賃合同糾紛)
- 2025屆河北省唐山市高二生物第一學(xué)期期末統(tǒng)考試題含解析
- YY/T 1302.1-2015環(huán)氧乙烷滅菌的物理和微生物性能要求第1部分:物理要求
- GB/T 32065.8-2020海洋儀器環(huán)境試驗(yàn)方法第8部分:溫度變化試驗(yàn)
- GB/T 31765-2015高密度纖維板
- GB/T 28701-2012脹緊聯(lián)結(jié)套
- GB/T 17888.3-2008機(jī)械安全進(jìn)入機(jī)械的固定設(shè)施第3部分:樓梯、階梯和護(hù)欄
- GA/T 268-2019道路交通事故尸體檢驗(yàn)
- 清水混凝土構(gòu)件預(yù)制技術(shù)與質(zhì)量控制技術(shù)要點(diǎn)課件
- 壓力容器質(zhì)保體系內(nèi)審檢查表模板樣本
評(píng)論
0/150
提交評(píng)論