![軟件測(cè)試的方法_第1頁(yè)](http://file4.renrendoc.com/view/e464099b620b2678b85424f94d7da99a/e464099b620b2678b85424f94d7da99a1.gif)
![軟件測(cè)試的方法_第2頁(yè)](http://file4.renrendoc.com/view/e464099b620b2678b85424f94d7da99a/e464099b620b2678b85424f94d7da99a2.gif)
![軟件測(cè)試的方法_第3頁(yè)](http://file4.renrendoc.com/view/e464099b620b2678b85424f94d7da99a/e464099b620b2678b85424f94d7da99a3.gif)
![軟件測(cè)試的方法_第4頁(yè)](http://file4.renrendoc.com/view/e464099b620b2678b85424f94d7da99a/e464099b620b2678b85424f94d7da99a4.gif)
![軟件測(cè)試的方法_第5頁(yè)](http://file4.renrendoc.com/view/e464099b620b2678b85424f94d7da99a/e464099b620b2678b85424f94d7da99a5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件測(cè)試的方法第1頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月第2章回顧ONTOWEB@WUST軟件缺陷是軟件質(zhì)量的對(duì)立面軟件缺陷(Bug)是什么驗(yàn)證和確認(rèn) 軟件測(cè)試的分類和階段
-單元、集成、系統(tǒng)(性能、適用性、兼容性…)、驗(yàn)收測(cè)試軟件測(cè)試的工作范疇
-策略、計(jì)劃、設(shè)計(jì)、執(zhí)行、報(bào)告、評(píng)估…第2頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月第3章軟件測(cè)試的方法3.1白盒測(cè)試方法3.2黑盒測(cè)試方法3.3靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試3.4主動(dòng)測(cè)試和被動(dòng)測(cè)試3.5形式化測(cè)試方法3.6基于風(fēng)險(xiǎn)的測(cè)試3.7模糊測(cè)試方法3.8ALAC測(cè)試和隨機(jī)測(cè)試方法第3頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月方法論和具體方法從方法論看,更多體現(xiàn)了一種哲學(xué)的思想,例如辯證統(tǒng)一的方法,在測(cè)試中有許多對(duì)立統(tǒng)一體,如靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試、白盒測(cè)試和黑盒測(cè)試、自動(dòng)化測(cè)試和手工測(cè)試等。軟件測(cè)試的方法論來(lái)源于軟件工程的方法論,例如有面向?qū)ο蟮拈_(kāi)發(fā)方法,就有面向?qū)ο蟮臏y(cè)試方法;有敏捷方法,就有和敏捷方法對(duì)應(yīng)的測(cè)試方法。第4頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月黑盒子和白盒子功能測(cè)試數(shù)據(jù)驅(qū)動(dòng)測(cè)試結(jié)構(gòu)測(cè)試邏輯驅(qū)動(dòng)測(cè)試
客戶需求事件驅(qū)動(dòng)輸入輸出第5頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月靜態(tài)的和動(dòng)態(tài)的主持人作者記錄員列席人員內(nèi)審員技術(shù)專業(yè)人員用戶代表不正式正式互審
走讀審查會(huì)議運(yùn)行程序第6頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月自動(dòng)測(cè)試和手工測(cè)試手工模擬用戶操作第7頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.1白盒測(cè)試方法3.1.1語(yǔ)句覆蓋3.1.2判定覆蓋3.1.3條件覆蓋3.1.4判定條件覆蓋3.1.5條件組合覆蓋3.1.6路徑覆蓋3.1.7基本路徑測(cè)試法Zhu.Kerry@第8頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月白盒測(cè)試方法邏輯覆蓋:以程序的內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ),分為語(yǔ)句覆蓋、判定覆蓋、判定-條件覆蓋、條件組合覆蓋等基本路徑測(cè)試:在程序控制流程的基礎(chǔ)上,分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例。Zhu.Kerry@第9頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.1.1
語(yǔ)句覆蓋語(yǔ)句覆蓋法的基本思想是設(shè)計(jì)若干測(cè)試用例,運(yùn)行被測(cè)程序,使程序中的每個(gè)可執(zhí)行語(yǔ)句至少被執(zhí)行一次如果是順序結(jié)構(gòu),就是讓測(cè)試從頭執(zhí)行到尾如果有分支、條件和循環(huán),需要利用下面的方法,執(zhí)行足夠的測(cè)試覆蓋全部語(yǔ)句第10頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.1.2
判定覆蓋判定覆蓋法的基本思想是設(shè)計(jì)若干用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次,即判斷真假值均曾被滿足。一個(gè)判定往往代表著程序的一個(gè)分支,所以判定覆蓋也被稱為分支覆蓋。Zhu.Kerry@第11頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月分支測(cè)試-example1
PROGRAMsom(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”)12
END.
第12頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月分支測(cè)試-continuedi:=i+1;result:=result+i;(i<N)and(result<=maxint)result<=maxintN<0N:=-N;output(result);output(toolarge);exitstartyesnonoyesyesnoN<0測(cè)試覆蓋全部語(yǔ)句:
maxint N10 -10 -1但沒(méi)有覆蓋所有分支;用例采取:maxint N10 30 -1則覆蓋全部分支(N>=0)result=0i=0第13頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.1.3
條件覆蓋條件覆蓋的基本思想是設(shè)計(jì)若干測(cè)試用例,執(zhí)行被測(cè)程序以后,要使每個(gè)判斷中每個(gè)條件的可能取值至少滿足一次。(i<N)and(result<=maxint)TrueFalseresult<=maxinti<NTrueFalse第14頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月條件測(cè)試目標(biāo):保證測(cè)試到每個(gè)邏輯條件取值為
true
和
false簡(jiǎn)單條件: (arel-opb)whererel-op={<,≤,=,≠,≥,>}(和NOT連用),即a≤b;NOT(a≤b)組合條件:由AND,OR連接的多個(gè)簡(jiǎn)單條件,即(a>b)AND(c<d)關(guān)系表達(dá)式:(E1rel-opE2)其中E1
和E2
是算術(shù)表達(dá)式,即((a*b+c)>(a+b+c))測(cè)試發(fā)現(xiàn)的錯(cuò)誤:布爾操作符 –
關(guān)系操作符布爾變量 –算術(shù)表達(dá)式布爾括弧第15頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月條件測(cè)試(2)域測(cè)試表達(dá)式E1
rel-opE2,測(cè)試E1
≧≦=<>≠E2如果E1
和E2
正確,發(fā)現(xiàn)rel-op的錯(cuò)誤發(fā)現(xiàn)E1
或E2的錯(cuò)誤,全面分析它們的不同如果某表達(dá)式含有n個(gè)變量,則需要進(jìn)行2n
測(cè)試分支測(cè)試組合條件C,測(cè)試C為true和false分支、以及每個(gè)條件例如C=(a>b)AND(c<d)測(cè)試: Zhu.Kerry@a>bTRUE,FALSEc<dTRUE,FALSEC
TRUE,FALSETrueANDTrueT.AndF.,F.AndT.,
F.AndF.第16頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月條件測(cè)試的示例
(i=result=0):maxintN
i<N
result<=maxint-11truefalse10falsetrue測(cè)試了所有條件但沒(méi)有覆蓋判定(decision)
條件覆蓋不等于判定覆蓋i:=i+1;result:=result+i;(i<N)and(result<=maxint)result<=maxintN<0N:=-N;output(result);output(toolarge);exitstartyesnonoyesyesno第17頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.1.4
判定條件覆蓋判定-條件覆蓋是判定和條件覆蓋設(shè)計(jì)方法的交集,即設(shè)計(jì)足夠的測(cè)試用例,使得判斷條件中的所有條件可能取值至少執(zhí)行一次,同時(shí),所有判斷的可能結(jié)果至少執(zhí)行一次測(cè)試用例取值條件具體取值條件判定條件通過(guò)路徑輸入:a=2,b=1,c=6輸出:a=2,b=1,c=5T1,T2,T3,T4a>0,b>0,a>1,c>1M=.T.N=.T.P1(1-2-4)輸入:a=-1,b=-2,c=-3輸出:a=-1,b=-2,c=-5F1,F(xiàn)2,F(xiàn)3,F(xiàn)4a<=0,b<=0,a<=1,c<=1M=.F.N=.F.P4(1-3-5)第18頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.1.5
條件組合測(cè)試條件組合覆蓋的基本思想是設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能至少出現(xiàn)一次,并且每個(gè)判斷本身的判定結(jié)果也至少出現(xiàn)一次。它與條件覆蓋的差別是它不是簡(jiǎn)單地要求每個(gè)條件都出現(xiàn)“真”與“假”兩種結(jié)果,而是要求讓這些結(jié)果的所有可能組合都至少出現(xiàn)一次第19頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月示例(1)組合編號(hào)覆蓋條件取值判定條件取值判定-條件組合1T1,T2M=.T.a>0,b>0,M取真2T1,F(xiàn)2M=.F.a>0,b<=0,M取假3F1,T2M=.F.a<=0,b>0,M取假4F1,F(xiàn)2M=.F.a<=0,b<=0,M取假5T3,T4N=.T.a>1,c>1,N取真6T3,F(xiàn)4N=.T.a>1,c<=1,N取真7F3,T4N=.T.a<=1,c>1,N取真8F3,F(xiàn)4N=.F.a<=1,c<=1,N取假第20頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月示例(2)測(cè)試用例覆蓋條件覆蓋路徑覆蓋組合輸入:a=2,b=1,c=6輸出:a=2,b=1,c=5T1,T2,T3,T4P1(1-2-4)1,5輸入:a=2,b=-1,c=-2輸出:a=2,b=-1,c=-2T1,F(xiàn)2,T3,F(xiàn)4P3(1-3-4)2,6輸入:a=-1,b=2,c=3輸出:a=-1,b=2,c=6F1,T2,F(xiàn)3,T4P3(1-3-4)3,7輸入:a=-1,b=-2,c=-3輸出:a=-1,b=-2,c=-5F1,F(xiàn)2,F(xiàn)3,F(xiàn)4P4(1-3-5)4,8覆蓋了所有組合,但覆蓋路徑有限,1-2-5沒(méi)被覆蓋第21頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.1.6
路徑測(cè)試顧名思義,路徑覆蓋就是設(shè)計(jì)所有的測(cè)試用例,來(lái)覆蓋程序中的所有可能的執(zhí)行路徑。測(cè)試用例覆蓋路徑覆蓋條件覆蓋組合輸入:a=2,b=1,c=6輸出:a=2,b=1,c=5P1(1-2-4)T1,T2,T3,T41,5輸入:a=1,b=1,c=-3輸出:a=1,b=1,c=-2P2(1-2-5)T1,T2,F(xiàn)3,F(xiàn)41,8輸入:a=2,b=-1,c=-2輸出:a=2,b=-1,c=-2P3(1-3-4)T1,F(xiàn)2,T3,F(xiàn)42,6輸入:a=-1,b=2,c=3輸出:a=-1,b=2,c=6P3(1-3-4)F1,T2,F(xiàn)3,T43,7輸入:a=-1,b=-2,c=-3輸出:a=-1,b=-2,c=-5P4(1-3-5)F1,F(xiàn)2,F(xiàn)3,F(xiàn)44,8第22頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.1.7基本路徑測(cè)試依據(jù)代碼繪制流程圖確定流程圖的圈復(fù)雜度(cyclomaticcomplexity)確定線性獨(dú)立路徑的基本集合(basisset)設(shè)計(jì)測(cè)試用例覆蓋每條基本路徑第23頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月示例–源代碼Procedure:processrecords1. DoWhilerecordsremain2.
Read
record;3.
If
recordfield1=0Then4. storeinbuffer;5. incrementcounter;6.
ElseIf
recordfield2=0Then7. resetcounter;8.
Elsestoreinfile;9.
EndIf10.
EndIf11.
EndDoEnd第24頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月示例–流程圖1910112457836V(G)=4第25頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月基本路徑測(cè)試:流程圖簡(jiǎn)化12,387694,51011第26頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月流程圖的圈復(fù)雜度
V(G)=區(qū)域數(shù)量(由節(jié)點(diǎn)、連線包圍的區(qū)域,包括圖形外部區(qū)域)V(G)=連線數(shù)量-節(jié)點(diǎn)數(shù)量+2V(G)=簡(jiǎn)單可預(yù)測(cè)節(jié)點(diǎn)數(shù)量+1圈復(fù)雜度(Cyclomaticcomplexity):代碼邏輯復(fù)雜度的度量,提供了被測(cè)代碼的路徑數(shù)量。復(fù)雜度越高,出錯(cuò)的概率越大V(G)modules第27頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月流程圖復(fù)雜度-例子V(G)=412,378694,51011Region1Region2Region3Region4第28頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月確定線性獨(dú)立的路徑集合
獨(dú)立路徑:至少引入一系列新的處理語(yǔ)句或條件的任何路徑基本集:由獨(dú)立路徑構(gòu)成的集合由基本集導(dǎo)出的測(cè)試用例,保證每行代碼語(yǔ)句至少被執(zhí)行一次基本集合不一定唯一第29頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月
Path1:1-2-3-6-7-9-10-1-11示例:基本路徑測(cè)試用例
Path2:1-2-3-6-8-9-10-1-11
Path3:1-2-3-4-5-10-1-11Path4:1-111910112458736第30頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月測(cè)試用例覆蓋集合中每條路徑基本路徑測(cè)試并不是測(cè)試所有路徑的組合,僅僅保證每條基本路徑被執(zhí)行一次不需要活動(dòng)圖,但最好繪制程序流程圖計(jì)算每個(gè)邏輯測(cè)試,也就是布爾操作符數(shù)加1
最好每個(gè)單元都進(jìn)行基本路徑測(cè)試,對(duì)關(guān)鍵組件則是必要的第31頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月目標(biāo):在循環(huán)內(nèi)部及邊界上執(zhí)行測(cè)試循環(huán)測(cè)試-11.簡(jiǎn)單循環(huán)(迭代次數(shù)n)
完全跳過(guò)循環(huán)只經(jīng)過(guò)循環(huán)一次經(jīng)過(guò)循環(huán)兩次經(jīng)過(guò)循環(huán)m(m<n)次分別經(jīng)過(guò)循環(huán)n-1,n,n+1次第32頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月循環(huán)測(cè)試-22.嵌套(Nested)循環(huán)在最里面的循環(huán)完成前面所述的簡(jiǎn)單循環(huán)測(cè)試,同時(shí)設(shè)定外部循環(huán)的最小迭代次數(shù)逐步向外循環(huán)進(jìn)行直到所有循環(huán)被測(cè)試第33頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月循環(huán)測(cè)試-3其它非結(jié)構(gòu)循環(huán)重新設(shè)計(jì)!3.串行連接的循環(huán)獨(dú)立循環(huán)可以分別看著簡(jiǎn)單循環(huán)測(cè)試依賴性循環(huán)可以看著是嵌套循環(huán)第34頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.2黑盒測(cè)試方法3.2.1等價(jià)類劃分法3.2.2邊界值分析法3.2.3判定表方法3.2.4因果圖法3.2.5正交試驗(yàn)法3.2.6功能圖法3.2.7錯(cuò)誤推測(cè)法第35頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.2.1等價(jià)類劃分方法將程序可能的輸入數(shù)據(jù)分成若干個(gè)子集,從每個(gè)子集選取一個(gè)代表性的數(shù)據(jù)作為測(cè)試用例,等價(jià)類是某個(gè)輸入域的子集,在該子集中每個(gè)輸入數(shù)據(jù)的作用是等效的分為有效等價(jià)類和無(wú)效等價(jià)類。有效等價(jià)類是有意義的、合理的輸入數(shù)據(jù),可檢查程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中所規(guī)定的功能和性能。無(wú)效等價(jià)類與有效等價(jià)類的意義相反在分析需求規(guī)格說(shuō)明的基礎(chǔ)上劃分等價(jià)類,列出等價(jià)類表設(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮這兩種等價(jià)類。因?yàn)檐浖粌H要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗(yàn)。經(jīng)過(guò)正反的測(cè)試才能確保軟件具有更高的可靠性。allinputsi1i4i2i3第36頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月確定等價(jià)類的方法在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類inrangegreaterthanrangelessthanrangevaluegreaterthanvaluelessthanvalue第37頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可以確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類確定等價(jià)類的方法(2)notmemberofsetmemberofsetBooleanNon-Boolean第38頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月確定等價(jià)類的方式(3)在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(從不同角度違反規(guī)則)。個(gè)人月收入-x
稅率
x<=16000%1600<x<21005%500<=x<360010%3600<=x<660015%6600<=x<2160020%21600<=x<4160025%……>10160045%第39頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月等價(jià)類測(cè)試用例-Example等價(jià)類1:Integer等價(jià)類2:Decimalfraction等價(jià)類3:Negative等價(jià)類4:Invalidinput第40頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月根據(jù)等價(jià)類創(chuàng)建測(cè)試用例的步驟建立等價(jià)類表,列出所有劃分出的等價(jià)類:為每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào);設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類重復(fù)c),最后使得所有有效等價(jià)類均被測(cè)試用例所覆蓋;設(shè)計(jì)一個(gè)新的測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類。重復(fù)e)使所有無(wú)效等價(jià)類均被覆蓋。輸入條件有效等價(jià)類無(wú)效等價(jià)類………………第41頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.2.2邊界值分析方法程序的很多錯(cuò)誤發(fā)生在輸入或輸出范圍的邊界上,因此針對(duì)各種邊界情況設(shè)置測(cè)試用例,可以發(fā)現(xiàn)不少程序缺陷。BVA–BoundaryValueAnalysis設(shè)計(jì)方法:確定邊界情況(輸入或輸出等價(jià)類的邊界)選取正好等于、剛剛大于或剛剛小于邊界值作為測(cè)試數(shù)據(jù)第42頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月確定邊界值的方法如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)少一、比最大個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù)。abab第43頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月確定邊界值的方法(2)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。Zhu.Kerry@
TestcasesforABS(x):classx<0,arbitraryvalue: x=-10classx>=0,arbitraryvalue x=100classesx<0,x>=0,onboundary: x=0classesx<0,x>=0,belowandabove: x=-1,x=1第44頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月正常值(有效類):X1=123123邊界值:X2=12345邊界值:X3=1234567邊界值:X4=1邊界值:X5=0無(wú)效類的值:X6=-123123無(wú)效類的值:X7=asdasd其它?BVA示例2測(cè)試限制性用戶輸入:6位正整數(shù)無(wú)效值:X8=000123
X9=asd123X10=Empty第45頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月BVA示例3Testcases:任意的正常值:隨機(jī)選擇幾個(gè)選項(xiàng)
邊界值:選擇所有選項(xiàng)
邊界值:一個(gè)都不選
邊界值:選擇一個(gè)選項(xiàng)第46頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月二進(jìn)制Term取值范圍BitNibbleByteWordKiloMegaGigaTera0or10-15<Halfbyte>0-2550-65535or0-429496729510241048576107374182410995116277760和1,byte由8bits構(gòu)成,字由4bytes構(gòu)成,…第47頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月ASCIITableCharacterASCIIValueCharacter
ASCIIValueNullSpace/0129;@A0324748495057586465BYZ[‘a(chǎn)byz{66899091969798121122123第48頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月字符編輯域DefaultEmptyBlankNullZeroNone第49頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月一些特殊的邊界值數(shù)值字符位置數(shù)量速度位置體積First/last,F(xiàn)irst-1/Last+1Min/Max,Min-1/max+1Star/Finish,Start-1/Finish+1Empty/FullLessthanempty/morethanfullSlower/FasterLargest/SmallestOver/Under,justOver/JustUnderShortest/Longest……第50頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.2.3判定表方法在實(shí)際應(yīng)用中,許多輸入是由多個(gè)因素構(gòu)成,而不是單一因素,這時(shí)就需要多因素組合分析。對(duì)于多因素,有時(shí)可以直接對(duì)輸入條件進(jìn)行組合設(shè)計(jì),不需要進(jìn)行因果分析,即直接采用判定表方法。一個(gè)判定表由“條件和活動(dòng)”兩部分組成,也就是列出了一個(gè)測(cè)試活動(dòng)執(zhí)行所需的條件組合,所有可能的條件組合定義了一系列的選擇,而測(cè)試活動(dòng)需要考慮每一個(gè)選擇。第51頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月判定表元素條件樁,列出問(wèn)題的所有條件動(dòng)作樁:列出可能針對(duì)問(wèn)題所采取的操作條件項(xiàng):針對(duì)所列條件的具體賦值動(dòng)作項(xiàng):列出在條件項(xiàng)(各種取值)組合情況下應(yīng)該采取的動(dòng)作。規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作。Zhu.Kerry@第52頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月判定表方法步驟列出所有的條件樁和動(dòng)作樁;填入條件項(xiàng);填入動(dòng)作項(xiàng),制定初始判定表;簡(jiǎn)化、合并相似規(guī)則或者相同動(dòng)作示例見(jiàn)表3-13和3-14第53頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.2.4因果圖法多種輸入條件的組合,產(chǎn)生多種結(jié)果設(shè)計(jì)測(cè)試用例。設(shè)計(jì)方法:分析軟件規(guī)格說(shuō)明文檔描述的哪些是原因(輸入條件),哪些是結(jié)果(輸出條件),給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)示符。找出原因與結(jié)果,原因與原因之間的對(duì)應(yīng)關(guān)系,劃出因果圖在因果圖上標(biāo)上哪些不可能發(fā)生的因果關(guān)系,表明約束或限制條件根據(jù)因果圖,創(chuàng)建判定表,將復(fù)雜的邏輯關(guān)系和多種條件組合很具體明確的表示出來(lái)把判定表的每一行作為依據(jù)設(shè)計(jì)測(cè)試用例。第54頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月因果圖法-示例(1)有效等價(jià)類:
輸入條件 有效類.
abs(N) N0,N0
maxint kmaxint,
k>maxint測(cè)試用例: maxint N result maxint N result 55 10 55 100 0 0
54 10 error 100 -1 1
56 10 55 100 1 1
0 0 0 … … …給定maxint和N,如果結(jié)果<=maxint,則按以下公式計(jì)算;否則提示出錯(cuò):
K=0|N|kresult=
第55頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月kmaxintkmaxintN0N0kerrorandxorandCauses
kmaxint
1 1 0 0Inputs
kmaxint
0 0 1 1 N0 1 0 1 0 N0 0 1 0 1Effects k 1 1 0 0Outputs error 0 0 1
1Zhu.Kerry@因果圖法-示例(2)第56頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月1100error0011kEffects1010N00101N01100kmaxint0011kmaxintCauseCaseMatrix:Zhu.Kerry@因果圖法-示例(3)第57頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月為什么要采用正交試驗(yàn)法?打印范圍分:全部、當(dāng)前幻燈片、給定范圍打印內(nèi)容分:幻燈片、講義、備注頁(yè)、大綱視圖打印顏色/灰度分:彩色、灰度、黑白打印效果分:幻燈片加框和幻燈片不加框。在許多應(yīng)用系統(tǒng)的測(cè)試工作中,不會(huì)象判斷三角形那樣簡(jiǎn)單,輸入條件的因素很多,而且每個(gè)因素也不能簡(jiǎn)單用“是”和“否”來(lái)回答。比如,微軟Powerpoint程序的打印測(cè)試,也需要考慮4個(gè)因素,每個(gè)因素也有多個(gè)選項(xiàng)測(cè)試組合會(huì)變得很多,如果按照傳統(tǒng)的測(cè)試方法,會(huì)導(dǎo)致很大的測(cè)試工作量
第58頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.2.5正交實(shí)驗(yàn)法確定影響功能的因子與狀態(tài)選擇一個(gè)合適的正交表利用正交表構(gòu)造測(cè)試數(shù)據(jù)集參考.hk/UniformDesign/~njas
第59頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月實(shí)例員工號(hào)(ID)。員工姓名(Name)。員工郵件地址(MailAddress)信息系統(tǒng)中,員工信息查詢功能是常見(jiàn)的。例如,設(shè)有3個(gè)獨(dú)立的查詢條件,以獲得特定員工的個(gè)人信息第60頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.2.6功能圖法每個(gè)程序的功能通常由靜態(tài)說(shuō)明和動(dòng)態(tài)說(shuō)明組成靜態(tài)說(shuō)明描述了輸入條件和輸出條件之間的對(duì)應(yīng)關(guān)系動(dòng)態(tài)說(shuō)明描述了輸入數(shù)據(jù)的次序或者轉(zhuǎn)移的次序。
功能圖法就是為了解決動(dòng)態(tài)說(shuō)明問(wèn)題的一種測(cè)試用例的設(shè)計(jì)方法功能圖由狀態(tài)遷移圖(statetransitiondiagram,STD)和邏輯功能模型(logicfunctionmodel,LFM)構(gòu)成第61頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月?tīng)顟B(tài)遷移圖狀態(tài)遷移圖,描述系統(tǒng)狀態(tài)變化的動(dòng)態(tài)信息——?jiǎng)討B(tài)說(shuō)明,由狀態(tài)和遷移來(lái)描述,狀態(tài)指出數(shù)據(jù)輸入的位置(或時(shí)間),而遷移則指明狀態(tài)的改變第62頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月如何設(shè)計(jì)測(cè)試用例?從功能邏輯模型(決策表或因果圖)導(dǎo)出局部測(cè)試用例,覆蓋各個(gè)狀態(tài)的各種輸入數(shù)據(jù)的組合從狀態(tài)遷移圖導(dǎo)出整體的測(cè)試用例,以覆蓋系統(tǒng)(程序)控制的邏輯路徑功能圖法設(shè)計(jì)測(cè)試用例,就是如何覆蓋軟件所表現(xiàn)出來(lái)的所有狀態(tài),可以轉(zhuǎn)化為兩個(gè)層次的測(cè)試用例功能圖法是綜合運(yùn)用黑盒方法和白盒方法來(lái)設(shè)計(jì)測(cè)試用例,即整體上選用白盒方法——路徑覆蓋、分支和條件覆蓋等,而局部上選用的是黑盒方法——決策表或因果圖方法
第63頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.2.7錯(cuò)誤推測(cè)法基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性地設(shè)計(jì)測(cè)試用例。發(fā)現(xiàn)程序經(jīng)常出現(xiàn)的錯(cuò)誤的方法:?jiǎn)卧獪y(cè)試中發(fā)現(xiàn)的模塊錯(cuò)誤;產(chǎn)品的以前版本曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤;輸入數(shù)據(jù)為0或字符為空;當(dāng)軟件要求輸入時(shí)(比如在文本框中),不是沒(méi)有輸入正確的信息,而是根本沒(méi)有輸入任何內(nèi)容,單單按了Enter鍵;這種情況在產(chǎn)品說(shuō)明書(shū)中常常忽視,程序員也可能經(jīng)常遺忘,但是在實(shí)際使用中卻時(shí)有發(fā)生。程序員總會(huì)習(xí)慣性的認(rèn)為用戶要么輸入信息,不管是看起來(lái)合法的或非法的信息,要不就會(huì)選擇Cancel鍵放棄輸入,第64頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.3靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試將需求和設(shè)計(jì)的評(píng)審也納入測(cè)試的范疇,可以看作是廣義測(cè)試靜態(tài)測(cè)試包括對(duì)軟件產(chǎn)品的需求和設(shè)計(jì)規(guī)格說(shuō)明書(shū)的評(píng)審、對(duì)程序代碼的復(fù)審等靜態(tài)分析的查錯(cuò)和分析功能是其他方法所不能替代的,可以采用人工檢測(cè)和計(jì)算機(jī)輔助靜態(tài)分析手段進(jìn)行檢測(cè),但越來(lái)越多地采用工具進(jìn)行自動(dòng)化分析動(dòng)態(tài)測(cè)試是通過(guò)真正運(yùn)行程序發(fā)現(xiàn)錯(cuò)誤,通過(guò)觀察代碼運(yùn)行過(guò)程,來(lái)獲取系統(tǒng)信息,對(duì)系統(tǒng)行為進(jìn)行驗(yàn)證。第65頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.4主動(dòng)測(cè)試和被動(dòng)測(cè)試主動(dòng)測(cè)試方法:測(cè)試人員主動(dòng)向被測(cè)試對(duì)象發(fā)送請(qǐng)求、或借助數(shù)據(jù)、事件驅(qū)動(dòng)被測(cè)試對(duì)象的行為,從而驗(yàn)證被測(cè)試對(duì)象的反應(yīng)或輸出結(jié)果被動(dòng)測(cè)試方法:測(cè)試人員不干預(yù)產(chǎn)品的運(yùn)行,而是被動(dòng)地監(jiān)控產(chǎn)品在實(shí)際環(huán)境中運(yùn)行,通過(guò)一定的被動(dòng)機(jī)制來(lái)獲得系統(tǒng)運(yùn)行的數(shù)據(jù),包括輸入、輸出數(shù)據(jù).第66頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.5形式化測(cè)試方法3.5.1形式化方法3.5.2形式化驗(yàn)證3.5.3基于模型的軟件測(cè)試3.5.4擴(kuò)展有限狀態(tài)機(jī)方法第67頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.5.1形式化方法形式化方法實(shí)際上就是基于數(shù)學(xué)的方法來(lái)描述目標(biāo)軟件系統(tǒng)屬性的一種技術(shù)凡是采用嚴(yán)格的數(shù)學(xué)語(yǔ)言、具有精確的數(shù)學(xué)語(yǔ)義的方法,都稱為形式化方法。形式化規(guī)范說(shuō)明語(yǔ)言,一般由3個(gè)主要的成分構(gòu)成:語(yǔ)法、語(yǔ)義和一組關(guān)系形式化方法更大作用是體現(xiàn)在軟件規(guī)格和驗(yàn)證之上,這包括軟件系統(tǒng)的精確建模和軟件規(guī)格特性的具體描述,即可以看作是面向模型的形式化方法和面向?qū)傩缘男问交椒ǖ?8頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月形式化的具體方法基于模型的方法,如Z語(yǔ)言、B語(yǔ)言等代數(shù)方法,如OBJ、CLEAR、ASL、ACT等過(guò)程代數(shù)方法,如CSP、CCS、ACP、LOTOS、TPCCS等基于邏輯的方法,如區(qū)間時(shí)序邏)、Hoare邏輯、模態(tài)邏輯、時(shí)序邏輯、時(shí)序代理模型等。基于網(wǎng)絡(luò)的方法第69頁(yè),課件共86頁(yè),創(chuàng)作于2023年2月3.5.2形式化驗(yàn)證形式化驗(yàn)證,就是根據(jù)某些形式規(guī)范或?qū)傩裕褂眯问竭壿嫹椒ㄗC明其正確性或非正確性。一般通過(guò)形式化規(guī)范進(jìn)行分析和推理,研究它的各種靜態(tài)和動(dòng)態(tài)性質(zhì),驗(yàn)證是否一致、完整,從而找出所存在的錯(cuò)誤和缺陷。無(wú)法證明某個(gè)系統(tǒng)沒(méi)有缺陷,因?yàn)椴荒芏x“沒(méi)有缺陷”。只能證明一個(gè)系統(tǒng)不存在我們可以想得到的缺陷,以及驗(yàn)證滿足系統(tǒng)質(zhì)量要求的屬性第
溫馨提示
- 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年度教學(xué)儀器知識(shí)產(chǎn)權(quán)保護(hù)合同
- 全新轎車購(gòu)買合同范本
- 2025年度金融貸款居間風(fēng)險(xiǎn)控制合同
- 全國(guó)授權(quán)合同范本
- 養(yǎng)鵝合同范例
- 切割支撐合同范本
- 業(yè)主和裝修工長(zhǎng)合同范例
- 2025年度花卉市場(chǎng)渠道建設(shè)與拓展合同
- 自愿租賃房屋意向合同范本
- n 1賠償合同范本
- 2022注冊(cè)電氣工程師專業(yè)考試規(guī)范清單匯總
- 一年級(jí)寫(xiě)字下學(xué)期課件(PPT 38頁(yè))
- 怎樣處理課堂突發(fā)事件
- 桂花-作文ppt-PPT課件(共14張)
- 高一數(shù)學(xué)概率部分知識(shí)點(diǎn)總結(jié)及典型例題解析 新課標(biāo) 人教版 必修
- 鐵路運(yùn)費(fèi)計(jì)算方法
- 《小腦梗死護(hù)理查房》
- 免疫及炎癥相關(guān)信號(hào)通路
- 某風(fēng)電場(chǎng)設(shè)備材料設(shè)備清單
- —橋梁專業(yè)施工圖設(shè)計(jì)審查要(終)
- 德龍自卸車合格證掃描件(原圖)
評(píng)論
0/150
提交評(píng)論