[計(jì)算機(jī)軟件及應(yīng)用]軟件測(cè)試-白盒測(cè)試ppt課件_第1頁
[計(jì)算機(jī)軟件及應(yīng)用]軟件測(cè)試-白盒測(cè)試ppt課件_第2頁
[計(jì)算機(jī)軟件及應(yīng)用]軟件測(cè)試-白盒測(cè)試ppt課件_第3頁
[計(jì)算機(jī)軟件及應(yīng)用]軟件測(cè)試-白盒測(cè)試ppt課件_第4頁
[計(jì)算機(jī)軟件及應(yīng)用]軟件測(cè)試-白盒測(cè)試ppt課件_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、白盒測(cè)試白盒測(cè)試o理解白盒測(cè)試的定義理解白盒測(cè)試的定義o掌握白盒測(cè)試的常用方法掌握白盒測(cè)試的常用方法教學(xué)目的:教學(xué)目的:教學(xué)重點(diǎn):教學(xué)重點(diǎn):教學(xué)難點(diǎn):教學(xué)難點(diǎn):教學(xué)方法:教學(xué)方法:多媒體多媒體教學(xué)課時(shí):教學(xué)課時(shí):6課時(shí)課時(shí)o白盒測(cè)試的覆蓋測(cè)試法和途徑測(cè)試法白盒測(cè)試的覆蓋測(cè)試法和途徑測(cè)試法o白盒測(cè)試案例應(yīng)用白盒測(cè)試案例應(yīng)用白盒測(cè)試白盒測(cè)試o什么是白盒測(cè)試什么是白盒測(cè)試o白盒測(cè)試的常用方法白盒測(cè)試的常用方法o白盒測(cè)試案例運(yùn)用白盒測(cè)試案例運(yùn)用一、什么是白盒測(cè)試一、什么是白盒測(cè)試 1、白盒測(cè)試的定義、白盒測(cè)試的定義n白盒測(cè)試White-box Testing也稱作構(gòu)造測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是知道產(chǎn)品的

2、內(nèi)部工作過程,可通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)展。按照程序內(nèi)部的構(gòu)造測(cè)試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作,而不顧它的功能。n白盒測(cè)試的主要方法有邏輯覆蓋、根本途徑測(cè)試等,主要用于軟件驗(yàn)證。一、什么是白盒測(cè)試一、什么是白盒測(cè)試 2、為什么不采用窮舉途徑測(cè)試法、為什么不采用窮舉途徑測(cè)試法n窮舉途徑測(cè)試法無法檢查出程序本身是否違背了設(shè)計(jì)標(biāo)準(zhǔn),即程序是否是一個(gè)錯(cuò)誤的程序。n窮舉途徑測(cè)試不能查出程序因?yàn)檫z漏途徑而出錯(cuò)。n窮舉途徑測(cè)試發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。一、什么是白盒測(cè)試一、什么是白盒測(cè)試 3、白盒測(cè)試方法遵循的原那、白盒測(cè)試方法遵循的原那么么n確保

3、一個(gè)模塊中的所有獨(dú)立途徑至少被測(cè)試一次。n所有邏輯值均需測(cè)試真true和假false兩種情況。n檢查程序的內(nèi)部數(shù)據(jù)構(gòu)造,保證其構(gòu)造的有效性。n在取值上、下邊界即可操作范圍內(nèi)運(yùn)行所有循環(huán)。一、什么是白盒測(cè)試一、什么是白盒測(cè)試 4、控制流圖、控制流圖n白盒測(cè)試是針對(duì)軟件產(chǎn)品內(nèi)部邏輯構(gòu)造進(jìn)展測(cè)試的,測(cè)試人員必須對(duì)測(cè)試中的軟件有深化的理解,包括其內(nèi)部構(gòu)造、各單元部分及之間的內(nèi)在聯(lián)絡(luò),還有程序運(yùn)行原理等等。因此這是一項(xiàng)龐大并且復(fù)雜的工作。為了更加突出程序的內(nèi)部構(gòu)造,便于測(cè)試人員理解源代碼,可以對(duì)程序流程圖進(jìn)展簡(jiǎn)化,生成控制流圖Control Flow Graph。n簡(jiǎn)化后的控制流圖是由節(jié)點(diǎn)和控制邊組成的

4、。一、什么是白盒測(cè)試一、什么是白盒測(cè)試 4、控制流圖、控制流圖n控制流圖的特點(diǎn):n具有唯一入口節(jié)點(diǎn),即源節(jié)點(diǎn),表示程序段的開場(chǎng)語句;n具有唯一出口節(jié)點(diǎn),即匯節(jié)點(diǎn),表示程序段的完畢語句;n節(jié)點(diǎn)由帶有標(biāo)號(hào)的圓圈表示,表示一個(gè)或多個(gè)無分支的源程序語句;n控制邊由帶箭頭的直線或弧表示,代表控制流的方向。n常見的控制流圖如圖3-1所示。n包含條件的節(jié)點(diǎn)被稱為判斷節(jié)點(diǎn)也稱謂詞結(jié)點(diǎn),由判斷節(jié)點(diǎn)發(fā)出的邊必須終止于某一個(gè)節(jié)點(diǎn)。n由邊和結(jié)點(diǎn)所限定的范圍稱為區(qū)域。圖3-1 常見的控制流圖一、什么是白盒測(cè)試一、什么是白盒測(cè)試4、控制流圖、控制流圖n將一個(gè)典型的程序流程圖轉(zhuǎn)換成控制流圖一、什么是白盒測(cè)試一、什么是白盒測(cè)

5、試4、控制流圖、控制流圖圖3-2 控制流圖例如n對(duì)于復(fù)合條件,可將其分解為多個(gè)單個(gè)條件,并映射成控制流圖。一、什么是白盒測(cè)試一、什么是白盒測(cè)試4、控制流圖、控制流圖n控制流圖的矩陣表示形式,其維數(shù)等于流圖的結(jié)點(diǎn)數(shù),矩陣元素對(duì)應(yīng)于結(jié)點(diǎn)的邊。n假設(shè)矩陣記為M,那么M4,1=“d。一、什么是白盒測(cè)試一、什么是白盒測(cè)試5、圖矩陣、圖矩陣流圖對(duì)應(yīng)的矩陣圖結(jié)點(diǎn)12341a2b3c4d二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法1、覆蓋率測(cè)試、覆蓋率測(cè)試n白盒測(cè)試技術(shù)的常見方法之一就是覆蓋測(cè)試,它是利用程序的邏輯構(gòu)造設(shè)計(jì)相應(yīng)的測(cè)試用例。測(cè)試人員要深化理解被測(cè)程序的邏輯構(gòu)造特點(diǎn),完全掌握源代碼的流程,才能設(shè)計(jì)

6、出恰當(dāng)?shù)挠美?。n根據(jù)不同的測(cè)試要求,覆蓋測(cè)試可以分為語句覆蓋、判斷覆蓋、條件覆蓋、判斷/條件覆蓋、條件組合覆蓋和途徑覆蓋。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法1、覆蓋率測(cè)試、覆蓋率測(cè)試n下面是一段簡(jiǎn)單的C語言程序,作為公共程序段來說明五種覆蓋測(cè)試的各自特點(diǎn)。n程序3-1:n1If A1& B=0 thenn2 X=X/An3If A2| X1 thenn4 X=X+1n邏輯運(yùn)算符“&表示“與的關(guān)系,邏輯運(yùn)算符“|表示“或的關(guān)系。其程序控制流圖如圖3-3所示。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法1、覆蓋率測(cè)試、覆蓋率測(cè)試圖3-3 例如程序流程圖及流圖二、白盒測(cè)試的

7、常用方法二、白盒測(cè)試的常用方法2、語句覆蓋、語句覆蓋n語句覆蓋Statement Coverage是指設(shè)計(jì)假設(shè)干個(gè)測(cè)試用例,程序運(yùn)行時(shí)每個(gè)可執(zhí)行語句至少被執(zhí)行一次。在保證完成要求的情況下,測(cè)試用例的數(shù)目越少越好。n以下是針對(duì)公共程序段設(shè)計(jì)的測(cè)試用例:測(cè)試用例A,B,XA1andB=0A=2or X1執(zhí)行途徑Test Case 12,0,3TrueTrueaceBCEF程序按途徑a,c,e流圖上的途徑BCEF或1-2-3-4-5順序執(zhí)行,程序中的4個(gè)語句都被執(zhí)行一次,符合語句覆蓋的要求。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法2、語句覆蓋、語句覆蓋n從外表上看,語句覆蓋用例測(cè)試了程序中的每一

8、個(gè)語句行,好似對(duì)程序覆蓋得很全面,但實(shí)際上語句覆蓋測(cè)試是最弱的邏輯覆蓋方法。例如,第一個(gè)判斷的邏輯運(yùn)算符“&錯(cuò)誤寫成“|,或者第二個(gè)判斷的邏輯運(yùn)算符“|錯(cuò)誤地寫成“&,這時(shí)假如仍采用Test Case 1測(cè)試用例那么程序仍按流程圖上的途徑ace執(zhí)行;當(dāng)?shù)诙€(gè)條件語句中X1誤寫成X0時(shí),上述的測(cè)試用例也不能發(fā)現(xiàn)這一錯(cuò)誤。n根據(jù)上述分析可知,語句覆蓋測(cè)試只是外表上的覆蓋程序流程,沒有針對(duì)源程序各個(gè)語句間的內(nèi)在關(guān)系,設(shè)計(jì)更為細(xì)致的測(cè)試用例。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法3、判斷覆蓋、判斷覆蓋n判斷覆蓋Branch Coverage是指設(shè)計(jì)假設(shè)干個(gè)測(cè)試用例,執(zhí)行被測(cè)試程序

9、時(shí),程序中每個(gè)判斷條件的真值分支和假值分支至少被執(zhí)行一遍。在保證完成要求的情況下,測(cè)試用例的數(shù)目越少越好。判斷覆蓋又稱為分支覆蓋。n對(duì)上述例如程序段,設(shè)計(jì)兩個(gè)測(cè)試用例,使它們能通過途徑ace和abd或通過途徑acd及ade,即可到達(dá)“斷定覆蓋的標(biāo)準(zhǔn)。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法3、判斷覆蓋、判斷覆蓋測(cè)試用例A,B,XA1andB=0A=2or X1執(zhí)行途徑Test Case 12,0,3TrueTrueaceTest Case 21,0,1FalseFalseabdn采用這一組測(cè)試用例,公共程序段的4個(gè)判斷分支b,c,d,e都被覆蓋到了。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用

10、方法3、判斷覆蓋、判斷覆蓋測(cè)試用例A,B,XA1andB=0A=2or X1執(zhí)行途徑Test Case 33,0,1TrueFalseacdTest Case 42,1,3FalseTrueaben采用這一組測(cè)試用例,公共程序段的4個(gè)判斷分支b,c,d,e也都被覆蓋到了。n需要注意的是,上述兩組測(cè)試用例在滿足斷定覆蓋的同時(shí),還完成了語句覆蓋,因此斷定覆蓋要比語句覆蓋更強(qiáng)一些。n但是,此時(shí)假如程序段中的第二個(gè)斷定條件X1誤寫成X1andB=0包含了兩個(gè)條件A1和B=0,此時(shí),一個(gè)更強(qiáng)的覆蓋標(biāo)準(zhǔn)是條件覆蓋。n條件覆蓋Condition Coverage是指設(shè)計(jì)假設(shè)干個(gè)測(cè)試用例,執(zhí)行被測(cè)試程序時(shí),程

11、序中每個(gè)判斷條件中的每個(gè)判斷式的真值和假值至少被執(zhí)行一遍。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法4、條件覆蓋、條件覆蓋n因此,在第一個(gè)斷定A1ANDB=0中應(yīng)考慮到各種條件取值的情況:nA1為true,記為T1;nA1為false,記為-T1;nB=0為true,記為T2;nB=0為false,記為-T2;n同樣,對(duì)于第二個(gè)斷定A=2ORX1應(yīng)考慮到:nA=2為true,記為T3;nA=2為false,記為-T3;nX1為true,記為T4;nX1為false,記為-t4;二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法4、條件覆蓋、條件覆蓋n這兩個(gè)測(cè)試用例不但覆蓋了4個(gè)條件的全部8種情況,

12、而且將兩個(gè)斷定的4個(gè)分支b、c、d、e也同時(shí)覆蓋了,即同時(shí)到達(dá)了條件覆蓋和斷定覆蓋。測(cè)試用例A,B,X執(zhí)行途徑覆蓋條件Test Case 12,0,3aceT1,T2,T3,T4Test Case 51,1,1abd-T1,-T2,-T3,-T4二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法4、條件覆蓋、條件覆蓋n但是并不可以說判斷覆蓋是條件覆蓋的子集。n上表中雖然覆蓋了4個(gè)內(nèi)部判斷式的8種真假值情況。但是這組測(cè)試用例的執(zhí)行途徑是abe,僅是覆蓋了判斷條件的4個(gè)真假分支中的2個(gè)。n所以,需要設(shè)計(jì)一種能同時(shí)滿足判斷覆蓋和條件覆蓋的覆蓋測(cè)試方法,即判斷/條件覆蓋測(cè)試。測(cè)試用例A,B,X執(zhí)行途徑覆蓋條

13、件Test Case 61,0,3abe-T1,T2,-T3,T4Test Case 41,1,1abeT1,-T2,T3,-T4二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法5、斷定、斷定/條件覆蓋條件覆蓋n判斷/條件覆蓋是指設(shè)計(jì)假設(shè)干個(gè)測(cè)試用例,執(zhí)行被測(cè)試程序時(shí),程序中每個(gè)判斷條件的真假值分支至少被執(zhí)行一遍,并且每個(gè)判斷條件的內(nèi)部判斷式的真假值分支也要被執(zhí)行一遍。n上表雖然滿足了判斷覆蓋和條件覆蓋,但是沒有對(duì)每個(gè)判斷條件的內(nèi)部判斷式的所有真假值組合進(jìn)展測(cè)試。條件組合判斷是必要的,因?yàn)闂l件判斷語句中的“與和“或,即“&和“|,會(huì)使內(nèi)部判斷式之間產(chǎn)生抑制作用。例如,C=A & B

14、中,假如A為假值,那么C就為假值,測(cè)試程序就不檢測(cè)B了,B的正確與否就無法測(cè)試了。同樣,C=A | B中,假如A為真值,那么C就為真值,測(cè)試程序也不檢測(cè)B了,B的正確與否也就無法測(cè)試了。測(cè)試用例A,B,X執(zhí)行途徑覆蓋條件A1andB=0A=2or X1Test Case 12,0,3ace-T1,T2,-T3,T4TrueTrueTest Case 51,1,1abdT1,-T2,T3,-T4FalseFalse二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法6、組合覆蓋、組合覆蓋n條件組合覆蓋是指設(shè)計(jì)假設(shè)干個(gè)測(cè)試用例,執(zhí)行被測(cè)試程序時(shí),程序中每個(gè)判斷條件的的內(nèi)部判斷式的各種真假組合可能都至少被執(zhí)

15、行一遍??梢姡瑵M足條件組合覆蓋的測(cè)試用例組一定滿足判斷覆蓋、條件覆蓋和判斷/條件覆蓋。n在上述例如程序段中,每個(gè)斷定各包含有兩個(gè)條件,這兩個(gè)條件在斷定中有8種可能的組合:nA1,B=0,記為T1,T2;nA1,B0,記為T1,-T2;nA=1,B=0,記為-T1,T2;nA=1,B0,記為-T1,-T2;nA=2,X1,記為T3,T4;nA=2,X=1,記為T3,-T4;nA2,X1,記為-T3,T4;nA2,X0ifitype=0break;elseifitype=1x=x+10;elsey=y+20;二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法8、根本途徑測(cè)試方法、根本途徑測(cè)試方法n第一步

16、:畫出控制流圖:n圖中每一個(gè)圓稱做流圖的結(jié)點(diǎn),代表一條或多條語句。流圖中的箭頭稱作邊或連接,代表控制流。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法8、根本途徑測(cè)試方法、根本途徑測(cè)試方法n第二步:求出程序環(huán)形復(fù)雜度n根據(jù)程序環(huán)形復(fù)雜度的計(jì)算公式,求出程序途徑集合中的獨(dú)立途徑數(shù)目。n公式1:VG=10-8+2,其中10是控制流圖G中邊的數(shù)量,8是控制流圖中節(jié)點(diǎn)的數(shù)目。n公式2:VG=3+1,其中3是控制流圖G中判斷節(jié)點(diǎn)的數(shù)目。n公式3:VG=4,其中4是控制流圖G中區(qū)域的數(shù)目。n因此,控制流圖G的環(huán)形復(fù)雜度是4。就是說至少需要4條獨(dú)立途徑組成根本途徑集合,并由此得到可以覆蓋所有程序語句的測(cè)試用例

17、。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法8、根本途徑測(cè)試方法、根本途徑測(cè)試方法n第三步:導(dǎo)出測(cè)試用例Test Case n可得出程序的根本途徑集中有4條獨(dú)立途徑:n途徑1:4-14n途徑2:4-6-7-14n途徑3:4-6-9-10-13-4-14n途徑4:4-6-9-12-13-4-14二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法8、根本途徑測(cè)試方法、根本途徑測(cè)試方法n第四步:設(shè)計(jì)測(cè)試用例Test Case n根據(jù)第三步中的獨(dú)立途徑,設(shè)計(jì)測(cè)試用例的輸入數(shù)據(jù)和預(yù)期輸出。測(cè)試用例輸入數(shù)據(jù)預(yù)期輸出Test Case 1Irecordnum=0Itype=0 x=0y=0Test Case 2

18、Irecordnum=1Itype=0 x=0y=0Test Case 3Irecordnum=1Itype=1x=10y=0Test Case 4Irecordnum=1Itype=2x=0y=20例如:程序3-3:1if a or b2then 3 procedure x 4else 5 procedure y; 6 對(duì)應(yīng)的控制流圖如圖2-12所示,程序行1的a,b都是獨(dú)立的判斷節(jié)點(diǎn),所以共計(jì)2個(gè)判斷節(jié)點(diǎn)。圖3-4的環(huán)形復(fù)雜度為VG=2+1,其中2是圖3-4中判斷節(jié)點(diǎn)的數(shù)目。二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法8、根本途徑測(cè)試方法、根本途徑測(cè)試方法二、白盒測(cè)試的常用方法二、白盒測(cè)試的常用方法8、根本途徑測(cè)試方法、根本途徑測(cè)試方法圖3-4 程序3-3的控制流圖三、白盒測(cè)試案例運(yùn)用三、白盒測(cè)試案例運(yùn)用 n書P3840作業(yè)作業(yè) n1下面是一段簡(jiǎn)單的C語言程序,請(qǐng)分別用語句覆蓋、斷定覆蓋、條件覆蓋、斷定/條件覆蓋、組合覆蓋和途徑覆蓋方法為其設(shè)計(jì)測(cè)試用例。n1 If x100& y500 thenn2 score=score+1n3 If x=1000| z5000 thenn4 score=score+5作業(yè)作業(yè) n2下面通過一個(gè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論