資源描述:
《白盒測(cè)試方法2-基本路徑法.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、軟件測(cè)試第4章白盒測(cè)試方法——基本路徑法目錄基本路徑法的思想1控制流圖2環(huán)形復(fù)雜度(環(huán)路復(fù)雜性)3獨(dú)立路徑4基本路徑測(cè)試步驟5實(shí)例應(yīng)用6課堂測(cè)試寫(xiě)出邏輯覆蓋測(cè)試包含的六種基本類型,并寫(xiě)出它們的基本測(cè)試要求。例:1、語(yǔ)句覆蓋:使程序中的***語(yǔ)句至少測(cè)試一次。B.基本路徑測(cè)試本次課將會(huì)接觸到的新知識(shí):控制流圖環(huán)形復(fù)雜度獨(dú)立路徑基本路徑測(cè)試路徑測(cè)試就是從一個(gè)程序的入口開(kāi)始,執(zhí)行所經(jīng)歷的各個(gè)語(yǔ)句的完整過(guò)程。從廣義的角度講,任何有關(guān)路徑分析的測(cè)試都可以被稱為路徑測(cè)試。完成路徑測(cè)試的理想情況是做到路徑覆蓋,但對(duì)于復(fù)雜性大的程序要做到所有路徑覆蓋是不可能的。基本路徑測(cè)
2、試在不能做到所有路徑覆蓋的前提下,如果某一程序的每一個(gè)獨(dú)立路徑都被測(cè)試過(guò),那么可以認(rèn)為程序中的每個(gè)語(yǔ)句都已經(jīng)檢驗(yàn)過(guò)了,即達(dá)到了語(yǔ)句覆蓋。這種測(cè)試方法就是通常所說(shuō)的基本路徑測(cè)試法?;韭窂綔y(cè)試基本路徑測(cè)試方法是在控制流圖的基礎(chǔ)上,通過(guò)分析控制結(jié)構(gòu)的環(huán)形復(fù)雜度,導(dǎo)出執(zhí)行路徑的基本集,再?gòu)脑摶炯O(shè)計(jì)測(cè)試用例?;韭窂綔y(cè)試方法包括4個(gè)步驟:基本路徑測(cè)試(1)畫(huà)出程序的控制流圖。(2)計(jì)算程序的環(huán)形復(fù)雜度,導(dǎo)出程序基本路徑集中的獨(dú)立路徑條數(shù),這是確定程序中每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次所必須的測(cè)試用例數(shù)目的上界。基本路徑測(cè)試(3)導(dǎo)出基本路徑集,確定程序的獨(dú)立路徑。(
3、4)根據(jù)(3)中的獨(dú)立路徑,設(shè)計(jì)測(cè)試用例的輸入數(shù)據(jù)和預(yù)期輸出??刂屏鲌D程序流程圖又稱框圖,是我們最熟悉,也是最容易理解的一種程序控制結(jié)構(gòu)的圖形表示了。在這種圖上的框里面常常標(biāo)明了處理要求或者條件,但是,這些標(biāo)注在做路徑分析時(shí)是不重要的。為了更加突出控制流的結(jié)構(gòu),需要對(duì)程序流程圖做一些簡(jiǎn)化。在控制流圖中只有兩種圖形符號(hào),它們是:節(jié)點(diǎn):以標(biāo)有編號(hào)的圓圈表示??刂屏骶€或?。阂约^表示。1.程序的控制流圖節(jié)點(diǎn)1、標(biāo)有編號(hào)的圓圈2、程序流程圖中矩形框所表示的處理3、菱形表示的兩個(gè)甚至多個(gè)出口判斷4、多條流線相交的匯合點(diǎn)1.程序的控制流圖1.程序的控制流圖控制流線或弧
4、1、箭頭2、與程序流程圖中的流線一致,表明了控制的順序3、控制流線通常標(biāo)有名字1.程序的控制流圖1.程序的控制流圖在選擇或多分支結(jié)構(gòu)中,分支的匯聚處應(yīng)有一個(gè)匯聚節(jié)點(diǎn)。邊和結(jié)點(diǎn)圈定的區(qū)域叫做區(qū)域,當(dāng)對(duì)區(qū)域計(jì)數(shù)時(shí),圖形外的區(qū)域也應(yīng)記為一個(gè)區(qū)域。1.程序的控制流圖1.程序的控制流圖區(qū)域1.程序的控制流圖復(fù)合條件的控制流圖如果判斷中的條件表達(dá)式是由一個(gè)或多個(gè)邏輯運(yùn)算符(OR,AND,...)連接的復(fù)合條件表達(dá)式,則需改為一系列只有單個(gè)條件的嵌套的判斷。1.程序的控制流圖1.程序的控制流圖2.程序環(huán)路復(fù)雜性環(huán)路復(fù)雜性即McCabe復(fù)雜性度量,在進(jìn)行程序的基本路徑測(cè)試
5、時(shí),從程序的環(huán)路復(fù)雜性可導(dǎo)出程序基本路徑集合中的獨(dú)立路徑條數(shù)。程序的環(huán)路復(fù)雜性給出了程序基本路徑集中的獨(dú)立路徑條數(shù),這是確保程序中每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次所必需的測(cè)試用例數(shù)目的上界。2.程序環(huán)路復(fù)雜性獨(dú)立路徑:指包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑。從控制流圖來(lái)看,一條獨(dú)立路徑是至少包含有一條在其它獨(dú)立路徑中從未有過(guò)的邊的路徑。一條路徑這里指一條“程序通路”。思考:根據(jù)獨(dú)立路徑的定義,在圖示的控制流圖中,有哪些獨(dú)立的路徑?2.程序環(huán)路復(fù)雜性2.程序環(huán)路復(fù)雜性path1:1-11path2:1-2-3-4-5-10-1-11path3:1-2-3-6
6、-8-9-10-1-11path4:1-2-3-6-7-9-10-1-11路徑path1,path2,path3,path4組成了控制流圖的一個(gè)基本路徑集。2.程序環(huán)路復(fù)雜性程序環(huán)路復(fù)雜性計(jì)算方法(三種):(1)流圖中區(qū)域的數(shù)量對(duì)應(yīng)于環(huán)形復(fù)雜度(2)給定流圖G的環(huán)形復(fù)雜度V(G),定義為V(G)=E-N+2,E是流圖中邊的數(shù)量,N是流圖中節(jié)點(diǎn)的數(shù)量。(3)V(G)=P+1,P是流圖G中的判定節(jié)點(diǎn)數(shù)。2.程序環(huán)路復(fù)雜性圖中的圈復(fù)雜度,計(jì)算如下:流圖中有四個(gè)區(qū)域;V(G)=10條邊-8結(jié)點(diǎn)+2=4;V(G)=3個(gè)判定結(jié)點(diǎn)+1=4。3.導(dǎo)出測(cè)試用例導(dǎo)出測(cè)試用例,
7、確?;韭窂郊械拿恳粭l路徑的執(zhí)行。根據(jù)判斷結(jié)點(diǎn)給出的條件,選擇適當(dāng)?shù)臄?shù)據(jù)以保證某一條路徑可以被測(cè)試到—用邏輯覆蓋方法。3.導(dǎo)出測(cè)試用例每個(gè)測(cè)試用例執(zhí)行之后,與預(yù)期結(jié)果進(jìn)行比較。如果所有測(cè)試用例都執(zhí)行完畢,則可以確信程序中所有的可執(zhí)行語(yǔ)句至少被執(zhí)行了一次。必須注意,一些獨(dú)立的路徑,往往不是完全孤立的,有時(shí)它是程序正常的控制流的一部分,這時(shí),這些路徑的測(cè)試可以是另一條路徑測(cè)試的一部分?;韭窂綔y(cè)試基本路徑測(cè)試法的步驟:(1)以詳細(xì)或源代碼作為基礎(chǔ),導(dǎo)出程序的控制流圖。(2)計(jì)算得到控制流圖G的環(huán)路復(fù)雜度V(G)(3)確定基本路徑集,生成測(cè)試用例,確保基本路徑
8、集中每條路徑的執(zhí)行。程序段的流圖計(jì)算其環(huán)形復(fù)雜度環(huán)形復(fù)雜度為:V(