版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第9章路徑測試基本概念DD-路徑測試覆蓋指標(biāo)基路徑測試舉例小結(jié)結(jié)構(gòu)性測試——回顧白盒測試(White-boxtesting)(白盒的)實(shí)現(xiàn)是已知的,并被用來標(biāo)識測試用例程序的結(jié)構(gòu)和處理過程象白盒子一樣透明。允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。輸入輸出結(jié)構(gòu)性測試——回顧結(jié)構(gòu)性測試基于被測程序的源代碼結(jié)構(gòu)性測試方法支持嚴(yán)格定義、數(shù)學(xué)分析和精確度量結(jié)構(gòu)性測試——回顧結(jié)構(gòu)性測試主要想對程序模塊進(jìn)行如下檢查對程序模塊的所有獨(dú)立的執(zhí)行路徑至少測試一次所有的邏輯判定,取“真”與取“假”的兩種情況都至少測試一次在循環(huán)的邊界和運(yùn)行界限內(nèi)執(zhí)行循環(huán)體測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等結(jié)構(gòu)性測試——回顧結(jié)構(gòu)性測試用例標(biāo)識方法的比較S:規(guī)格說明(預(yù)期的)P:程序(觀察的)測試用例集合完全局限在已編程實(shí)現(xiàn)的行為集合中測試用例(方法A)SPT測試用例(方法B)SPT結(jié)構(gòu)性測試什么時(shí)候測試可以停止?時(shí)間用光繼續(xù)測試未產(chǎn)生新的失效繼續(xù)測試未發(fā)現(xiàn)新的缺陷無法考慮新的測試用例回報(bào)很小
達(dá)到所要求的覆蓋所有缺陷都已經(jīng)清除太常見無法保證軟件可靠性模型支持該選擇若已遵循測試規(guī)則和指導(dǎo)方針,則該選擇是很好的,否則類似選擇1好的選擇非常好的選擇
路徑測試路徑測試:從程序入口開始,執(zhí)行過程中經(jīng)歷各個(gè)語句,直至程序出口是結(jié)構(gòu)性測試最為典型的問題理想情況:實(shí)現(xiàn)路徑覆蓋問題:對于簡單的小程序可實(shí)現(xiàn)路徑覆蓋對于程序中出現(xiàn)多個(gè)判定和多個(gè)循環(huán),路徑數(shù)目將急劇增長
路徑測試路徑從圖的構(gòu)造中得來當(dāng)執(zhí)行測試用例時(shí),將通過路徑不同執(zhí)行路徑數(shù)達(dá)520條,所有路徑測試完需3170年。龐大的執(zhí)行路徑暗示著需要簡化
路徑測試在單元測試中,路徑是指函數(shù)代碼的某個(gè)分支,而實(shí)際上如果我們將軟件系統(tǒng)的某個(gè)流程也看成路徑的話,我們將可以嘗試著用路徑分析的方法來設(shè)計(jì)測試用例。
路徑測試路徑測試的好處降低了測試用例設(shè)計(jì)的難度,只要搞清了各種流程,就可以設(shè)計(jì)出高質(zhì)量的測試用例來,而不用太多測試方面的經(jīng)驗(yàn)在測試時(shí)間較緊的情況下,可以有的放矢的選擇測試用例,而不用完全根據(jù)經(jīng)驗(yàn)來取舍
路徑測試基本概念DD-路徑測試覆蓋指標(biāo)基路徑測試舉例小結(jié)
路徑測試——基本概念程序圖圈復(fù)雜度給定采用命令式程序設(shè)計(jì)語言編寫的一段程序,其程序圖是一種有向圖,其中:傳統(tǒng)定義:如果i和j是程序圖中的節(jié)點(diǎn),從節(jié)點(diǎn)i到j(luò)存在一條邊,當(dāng)且僅當(dāng)對應(yīng)節(jié)點(diǎn)j的語句可以立即在節(jié)點(diǎn)i對應(yīng)的語句之后執(zhí)行。改進(jìn)的定義:節(jié)點(diǎn)要么是整個(gè)語句,要么是語句的一部分,邊表示控制流(從節(jié)點(diǎn)i到j(luò)有一條邊,當(dāng)且僅當(dāng)對應(yīng)節(jié)點(diǎn)j的語句或語句的一部分,可以立即在對應(yīng)節(jié)點(diǎn)i的語句或語句的一部分之后執(zhí)行。)程序圖的重要性在于:程序的執(zhí)行對應(yīng)于從源節(jié)點(diǎn)到匯節(jié)點(diǎn)的路徑。ABCDEFGfirstlast
路徑測試——基本概念測試用例要完成某條程序路徑的執(zhí)行,所以程序圖明確描述了測試用例和測試用例所執(zhí)行的程序部分之間的關(guān)系程序圖能很好地以理論上可預(yù)期的方式,來處理程序中潛在的大量執(zhí)行路徑ABCDEFGfirstlast
路徑測試——基本概念類似程序的控制流圖例
路徑測試——基本概念鍵盤屏幕三角形程序三角形的邊提示和三角形類型數(shù)據(jù)字典
三角形的邊:
a+b+c
a,b,c是非負(fù)整數(shù)
類型碼:等邊/等腰/不等邊/非三角形
提示
:'Enterthreeintegerswhicharesidesofatriangle'
三角形類型:等邊/等腰/不等邊/非三角形
1.得到輸入2.是三角形嗎?a,b,c4.輸出控制器a,b,c假3.三角形類型真類型碼提示三角形類型三角形的邊
路徑測試——基本概念Output("Isosceles")Programtriangle2'StructuredprogrammingversionDima,b,cAsInteger
DimIsATriangleAsBoolean'Step1:GetInput1.Output("Enter3integerswhicharesidesofatriangle")2.Input(a,b,c)3.Output("SideAis",a)4.Output("SideBis",b)5.Output("SideCis",c)'Step2:IsATriangle?6.If(a<b+c)AND(b<a+c)AND(c<a+b)7.ThenIsATriangle=True8.ElseIsATriangle=False9.EndIf
'Step3:DetermineTriangleType10.IfIsATriangle
11.ThenIf(a=b)and(b=c)12.
ThenOutput("Equilateral")13.
ElseIf(ab)AND(ac)AND(bc)14.
ThenOutput("Scalene")15.
Else16.
EndIf
17.
EndIf
18.
ElseOutput("NotaTriangle")19.EndIf
20.Endtriangle2三角形程序的偽碼
路徑測試——基本概念三角形程序的程序圖1324657891018111314151612171920
路徑測試——基本概念程序圖圈復(fù)雜度V(G)=e-n+pV(G)=e-n+2pAEe7e2e5DBCFGe1e4e3e6e8e9e10e11例
e=10,n=7,p=1,V=e-n+2p=5
e=11,n=7,p=1,V=e-n+p=5
V(G)=圖所在平面被劃分為的區(qū)域數(shù)
路徑測試——基本概念圈復(fù)雜度(V=e-n+2)例n1n5n2e2e1e5n4e6e4n3e3n1n3n2e2e1e3n1n3n2e2e1n1n2e2e1e3n3n1n2e2e1e3n3
e=6,n=5,V=e-n+2=3
e=3,n=3,V=e-n+2=2
e=2,n=3,V=e-n+2=1
e=3,n=3,V=e-n+2=2
e=3,n=3,V=e-n+2=2程序越復(fù)雜,圈復(fù)雜度越高,路徑數(shù)越多。
路徑測試基本概念DD-路徑測試覆蓋指標(biāo)基路徑測試舉例小結(jié)DD路徑的定義是程序圖中的一條鏈,使得:
Case1:由一個(gè)節(jié)點(diǎn)組成,入度
=0,
Case2:
Case3:
Case4:
Case5:長度>=1的最大鏈
InitialNodeTerminalNodeInteriorNodesa2-connectedchain
路徑測試——DD路徑由一個(gè)節(jié)點(diǎn)組成,出度
=0,由一個(gè)節(jié)點(diǎn)組成,入度>=2或出度>=2,由一個(gè)節(jié)點(diǎn)組成,入度=1且出度=1,對應(yīng)唯一的源節(jié)點(diǎn)對應(yīng)唯一的匯節(jié)點(diǎn)對應(yīng)條件語句用于短分支對應(yīng)串行語句
路徑測試——DD路徑DD路徑圖的定義
本質(zhì)上是一種壓縮圖給定采用命令式語句編寫的一段程序,其DD路徑圖是有向圖,其中,節(jié)點(diǎn)表示程序圖的DD-路徑,邊表示連續(xù)DD-路徑之間的控制流。
2-連接組件被壓縮為對應(yīng)case5DD-路徑的單個(gè)節(jié)點(diǎn)
DD-路徑能夠精確描述測試覆蓋
路徑測試——DD路徑1324657891018111314151612171920三角形問題的程序圖三角形問題的DD-路徑圖BACDEFGHJKLMINOEndBegin
路徑測試基本概念DD-路徑測試覆蓋指標(biāo)基路徑測試舉例小結(jié)
路徑測試——測試覆蓋指標(biāo)功能性測試的基本局限性測試用例(方法A)SPT測試用例之間可能存在嚴(yán)重的冗余
還可能存在未測試的軟件漏洞
受軟件規(guī)格說明書的限制測試覆蓋指標(biāo)是度量一組測試用例覆蓋(或執(zhí)行)某個(gè)程序擴(kuò)展的工具。
路徑測試——測試覆蓋指標(biāo)測試覆蓋指標(biāo)(基于程序圖)
C0
所有語句
C1
所有DD-路徑(判斷分支)C1p
所有判斷的每種分支C2
C1覆蓋
+循環(huán)覆蓋Cd
C1覆蓋
+DD-路徑的所有依賴對偶CMCC
Cik
Cstat
多條件覆蓋包含最多k次循環(huán)的所有程序路徑(通常k=2)路徑具有“統(tǒng)計(jì)重要性”的部分所有可能的執(zhí)行路徑指標(biāo)覆蓋描述C語句覆蓋(點(diǎn)覆蓋)判定覆蓋(邊覆蓋)條件覆蓋路徑測試循環(huán)覆蓋
路徑測試——測試覆蓋指標(biāo)語句與判斷測試
要求找出一組測試用例,使得當(dāng)執(zhí)行時(shí),程序圖的所有節(jié)點(diǎn)至少執(zhí)行一次BBeginCDEFGHJKLMINOEnd
路徑測試——測試覆蓋指標(biāo)DD-路徑測試對于C1指標(biāo),要求執(zhí)行每個(gè)判斷分支,則應(yīng)遍歷DD-路徑圖中每條邊,對于C1p覆蓋,若為條件語句,則應(yīng)覆蓋真、假分支;若為CASE語句,應(yīng)覆蓋每個(gè)子句,對于較長的DD-路徑,代表復(fù)雜計(jì)算,應(yīng)采用多個(gè)功能性測試,尤其是邊界值和特殊值測試,
路徑測試——測試覆蓋指標(biāo)DD-路徑的依賴對偶即數(shù)據(jù)流測試;
DD-路徑對偶之間最常見的依賴關(guān)系是定義/引用關(guān)系,變量在一個(gè)DD-路徑中定義(接受值),在另一個(gè)DD-路徑中引用;這種依賴關(guān)系與不可行路徑問題有關(guān);簡單的DD-路徑覆蓋可能不會(huì)遍歷這些依賴關(guān)系。例BBeginCDEFGHJKLMINOEnd執(zhí)行路徑…BDEFH…:是不可行路徑
路徑測試——測試覆蓋指標(biāo)循環(huán)覆蓋串聯(lián)循環(huán)嵌套循環(huán)非結(jié)構(gòu)循環(huán)串聯(lián)循環(huán)嵌套循環(huán)非結(jié)構(gòu)循環(huán)例
路徑測試基本概念DD-路徑測試覆蓋指標(biāo)基路徑測試舉例小結(jié)
路徑測試——基路徑測試覆蓋所有路徑不可能只能從大量可能路徑中選擇一部分作為測試用例基路徑測試基本思想:找出一組獨(dú)立路徑進(jìn)行測試數(shù)學(xué)基礎(chǔ):將程序看作一種向量空間,該空間的基是要測試的非常有意義的元素集合。若基無問題,則用基表述的一切都無問題什么是向量空間?什么是基?路徑測試——基路徑測試點(diǎn)線面基向量空間向量空間的基是相互獨(dú)立的一組向量,基覆蓋整個(gè)向量空間,使得該空間中的任何其他向量都可用基向量表示。一組基向量在一定程度上可表示整個(gè)向量空間的“本質(zhì)”:空間中的一切都可用基表示,如果一個(gè)基元素被刪除,則這種覆蓋特性也會(huì)丟失。向量空間的一組基不是唯一的。
路徑測試——基路徑測試窮舉測試不可能只能從大量可能數(shù)據(jù)中選擇一部分作為測試用例輸入域劃分互不相交的子集子集的并是整個(gè)集合1234選擇代表元素等價(jià)類測試
路徑測試——基路徑測試輸入域劃分互不相交的子集子集的并是整個(gè)集合1234選擇代表元素路徑集合路徑相互獨(dú)立選擇獨(dú)立路徑元素獨(dú)立路徑的并是整個(gè)向量空間
路徑測試——基路徑測試確保程序中每個(gè)可執(zhí)行語句至少執(zhí)行一次所必需的測試用例數(shù)目的下限
路徑測試——基路徑測試基路徑測試的步驟從程序代碼生成程序圖計(jì)算圈復(fù)雜度確定基路徑集合設(shè)計(jì)測試用例第一ACDEFBGJKLMNHIO最后選擇一個(gè)基線路徑,對應(yīng)某個(gè)“正常案例”程序執(zhí)行,使得該路徑具有盡可能多的判斷節(jié)點(diǎn)重新回溯基線路徑,依次“翻轉(zhuǎn)”每個(gè)判斷點(diǎn)不同的人選擇的基路徑可能不會(huì)相同,但這沒有影響,因?yàn)椴灰笪ㄒ换?/p>
基路徑測試——McCabe基路徑方法McCabe的基路徑方法:強(qiáng)連通圖的圈數(shù)量就是圖中線性獨(dú)立環(huán)路的數(shù)量
基路徑測試——McCabe基路徑方法McCabe的基路徑方法ABEDEGC
基路徑P1:A,B,C,GP2:A,B,C,B,C,GP3:A,B,E,F,GP4:A,D,E,F,GP5:A,D,F,G其它路徑P:A,B,C,B,E,F,Gp2+p3-p1P:A,B,C,B,C,B,C,G2p2-p1e=10,n=7,p=1,V(G)=5
基路徑測試——McCabe基路徑方法利用關(guān)聯(lián)矩陣加強(qiáng)理解ABEDEGC所經(jīng)過的路徑/邊12345678910P1:A,B,C,G1001000010P2:A,B,C,B,C,G1012000010P3:A,B,E,F,G1000100101P4:A,D,E,F,G0100010101P5:A,D,F,G0100001001ex1:A,B,C,B,E,F,G1011100101
1
436
5
10798
2
基路徑測試——McCabe方法的討論McCabe的基路徑方法的優(yōu)點(diǎn)保證可經(jīng)過所有決策分支,與DD-路徑覆蓋相同是對現(xiàn)實(shí)世界問題的學(xué)術(shù)性的過分簡化測試基路徑集合是充分的為使程序路徑看起來像向量空間,強(qiáng)制進(jìn)行扭曲但McCabe基不充分路徑加法是一條路徑后接另一條路徑,乘法對應(yīng)于路徑的重復(fù)McCabe的基路徑方法的不足
基路徑測試——McCabe方法的討論McCabe的基路徑方法的討論ABEDEGCP:A,B,C,B,E,F,Gp2+p3-p1P:A,B,C,B,C,B,C,G2p2-p1
基路徑測試——McCabe方法的討論McCabe的基路徑方法的討論確定基路徑集合選擇一個(gè)基線路徑,對應(yīng)某個(gè)“正常案例”程序執(zhí)行,使得該路徑具有盡可能多的判斷節(jié)點(diǎn)重新回溯基線路徑,依次“翻轉(zhuǎn)”每個(gè)判斷點(diǎn)這樣得到的路徑實(shí)際可行嗎?
基路徑測試——McCabe方法的討論基路徑測試的步驟第一ACDEFBGJKLMNHIO最后P1:A,B,C,E,F,H,J,K,M,M,O,最終P2:A,B,D,E,F,H,J,K,M,M,O,最終P3:A,B,C,E,F,G,O,最終P4:A,B,C,E,F,H,I,N,O,最終P5:A,B,C,E,F,H,J,L,M,N,O,最終原始在B處翻轉(zhuǎn)p1在F處翻轉(zhuǎn)p1在H處翻轉(zhuǎn)p1在J處翻轉(zhuǎn)p1不等邊三角形等邊三角形等腰三角形不可行不可行確定基路徑集合非三角形情況沒有基路徑例
基路徑測試——McCabe方法的討論基路徑測試的步驟如果經(jīng)過節(jié)點(diǎn)C,必須經(jīng)過節(jié)點(diǎn)H如果經(jīng)過節(jié)點(diǎn)D,必須經(jīng)過節(jié)點(diǎn)GP1:A,B,C,E,F,H,J,K,M,M,O,最終P6:A,B,D,E,F,G,O,最終P4:A,B,C,E,F,H,I,N,O,最終P5:A,B,C,E,F,H,J,L,M,N,O,最終不等邊三角形非三角形等邊三角形等腰三角形第一ACDEFBGJKLMNHIO最后確定基路徑集合為什么存在不可行路徑?基路徑測試——McCabe方法的討論功能性測試中,輸入數(shù)據(jù)定義域中的依賴關(guān)系給邊界值和等價(jià)類測試帶來問題功能性測試中采用決策表測試方法;結(jié)構(gòu)性測試中,輸入數(shù)據(jù)定義域中的依賴關(guān)系與獨(dú)立基路徑的隱含假設(shè)發(fā)生沖突,導(dǎo)致拓?fù)浣Y(jié)構(gòu)上可行的路徑在邏輯上可能不可行結(jié)構(gòu)性測試中,尋求基路徑時(shí)可通過翻轉(zhuǎn)語義可行路徑的判斷點(diǎn),或找出邏輯依賴性的原因,設(shè)置一定的約束條件;如果基路徑必須可行,則邏輯依賴關(guān)系將壓縮基路徑集合。基路徑測試——基本復(fù)雜度McCabe的圈復(fù)雜度在改進(jìn)程序設(shè)計(jì)方面起到較大作用基本復(fù)雜度的概念基路徑測試——基本復(fù)雜度基本復(fù)雜度BACDEFGHJKLMINOEndBegin是另一種形式壓縮圖的唯一圈復(fù)雜度
DD-路徑圖—程序圖的壓縮
對結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)造的壓縮例1324657891018111314151612171920基路徑測試——基本復(fù)雜度基本復(fù)雜度是另一種形式壓縮圖的唯一圈復(fù)雜度
DD-路徑圖—程序圖的壓縮
對結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)造的壓縮n1n3n2e2e1e3n1n3n2e2e1n1n4n2e2e1e3n3e4n1n5n2e2e1e5n4e6e4n3e3n1n2e2e1e3n3n1n2e2e1e3n3基路徑測試——基本復(fù)雜度對結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)造的壓縮基本思想:尋找結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)造圖,將其壓縮成單一節(jié)點(diǎn),重復(fù)該處理直至不能找出其它結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)造為止?;窂綔y試——基本復(fù)雜度BACDEFGHJKLMINOEndBeginAFGHJKLMINOEndBeginaAFGHbINOEndBeginaFGcOEndBeginaAadOEndBeginAeBegin基路徑測試——基本復(fù)雜度對結(jié)構(gòu)化
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版自卸車租賃協(xié)議書
- Starter Unit 2 What is this in English 話題2 詢問 詢問錄音稿和答案
- 2025年度醫(yī)療健康產(chǎn)業(yè)擔(dān)保合同會(huì)計(jì)操作規(guī)范3篇
- 《禁毒防艾宣傳》課件
- 2024版采礦合同協(xié)議書范本
- 2024某大型購物中心品牌商家入駐合同
- 2024版大型購物中心商鋪?zhàn)赓U合同模板3篇
- 2024版小區(qū)場地租賃合同模板
- 2024版制作合同范本
- 2025年度二零二五年度藝人影視作品投資合作協(xié)議3篇
- 中小學(xué)心理健康教育課程設(shè)計(jì)與實(shí)踐智慧樹知到答案2024年浙江師范大學(xué)
- 五年級上冊小數(shù)乘除豎式計(jì)算題200道及答案
- 2024年東南亞工業(yè)氣瓶市場深度研究及預(yù)測報(bào)告
- 棉花良種選育與遺傳育種
- 城市生命線安全…監(jiān)測預(yù)警指揮平臺建設(shè)方案
- 六年級數(shù)學(xué)《圓柱的體積》教案(一等獎(jiǎng))
- 2024CSCO惡性腫瘤患者營養(yǎng)治療指南解讀
- 常見化學(xué)專業(yè)詞匯英文翻譯
- 內(nèi)科護(hù)理學(xué)智慧樹知到期末考試答案章節(jié)答案2024年荊門職業(yè)學(xué)院
- (高清版)JTGT 5190-2019 農(nóng)村公路養(yǎng)護(hù)技術(shù)規(guī)范
- 基于視覺果蔬識別的稱重系統(tǒng)設(shè)計(jì)
評論
0/150
提交評論