




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件測(cè)試技術(shù)課程第5講白盒測(cè)試技術(shù)山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)測(cè)試用例設(shè)計(jì)測(cè)試用例的設(shè)計(jì)是軟件測(cè)試的關(guān)鍵所在,我們須要設(shè)計(jì)出最有可能發(fā)覺(jué)軟件錯(cuò)誤的測(cè)試用例,同時(shí)盡量避開測(cè)試用例的冗余(即避開運(yùn)用發(fā)覺(jué)錯(cuò)誤效果相同的測(cè)試用例),盡量做到用最少的用例達(dá)到較高的覆蓋。為了達(dá)到這個(gè)目的,我們就須要運(yùn)用確定的測(cè)試用例設(shè)計(jì)方法,本次課主要講解基于了解內(nèi)部結(jié)構(gòu)的白盒測(cè)試方法。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)白盒測(cè)試——邏輯覆蓋法邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計(jì)測(cè)試用例的技術(shù),它考慮的是用測(cè)試數(shù)據(jù)執(zhí)行程序時(shí),對(duì)程序代碼以及結(jié)構(gòu)的邏輯覆蓋程度。邏輯覆蓋法通常接受流程圖來(lái)設(shè)計(jì)測(cè)試用例,它考察的重點(diǎn)是圖中的判定框,因?yàn)檫@些判定通常是與選擇結(jié)構(gòu)或是循環(huán)結(jié)構(gòu)有關(guān),是確定程序結(jié)構(gòu)的關(guān)鍵成分。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)發(fā)現(xiàn)錯(cuò)誤的能力標(biāo)準(zhǔn)含義
1(弱)語(yǔ)句覆蓋
2判定覆蓋
3條件覆蓋4判定/條件覆蓋5條件組合覆蓋
邏輯覆蓋測(cè)試的6種標(biāo)準(zhǔn)
每條語(yǔ)句至少執(zhí)行一次每一判定的每個(gè)分支至少執(zhí)行一次每一判定中的每個(gè)條件,分別按“真”、“假”至少各執(zhí)行一次同時(shí)滿足判定覆蓋和條件覆蓋的要求求出判定中全部條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-語(yǔ)句覆蓋語(yǔ)句覆蓋,它的含義是設(shè)計(jì)若干個(gè)測(cè)試用例,使得程序中的每一條可執(zhí)行語(yǔ)句至少執(zhí)行一次。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-語(yǔ)句覆蓋案例代碼:1IntA,B,X;2If(A>1ANDB=0)3X=X-A;4EndIf5If(A=5ORX>1)6X=X+3;7EndIf8X=B/X;1.給出程序流程圖2.幫助設(shè)計(jì)測(cè)試用例設(shè)計(jì)方法:山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-語(yǔ)句覆蓋全部可執(zhí)行語(yǔ)句都在路徑acef上,所以我們只須要一個(gè)用例,這個(gè)用例執(zhí)行路徑acef,就可以覆蓋全部的可執(zhí)行語(yǔ)句。1.給出程序流程圖2.幫助設(shè)計(jì)測(cè)試用例測(cè)試用例:A=5,B=0,
X=7執(zhí)行路徑:acef山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-語(yǔ)句覆蓋語(yǔ)句覆蓋的缺點(diǎn):1.無(wú)法區(qū)分某些邏輯錯(cuò)誤。2.缺失路徑。用例:A=5,B=0,
X=7A>1orB=0測(cè)試結(jié)果還是正確的。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-判定覆蓋判定覆蓋(DecisionCoverage)也被稱為分支覆蓋,它的含義是設(shè)計(jì)若干個(gè)測(cè)試用例,使得程序中的每一個(gè)取“真”分支和取“假”分支至少執(zhí)行一次。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-判定覆蓋參考左圖,要滿足判定覆蓋,須要選擇路徑acef和abdf,或abef和acdf。測(cè)試用例:A=5,B=0,X=4(覆蓋acef)A=1,B=1,X=1(覆蓋abdf)測(cè)試用例:A=5,B=1,X=1(覆蓋abef)A=3,B=0,X=1(覆蓋acdf)山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-判定覆蓋判定覆蓋同樣滿足語(yǔ)句覆蓋。當(dāng)然,并不是全部的判定都如此簡(jiǎn)潔,判定條件還存在于多分支選擇語(yǔ)句和循環(huán)語(yǔ)句中。for(i=1;i<=100;i++)全部覆蓋須要多少用例?沒(méi)有不能實(shí)現(xiàn)的判定結(jié)果,因此,假如不考慮代價(jià),達(dá)到100%的判定覆蓋是可能的。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-判定覆蓋用例A=5,B=0,X=4A=1,B=1,X=1滿足判定覆蓋,但是照舊存在問(wèn)題。這兩個(gè)用例對(duì)于判定只是滿足:testA>1B=0ANDOR1TTTT2FFFFA>1orB=0測(cè)試還是能通過(guò)的。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-判定覆蓋滿足判定覆蓋,也不是完整的測(cè)試。對(duì)于復(fù)合條件,判定覆蓋會(huì)在其一個(gè)組合中被測(cè)試到,但是不能執(zhí)行全部條件的不同分支。因此,判定覆蓋的完整性雖然比語(yǔ)句覆蓋高,但是卻不如條件覆蓋。用例A=5,B=0,X=4A=1,B=1,X=1testA>1B=0A=5X>11TTTF2FFFF山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-條件覆蓋條件覆蓋(ConditionCoverage)是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每一判定語(yǔ)句中每個(gè)邏輯條件的可能取值至少執(zhí)行一次。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-條件覆蓋對(duì)于第一個(gè)判定條件:條件1:A>1,真T1,假F1條件2:B=0,真T2,假F2對(duì)于其次個(gè)判定條件:條件3:A=5,真T3,假F3條件4:X>1,真T4,假F4測(cè)試用例條件取值路徑A=5,B=1,X=1T1,F2,T3,F4abefA=1,B=0,X=3F1,T2,F3,T4abef條件覆蓋不確定包含判定覆蓋,存在路徑缺失問(wèn)題。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-判定條件覆蓋判定/條件覆蓋(Decision/ConditionCoverage)也叫分支/條件覆蓋是將判定覆蓋、條件覆蓋結(jié)合起來(lái)的一種測(cè)試用例設(shè)計(jì)方法。其含義是設(shè)計(jì)足夠的測(cè)試用例,使得判定中每個(gè)條件的全部可能取值至少執(zhí)行一次,同時(shí)全部判定的可能結(jié)果也至少被執(zhí)行一次。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋法-判定條件覆蓋測(cè)試用例通過(guò)路徑條件取值覆蓋分支A=5,B=0,X=7acefT1,T2,T3,T4c,eA=1,B=1,X=1abdfF1,F2,F3,F4b,d滿足了推斷覆蓋。滿足了條件覆蓋。缺點(diǎn):不是全部的條件都能真正檢查到。條件1:A>1,真T1,假F1條件2:B=0,真T2,假F2條件3:A=5,真T3,假F3條件4:X>1,真T4,假F4√√√√√√√√沒(méi)有真正的檢查到。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-條件組合覆蓋條件組合覆蓋也稱多條件覆蓋(MultipleConditionCoverage),它的含義是設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定中每個(gè)條件的各種組合都至少被執(zhí)行一次。滿足條件組合覆蓋的測(cè)試用例確定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-條件組合覆蓋對(duì)于所舉示例,每個(gè)判定中有2個(gè)邏輯條件,每個(gè)邏輯條件有2種取值,因此共有8種可能組合。先對(duì)各個(gè)判定的條件取值組合加以標(biāo)記。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)邏輯覆蓋-條件組合覆蓋測(cè)試用例路徑條件取值覆蓋組合A=5,B=0,X=7acefT1,T2,T3,T4(1)(5)A=5,B=1,X=1abefT1,F2,T3,F4(2)(6)A=1,B=0,X=3abefF1,T2,F3,T4(3)(7)A=1,B=1,X=1abdfF1,F2,F3,F4(4)(8)滿足條件組合覆蓋標(biāo)準(zhǔn)的測(cè)試數(shù)據(jù)并不確定能使程序中的每條路徑都執(zhí)行到,如沒(méi)有覆蓋路徑acdf。優(yōu)點(diǎn):條件組合覆蓋準(zhǔn)則滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準(zhǔn)則。缺點(diǎn):缺失路徑,線性地增加了測(cè)試用例的數(shù)量,工作量較大。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)白盒測(cè)試?yán)}1PROGRAMsom(maxint,N:INT)2 INTresult:=0;i:=0;3
IFN<04
THENN:=-N;5
WHILE(i<N)AND(result<=maxint)6
DO i:=i+1;7 result:=result+i;8
OD;9
IFresult<=maxint10
THENOUTPUT(result)11
ELSEOUTPUT(“toolarge”)12END.
i:=i+1;result:=result+i;(i<N)and(result<=maxint)result<=maxintN<0N:=-N;output(result);output(toolarge);exitstartyesnonoyesyesnoN<0result=0i=0山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)白盒測(cè)試?yán)}i:=i+1;result:=result+i;(i<N)and(result<=maxint)result<=maxintN<0N:=-N;output(result);output(toolarge);exitstartyesnonoyesyesnoN<0result=0i=0測(cè)試用例路徑覆蓋標(biāo)準(zhǔn)maxint=10,N=-1maxint=0,N=-1123456123457語(yǔ)句覆蓋maxint=10,N=3maxint=-1,N=-11345612357判定覆蓋maxint=-1,N=-1maxint=1,N=0123571356條件覆蓋maxint=-1,N=-1maxint=1,N=0maxint=10,N=312357135613456判定條件覆蓋maxint=-1,N=-1maxint=1,N=0maxint=1,N=-1maxint=-1,N=0123571356134561357條件組合覆蓋6123457(i=result=0):maxintN
i<N
result<=maxint-1-1truefalse10falsetrue(i=result=0):maxintN
i<N
result<=maxint-1-1truefalse10falsetrue1-1truetrue
-10falsefalse山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)路徑覆蓋路徑覆蓋(PathCoverage)的含義是設(shè)計(jì)足夠的測(cè)試用例,要求覆蓋程序中全部可能的路徑。我們可以通過(guò)基本路徑法獲得程序的基本路徑,基本路徑法是在程序限制流圖的基礎(chǔ)上,通過(guò)分析限制構(gòu)造的環(huán)路困難性,導(dǎo)出基本可執(zhí)行路徑的集合,從而設(shè)計(jì)測(cè)試用例的方法。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)基本路徑法基本的限制結(jié)構(gòu)對(duì)應(yīng)的圖形符號(hào):圓圈(結(jié)點(diǎn)):表示一個(gè)或多個(gè)的語(yǔ)句或源程序;箭頭(邊或路徑):代表限制流由邊和結(jié)點(diǎn)圈定的范圍稱為區(qū)域,當(dāng)對(duì)區(qū)域計(jì)數(shù)時(shí),圖形外的區(qū)域也應(yīng)記為一個(gè)區(qū)域。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)基本路徑法-限制流圖舉例:假定圖中用菱形框表示的判定條件內(nèi)沒(méi)有復(fù)合條件?!痢辽綎|建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)基本路徑法-限制流圖假如推斷中的條件表達(dá)式是復(fù)合條件,即條件表達(dá)式是由一個(gè)或多個(gè)邏輯運(yùn)算符(or、and、nor)連接的復(fù)合條件表達(dá)式,則須要改為一系列只有單個(gè)條件的嵌套的推斷。QA<0ANDB>0PTFA<0B>0PQP山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)基本路徑法-程序環(huán)路困難性程序的環(huán)路困難性是一種為程序邏輯困難性供應(yīng)定量測(cè)度的軟件度量,通過(guò)對(duì)程序限制流圖的分析和推斷來(lái)計(jì)算模塊的困難性,從程序的環(huán)路困難性可導(dǎo)出程序基本路徑集合中的獨(dú)立路徑條數(shù)。獨(dú)立路徑是指包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑。從限制流圖上看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中從未有過(guò)的邊的路徑。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)基本路徑法-程序環(huán)路困難性環(huán)路困難性的計(jì)算方法有三種:程序的環(huán)形困難度計(jì)算公式為:V(G)=m-n+2,其中,m是程序流圖G中邊的數(shù)量,n是結(jié)點(diǎn)的數(shù)量。假如P是流圖中判定結(jié)點(diǎn)的個(gè)數(shù):V(G)=P+1。源代碼IF語(yǔ)句及While、For或Repeat循環(huán)語(yǔ)句的判定結(jié)點(diǎn)數(shù)為1,而Case型等多分支語(yǔ)句的判定結(jié)點(diǎn)數(shù)等于可能的分支數(shù)減去1。環(huán)路困難度等于限制流圖的區(qū)域數(shù)。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)基本路徑法-設(shè)計(jì)步驟基本路徑測(cè)試法設(shè)計(jì)測(cè)試用例的步驟如下:以具體設(shè)計(jì)或源代碼作為基礎(chǔ),導(dǎo)出程序的限制流圖。計(jì)算得到限制流圖G的環(huán)路困難性V(G)。確定線性獨(dú)立路徑的基本集合。生成測(cè)試用例,確保基本路徑集中的每條路徑執(zhí)行。山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)基本路徑法-舉例第一步:畫出程序限制流圖。A>1B=0X=X-AA=5X=X+3X>1X=B/X請(qǐng)?jiān)囍o出限制流圖?山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)基本路徑法-舉例其次步:計(jì)算環(huán)路困難性依據(jù)流圖可以算出:V(G)=m-n+2=10-7+2=5。第三步:確定獨(dú)立路徑數(shù):路徑1:①-②-③-④-⑤-⑦(A-B-C-F-J)路徑2:①-②-③-④-⑤-⑥-⑦(A-B-C-F-G-H)路徑3:①-②-③-④-⑥-⑦(A-B-C-I-H)路徑4:①-②-④-⑤-⑦(A-D-F-J)路徑5:①-④-⑤-⑦(E-F-J)山東建筑高校計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)基本路徑法-舉例其次步:計(jì)算環(huán)路困難性依據(jù)流圖可以算出:V(G)=m-n+2=10-7+2=5。第三步:確定獨(dú)立路徑數(shù):路徑1:①-②-③-④-⑤-⑦(A-B-C-F-J)路徑2:①-②-③-④-⑤-⑥-⑦(A-B-C-F-G-H)路徑3:①-②-③-④-⑥-⑦(A-B-C-I-H)路徑4:①-②-④-⑤-⑦(A-D-F-J)路徑5:①-④-⑤-⑦(E-F-J)第四步:生成測(cè)試用例A=2,B=0,X=1A=2,B=0,X=4A=5
溫馨提示
- 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年法律知識(shí)競(jìng)賽判斷題庫(kù)及答案
- 智能能源管理平臺(tái)開發(fā)合作協(xié)議
- 工業(yè)制造業(yè)技術(shù)創(chuàng)新成果展示表
- 智慧校園信息化建設(shè)委托代理協(xié)議
- 時(shí)尚品牌代理合作合同
- 血液循環(huán)課件+-2024-2025學(xué)年北師大版生物七年級(jí)下冊(cè)
- 生物科技研發(fā)項(xiàng)目知識(shí)產(chǎn)權(quán)保護(hù)免責(zé)協(xié)議
- 數(shù)字內(nèi)容制作與發(fā)行合作協(xié)議
- 技術(shù)應(yīng)用開發(fā)及推廣服務(wù)協(xié)議
- 地下室買賣協(xié)議參考
- KET詞匯表(英文中文完整版)
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 新版食品安全法解讀(新食品安全法培訓(xùn)資料)
- 職工代表選舉票樣和登記表
- 切削液配制記錄表
- 梁?jiǎn)卧膸缀畏蔷€性有限元法PPT
- 電廠粉煤灰儲(chǔ)灰場(chǎng)施工組織設(shè)計(jì)(DOC89頁(yè))
- 單晶爐熱場(chǎng)結(jié)構(gòu)ppt課件
- 《廣告學(xué)概論》教案
- 健康教育護(hù)理服務(wù)質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)
- (完整版)漢語(yǔ)拼音課程安排
評(píng)論
0/150
提交評(píng)論