




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、把程序看成裝在一個(gè)透明的白盒子里,程序的結(jié)構(gòu)和處理把程序看成裝在一個(gè)透明的白盒子里,程序的結(jié)構(gòu)和處理呈現(xiàn)過程完全可見,按照程序的內(nèi)部邏輯測(cè)試程序,以檢呈現(xiàn)過程完全可見,按照程序的內(nèi)部邏輯測(cè)試程序,以檢查程序中的每條通路是否都能按照預(yù)先要求正確工作。查程序中的每條通路是否都能按照預(yù)先要求正確工作。 第第3章章 白盒測(cè)試方法白盒測(cè)試方法 2路徑分析測(cè)試路徑分析測(cè)試3分支條件測(cè)試、循環(huán)測(cè)試分支條件測(cè)試、循環(huán)測(cè)試4其它測(cè)試類型其它測(cè)試類型5主主要要內(nèi)內(nèi)容容綜合測(cè)試實(shí)例綜合測(cè)試實(shí)例 6黑盒測(cè)試與白盒測(cè)試黑盒測(cè)試與白盒測(cè)試1邏輯覆蓋測(cè)試邏輯覆蓋測(cè)試黑盒測(cè)試與白盒測(cè)試黑盒測(cè)試與白盒測(cè)試v 任何工程產(chǎn)品都可以
2、使用白盒測(cè)試和黑盒任何工程產(chǎn)品都可以使用白盒測(cè)試和黑盒測(cè)試兩種方法之一進(jìn)行測(cè)試。測(cè)試兩種方法之一進(jìn)行測(cè)試。 1黑盒測(cè)試v 黑盒測(cè)試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格和用黑盒測(cè)試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格和用戶手冊(cè),可以進(jìn)行測(cè)試證明每個(gè)功能是否實(shí)現(xiàn)、戶手冊(cè),可以進(jìn)行測(cè)試證明每個(gè)功能是否實(shí)現(xiàn)、每個(gè)實(shí)現(xiàn)了的功能是否符合客戶要求。每個(gè)實(shí)現(xiàn)了的功能是否符合客戶要求。v 軟件的黑盒測(cè)試意味著測(cè)試要在軟件的接軟件的黑盒測(cè)試意味著測(cè)試要在軟件的接口處進(jìn)行,測(cè)試人員完全不考慮程序內(nèi)部的邏口處進(jìn)行,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書和用戶手冊(cè),檢查程序的功
3、能是否符合它,檢查程序的功能是否符合它的功能說明,以及性能是否滿足用戶的要求。的功能說明,以及性能是否滿足用戶的要求。因此因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。 2白盒測(cè)試v 白盒測(cè)試:已知產(chǎn)品的內(nèi)部工作過程,可以通白盒測(cè)試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,過測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。所有內(nèi)部成分是否以經(jīng)過檢查。v 軟件的白盒測(cè)試是對(duì)軟件的過程性細(xì)節(jié)做細(xì)致軟件的白盒測(cè)試是對(duì)軟件的過程性細(xì)節(jié)做細(xì)致的檢查,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)的檢查,它允許測(cè)試人員利用程序內(nèi)部
4、的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試,通過在不同點(diǎn)檢查程序狀態(tài),確輯路徑進(jìn)行測(cè)試,通過在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。白盒測(cè)試的基本概念白盒測(cè)試的基本概念v什么是白盒測(cè)試 把程序看成裝在一個(gè)透明的白盒子里,程序的結(jié)構(gòu)和處理過程完全可見,按照程序的內(nèi)部邏輯測(cè)試程序,以檢查程序中的每條通路是否都能按照預(yù)先要求正確工作。 不可能進(jìn)行徹底的白盒測(cè)試不可能進(jìn)行徹底的白盒測(cè)試v 結(jié)論是:結(jié)論是
5、:4 41 1+4+42 2+4+43 3+4+41010,需要需要1414秒左右的時(shí)秒左右的時(shí)間間v 如果循環(huán)次數(shù)為如果循環(huán)次數(shù)為2020次,次,100100次時(shí),結(jié)果又如何?次時(shí),結(jié)果又如何?v 結(jié)論是:循環(huán)結(jié)論是:循環(huán)2020次,需要約次,需要約40724072小時(shí),循環(huán)小時(shí),循環(huán)100100次則大約需要次則大約需要6.796.79* *10104747年年v 左圖是具有某程序的流程圖,假設(shè)循環(huán)左圖是具有某程序的流程圖,假設(shè)循環(huán)1010次,請(qǐng)次,請(qǐng)計(jì)算一下有多少條程序執(zhí)行通路?假設(shè)由圖中得計(jì)算一下有多少條程序執(zhí)行通路?假設(shè)由圖中得到的所有路徑都是可執(zhí)行路徑,執(zhí)行一次循環(huán)大到的所有路徑都是
6、可執(zhí)行路徑,執(zhí)行一次循環(huán)大約需要約需要1010微秒(奔騰微秒(奔騰4 1.7G4 1.7G),且一年),且一年365365天每天每天天2424小時(shí)不停機(jī),請(qǐng)回答:如果循環(huán)次數(shù)為小時(shí)不停機(jī),請(qǐng)回答:如果循環(huán)次數(shù)為1010的的話,遍歷圖中所有路徑需要多長(zhǎng)時(shí)間?話,遍歷圖中所有路徑需要多長(zhǎng)時(shí)間?白盒測(cè)試的常用方法白盒測(cè)試的常用方法邏輯覆蓋邏輯覆蓋路徑分析路徑分析測(cè)試測(cè)試 循環(huán)、條循環(huán)、條件分支件分支邏輯覆蓋是以程序的內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ)的測(cè)試用例設(shè)計(jì)技術(shù),屬于白盒測(cè)試。它要求測(cè)試人員十分清楚程序的邏輯結(jié)構(gòu),考慮的是測(cè)試用例對(duì)程序內(nèi)部邏輯覆蓋的程度。邏輯覆蓋邏輯覆蓋語(yǔ)句覆蓋語(yǔ)句覆蓋判定覆蓋判定覆蓋條件覆
7、蓋條件覆蓋判定條件覆蓋判定條件覆蓋條件組合覆蓋條件組合覆蓋路徑覆蓋路徑覆蓋弱弱強(qiáng)強(qiáng)覆蓋程度從覆蓋程度從低到高排列低到高排列覆蓋準(zhǔn)則的作用覆蓋準(zhǔn)則的作用v說明說明用于描述在測(cè)試過程中,被測(cè)對(duì)象被測(cè)試的程度,用于描述在測(cè)試過程中,被測(cè)對(duì)象被測(cè)試的程度,有時(shí)候也稱為軟件測(cè)試覆蓋準(zhǔn)則或者測(cè)試數(shù)據(jù)完有時(shí)候也稱為軟件測(cè)試覆蓋準(zhǔn)則或者測(cè)試數(shù)據(jù)完備準(zhǔn)則,可以備準(zhǔn)則,可以:1. 作為作為測(cè)試停止測(cè)試停止的標(biāo)準(zhǔn),用于衡量測(cè)試是否充分的標(biāo)準(zhǔn),用于衡量測(cè)試是否充分;2. 作為作為選取測(cè)試數(shù)據(jù)選取測(cè)試數(shù)據(jù)的依據(jù),滿足相同覆蓋準(zhǔn)則的測(cè)的依據(jù),滿足相同覆蓋準(zhǔn)則的測(cè)試數(shù)據(jù)是等價(jià)的試數(shù)據(jù)是等價(jià)的.邏輯覆蓋例題邏輯覆蓋例題入口入
8、口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FF路徑:路徑:P1(TT)P2(FF)P3(FT)P4(TF)v程序如下:程序如下: function js(float A,floatB,float X) if( A1)&(B=0) X=X/A; if(A=2)|(X1) X=X+1; 1 語(yǔ)句覆蓋語(yǔ)句覆蓋 設(shè)計(jì)足夠的測(cè)試用例,使設(shè)計(jì)足夠的測(cè)試用例,使得程序中的每個(gè)語(yǔ)句至少執(zhí)行得程序中的每個(gè)語(yǔ)句至少執(zhí)行一次。一次。1 語(yǔ)句覆蓋語(yǔ)句覆蓋入口入口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FFABX用例用例
9、1204輸出路徑:路徑:P1(TT)P2(FF)P3(FT)P4(TF)?第一個(gè)判斷中的第一個(gè)判斷中的邏輯運(yùn)算符邏輯運(yùn)算符“AND”若錯(cuò)寫若錯(cuò)寫成了成了“OR”,能否能否測(cè)試出來?測(cè)試出來?只包含了只包含了P1一條一條路徑,所以語(yǔ)句路徑,所以語(yǔ)句覆蓋的覆蓋程度覆蓋的覆蓋程度是最弱的是最弱的3022 判定覆蓋判定覆蓋 設(shè)計(jì)足夠的測(cè)試用例,使設(shè)計(jì)足夠的測(cè)試用例,使得在語(yǔ)句覆蓋的基礎(chǔ)上得在語(yǔ)句覆蓋的基礎(chǔ)上, ,程序程序中每個(gè)判定的取中每個(gè)判定的取“真真”分支和分支和取取“假假”分支至少都執(zhí)行一次分支至少都執(zhí)行一次,判定覆蓋又稱分支覆蓋。,判定覆蓋又稱分支覆蓋。2 判定覆蓋判定覆蓋(分支覆蓋分支覆蓋)
10、入口入口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FFABX用例用例1204用例用例2 1 1 1? 判定覆蓋比語(yǔ)句覆判定覆蓋比語(yǔ)句覆蓋強(qiáng),但是仍不能保證蓋強(qiáng),但是仍不能保證判斷條件的正確性。例判斷條件的正確性。例如:第二個(gè)判斷條件中如:第二個(gè)判斷條件中的的x x1 1若錯(cuò)寫成了若錯(cuò)寫成了x x1,1,能否測(cè)試出來?能否測(cè)試出來?還有其它可能嗎?還有其它可能嗎?有!例如:有!例如:303,211這這兩組用例兩組用例路徑:路徑:P1(TT)P2(FF)P3(FT)P4(TF)從定義上從定義上可知:判可知:判定覆蓋包定覆蓋包含了語(yǔ)句含了語(yǔ)句覆蓋覆蓋3 條
11、件覆蓋條件覆蓋 設(shè)計(jì)足夠的測(cè)試用例,在設(shè)計(jì)足夠的測(cè)試用例,在語(yǔ)句覆蓋的基礎(chǔ)上使得程序判語(yǔ)句覆蓋的基礎(chǔ)上使得程序判定中的每個(gè)條件能獲得各種可定中的每個(gè)條件能獲得各種可能的結(jié)果。能的結(jié)果。3 條件覆蓋條件覆蓋1T4T3T入口入口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FF將每一個(gè)條件都列出來:A1 A1X1, B=0, A=2, X1P1(TT)(101)()(101)A=1,B=0, A!=2, X1, B!=0, A=2 ,X 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FFABX用例用例1204用例用例2 1
12、 1 1ABX用例用例1103用例用例22 1 1?是否滿足判定覆是否滿足判定覆蓋蓋? ?思考:思考:判定覆蓋和條件判定覆蓋和條件覆蓋的關(guān)系覆蓋的關(guān)系4 判定條件覆蓋判定條件覆蓋 同時(shí)滿足判定覆蓋的和條件同時(shí)滿足判定覆蓋的和條件覆蓋的邏輯覆蓋稱為判定覆蓋的邏輯覆蓋稱為判定/ /條件覆條件覆蓋。蓋。它的含義是:它的含義是: 設(shè)計(jì)足夠的測(cè)設(shè)計(jì)足夠的測(cè)試用例,使得判定中的每個(gè)條件試用例,使得判定中的每個(gè)條件都取到各種可能的值,而且每個(gè)都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的判定表達(dá)式也都取到各種可能的結(jié)果。結(jié)果。4 判定判定/條件覆蓋條件覆蓋判定條件覆蓋仍有缺陷。從表面上看,判定條件
13、覆蓋仍有缺陷。從表面上看,它測(cè)試了所有條件的所有可能結(jié)果,但事實(shí)上并它測(cè)試了所有條件的所有可能結(jié)果,但事實(shí)上并不是這樣。因?yàn)槟承l件掩蓋了另一些條件。例不是這樣。因?yàn)槟承l件掩蓋了另一些條件。例如,在邏輯表達(dá)式中,如果如,在邏輯表達(dá)式中,如果“與與”表達(dá)式中某一表達(dá)式中某一條件為條件為“假假”,則整個(gè)表達(dá)式的值為,則整個(gè)表達(dá)式的值為“假假”,這,這個(gè)表達(dá)式中另外的幾個(gè)條件就不起作用了。同樣個(gè)表達(dá)式中另外的幾個(gè)條件就不起作用了。同樣地,如果在地,如果在“或或”表達(dá)式中,某一條件為表達(dá)式中,某一條件為“真真”,則整個(gè)表達(dá)式的值為則整個(gè)表達(dá)式的值為“真真”,其它條件也就不起,其它條件也就不起作用了。
14、因此,采用判定條件覆蓋時(shí),邏輯表作用了。因此,采用判定條件覆蓋時(shí),邏輯表達(dá)式中的錯(cuò)誤不一定能測(cè)試出來。達(dá)式中的錯(cuò)誤不一定能測(cè)試出來。入口入口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FFABX用例用例1204用例用例2 1 1 15 條件組合覆蓋條件組合覆蓋 設(shè)計(jì)足夠的測(cè)試用例,使設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定中的條件的各種可得每個(gè)判定中的條件的各種可能組合都至少出現(xiàn)一次。能組合都至少出現(xiàn)一次。5 條件組合覆蓋條件組合覆蓋可能的條件組合:可能的條件組合:(1)A1,B0(2)A1,B0(3)A1,B0(4)A1,B0(5)A2,x1(6)A2,x1
15、(7)A2,x1(8)A2,x1相應(yīng)的輸入數(shù)據(jù):相應(yīng)的輸入數(shù)據(jù):A2,B0,x4 滿足(滿足(1)和()和(5)A2,B1,x1 滿足(滿足(2)和()和(6)A1,B0,x2 滿足(滿足(3)和()和(7)A1,B1,x1 滿足(滿足(4)和()和(8)顯然,滿足條件組合覆蓋的測(cè)試數(shù)據(jù),也一定滿足判定顯然,滿足條件組合覆蓋的測(cè)試數(shù)據(jù),也一定滿足判定覆蓋、條件覆蓋和判定條件覆蓋標(biāo)準(zhǔn)。覆蓋、條件覆蓋和判定條件覆蓋標(biāo)準(zhǔn)。5 條件組合覆蓋條件組合覆蓋TEST CASES:A2,B0,x4A2,B1,x1A1,B0,x2A1,B1,x1入口入口A 1AND B=0TA=2OR X 1TX = X /
16、AX = X + 1返回返回FF? 請(qǐng)寫出各測(cè)試用例的請(qǐng)寫出各測(cè)試用例的執(zhí)行路徑。然后考察是執(zhí)行路徑。然后考察是否覆蓋了否覆蓋了(TF)路徑。路徑。5 路徑覆蓋路徑覆蓋 設(shè)計(jì)足夠的測(cè)試用例,使設(shè)計(jì)足夠的測(cè)試用例,使程序中的每一條可能路徑都至程序中的每一條可能路徑都至少執(zhí)行一次。少執(zhí)行一次。每條可能的路徑都至少執(zhí)行一次。每條可能的路徑都至少執(zhí)行一次。入口入口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FF6 路徑覆蓋路徑覆蓋Test cases: A=1 , B=1 , X=1 A=1 , B=1 , X=2 A=3 , B=0 , X=1 A=2 ,
17、B=0 , X=4路徑:路徑:P1(TT)P2(FF)P3(FT)P4(TF)習(xí)題習(xí)題v 1. 在用白盒法設(shè)計(jì)測(cè)試用例時(shí),常用的在用白盒法設(shè)計(jì)測(cè)試用例時(shí),常用的6種覆蓋標(biāo)準(zhǔn)是語(yǔ)種覆蓋標(biāo)準(zhǔn)是語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組條件覆蓋、條件組合覆蓋、路徑覆蓋合覆蓋、路徑覆蓋.v 假設(shè)假設(shè)A和和B是兩種覆蓋準(zhǔn)則,我們用是兩種覆蓋準(zhǔn)則,我們用包含,被包含,相同包含,被包含,相同和互不包含和互不包含來形容他們之間的關(guān)系:來形容他們之間的關(guān)系:v 語(yǔ)句覆蓋語(yǔ)句覆蓋判定覆蓋判定覆蓋 語(yǔ)句覆蓋語(yǔ)句覆蓋條件覆蓋條件覆蓋 判定覆蓋判定覆蓋條件覆蓋條件覆蓋 判定覆蓋
18、判定覆蓋判定判定/條件覆蓋條件覆蓋 判定判定/條件覆蓋條件覆蓋條件組合覆蓋條件組合覆蓋練習(xí)一練習(xí)一v 1.如圖顯示某程序的邏輯結(jié)構(gòu)。試為它設(shè)計(jì)足夠的測(cè)試用例,分別實(shí)現(xiàn)對(duì)程序的判定覆蓋、條件覆蓋和條件組合覆蓋。 覆蓋種類需滿足的條件測(cè)試數(shù)據(jù)期望結(jié)果 判定覆蓋A1, B=0A=2, B=0執(zhí)行S1A1, B0或A1, B=0或A1, B0A=2, B=1或A=1, B=0或A=1, B=1 執(zhí)行S2 條件覆蓋以下四種情況各出現(xiàn)一次 A1B=0A=2,B=0執(zhí)行S1A1B0A=1,B=1執(zhí)行S2 條件組合覆蓋A1, B=0A=2, B=0執(zhí)行S1A1, B0A=2, B=1執(zhí)行S2A1, B=0A=1, B=0執(zhí)行S2A1, B0A=1, B=1執(zhí)行S2練習(xí)二練習(xí)二v 在白盒測(cè)試用例設(shè)計(jì)中,有語(yǔ)句覆蓋、分支在白盒測(cè)試用例設(shè)計(jì)中,有語(yǔ)句覆蓋、分支覆蓋、條件覆蓋、路徑覆蓋等,其中(覆蓋、條件覆蓋、路徑覆蓋等,其中( A )是最強(qiáng)的覆蓋準(zhǔn)則。為了對(duì)如下圖所示的程序是最強(qiáng)的覆蓋準(zhǔn)則。為了對(duì)如下圖所示的程序段進(jìn)行覆蓋測(cè)試,必須適當(dāng)?shù)剡x取測(cè)試用例組。段進(jìn)行覆蓋測(cè)試,必須適當(dāng)?shù)剡x取測(cè)試用例組。若若x, y是兩個(gè)變量,可供選擇
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兩人合伙承包項(xiàng)目合同范本
- 園區(qū)道路清掃合同范本
- 春節(jié)餐飲盛宴策略
- 專職船員合同范例
- 醫(yī)療企業(yè)合同范本
- 商住租賃服務(wù)合同范本
- 合租房屋租賃合同范例
- 國(guó)有集體合同范本
- 啤酒樣品采購(gòu)合同范例
- 初三備戰(zhàn)指南
- 2024廣東省高中美術(shù)學(xué)業(yè)水平考試試題庫(kù)及答案
- 頂管穿越專項(xiàng)方案
- JTGT H21-2011 公路橋梁技術(shù)狀況評(píng)定標(biāo)準(zhǔn)
- 2024年證券投資基金基礎(chǔ)知識(shí)真題答案及解析
- 2021年寧夏公務(wù)員考試《行測(cè)》真題和答案解析
- 混凝土強(qiáng)度評(píng)定表(自動(dòng)計(jì)算)
- 人音版四年級(jí)音樂下冊(cè)全冊(cè)教學(xué)設(shè)計(jì)教案表格式
- 小學(xué)教育大學(xué)生職業(yè)生涯與規(guī)劃
- 農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)的培訓(xùn)
- 研究中藥在老年醫(yī)學(xué)中的應(yīng)用
- 成事的時(shí)間管理
評(píng)論
0/150
提交評(píng)論