第06課 白盒測(cè)試1_第1頁(yè)
第06課 白盒測(cè)試1_第2頁(yè)
第06課 白盒測(cè)試1_第3頁(yè)
第06課 白盒測(cè)試1_第4頁(yè)
第06課 白盒測(cè)試1_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、龔宇輝電信學(xué)院電信學(xué)院n3.1 控制流測(cè)試控制流測(cè)試n3.2 數(shù)據(jù)流測(cè)試數(shù)據(jù)流測(cè)試n3.3 程序插裝程序插裝n3.4 程序變異測(cè)試程序變異測(cè)試n3.5 白盒測(cè)試工具白盒測(cè)試工具n3.6 軟件缺陷分析軟件缺陷分析n白盒測(cè)試是按照程序內(nèi)部的結(jié)白盒測(cè)試是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正條通路是否都能按預(yù)定要求正確工作,而不顧它的功能。確工作,而不顧它的功能。n白盒測(cè)試要求對(duì)被測(cè)程序的結(jié)白盒測(cè)試要求對(duì)被測(cè)程序的結(jié)構(gòu)特性做到一定程度的覆蓋,構(gòu)特性做到一定程度的覆蓋,并以軟件中的某類(lèi)成分是否都并以軟件中的某類(lèi)成分是否都已經(jīng)得到測(cè)試為準(zhǔn)則來(lái)判斷軟

2、已經(jīng)得到測(cè)試為準(zhǔn)則來(lái)判斷軟件測(cè)試的充分性,也稱(chēng)為基于件測(cè)試的充分性,也稱(chēng)為基于覆蓋的測(cè)試技術(shù)。覆蓋的測(cè)試技術(shù)。結(jié)構(gòu)測(cè)試結(jié)構(gòu)測(cè)試邏輯驅(qū)動(dòng)測(cè)試邏輯驅(qū)動(dòng)測(cè)試 n白盒測(cè)試要求測(cè)試人員對(duì)程序的結(jié)構(gòu)和處理過(guò)程有完白盒測(cè)試要求測(cè)試人員對(duì)程序的結(jié)構(gòu)和處理過(guò)程有完全的了解,一般由開(kāi)發(fā)工程師負(fù)責(zé)實(shí)施。全的了解,一般由開(kāi)發(fā)工程師負(fù)責(zé)實(shí)施。n白盒測(cè)試主要對(duì)程序模塊進(jìn)行以下檢查:白盒測(cè)試主要對(duì)程序模塊進(jìn)行以下檢查:n對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少要測(cè)試一次。對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少要測(cè)試一次。n對(duì)所有的邏輯判定,取真或假的兩種情況至少要測(cè)試一次。對(duì)所有的邏輯判定,取真或假的兩種情況至少要測(cè)試一次。n對(duì)程序

3、進(jìn)行邊界檢查(常見(jiàn)的如數(shù)據(jù)越界檢驗(yàn))。對(duì)程序進(jìn)行邊界檢查(常見(jiàn)的如數(shù)據(jù)越界檢驗(yàn))。n檢驗(yàn)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。檢驗(yàn)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。n控制流測(cè)試控制流測(cè)試n一個(gè)軟件程序的結(jié)構(gòu)可以用控制流圖來(lái)描述,程序的運(yùn)一個(gè)軟件程序的結(jié)構(gòu)可以用控制流圖來(lái)描述,程序的運(yùn)行過(guò)程也可以用控制流圖中的路徑來(lái)刻畫(huà)。行過(guò)程也可以用控制流圖中的路徑來(lái)刻畫(huà)。n為了突出程序的內(nèi)部結(jié)構(gòu),可以對(duì)程序流程圖進(jìn)行簡(jiǎn)化,生成為了突出程序的內(nèi)部結(jié)構(gòu),可以對(duì)程序流程圖進(jìn)行簡(jiǎn)化,生成由節(jié)點(diǎn)和控制邊組成的控制流圖。由節(jié)點(diǎn)和控制邊組成的控制流圖。節(jié)點(diǎn)節(jié)點(diǎn)邊邊區(qū)域區(qū)域n白盒測(cè)試白盒測(cè)試控制流測(cè)試使用的方法:控制流測(cè)試使用的方法:n語(yǔ)句覆蓋:每條

4、語(yǔ)句至少執(zhí)行一次語(yǔ)句覆蓋:每條語(yǔ)句至少執(zhí)行一次n判定覆蓋:每個(gè)判定的每個(gè)分支至少執(zhí)行一次判定覆蓋:每個(gè)判定的每個(gè)分支至少執(zhí)行一次n條件覆蓋:每個(gè)判定的每個(gè)條件應(yīng)取到各種可能的值條件覆蓋:每個(gè)判定的每個(gè)條件應(yīng)取到各種可能的值n判定判定-條件覆蓋:同時(shí)滿(mǎn)足判定覆蓋和條件覆蓋條件覆蓋:同時(shí)滿(mǎn)足判定覆蓋和條件覆蓋n條件組合覆蓋:每個(gè)判定中各條件的每一種組合至少出條件組合覆蓋:每個(gè)判定中各條件的每一種組合至少出現(xiàn)一次現(xiàn)一次n路徑覆蓋:使程序中每一條可能的路徑至少執(zhí)行一次路徑覆蓋:使程序中每一條可能的路徑至少執(zhí)行一次n基本路徑測(cè)試:基本路徑測(cè)試:n在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性導(dǎo)出在

5、程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。發(fā)現(xiàn)錯(cuò)誤能力由弱到強(qiáng)發(fā)現(xiàn)錯(cuò)誤能力由弱到強(qiáng)n使用控制流測(cè)試方法測(cè)使用控制流測(cè)試方法測(cè)試以下程序段:試以下程序段:n說(shuō)明:程序段中每行開(kāi)頭的說(shuō)明:程序段中每行開(kāi)頭的數(shù)字(數(shù)字(18)是對(duì)每條語(yǔ)句)是對(duì)每條語(yǔ)句的編號(hào)。的編號(hào)。n(1) 畫(huà)出程序的流程圖(用畫(huà)出程序的流程圖(用題中給出的語(yǔ)句編號(hào)表示)。題中給出的語(yǔ)句編號(hào)表示)。n(2) 分別以語(yǔ)句覆蓋、判定分別以語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定覆蓋、條件覆蓋、判定/條條件覆蓋、條件組合覆蓋和路件覆蓋、條件組合

6、覆蓋和路徑覆蓋方法設(shè)計(jì)測(cè)試用例,徑覆蓋方法設(shè)計(jì)測(cè)試用例,并寫(xiě)出每個(gè)測(cè)試用例的執(zhí)行并寫(xiě)出每個(gè)測(cè)試用例的執(zhí)行路徑(用題中給出的語(yǔ)句編路徑(用題中給出的語(yǔ)句編號(hào)表示)。號(hào)表示)。 void Do (int X,int A,int B) 1 if ( (A0) & (B2) )2 X=X+A;3 else4 5 if ( (A=0) | (X0 and B2A=0 or X0, B0, B2: T1, T2n A0, B2: T1, T2 A0, B2: T1, T2 n A=0, X1: T3, T4 A=0, X1: T3, T4 n A0, X 0)5 6 if (itype=0)7 b

7、reak;8 else9 if (itype=1)10 x=x+10;11 else12 y=y+20;13 14 n1.1.依據(jù)程序內(nèi)部邏輯畫(huà)出相應(yīng)的流圖依據(jù)程序內(nèi)部邏輯畫(huà)出相應(yīng)的流圖R1R2R3R4476149101213n2.2.計(jì)算流圖的環(huán)路復(fù)雜度(計(jì)算流圖的環(huán)路復(fù)雜度(McCabe定義的程序復(fù)雜性定義的程序復(fù)雜性度量值)度量值)n計(jì)算環(huán)路復(fù)雜度的三種方法計(jì)算環(huán)路復(fù)雜度的三種方法n環(huán)路復(fù)雜度環(huán)路復(fù)雜度=邊數(shù)邊數(shù)-節(jié)點(diǎn)數(shù)節(jié)點(diǎn)數(shù)+2=10-8+2=4n環(huán)路復(fù)雜度環(huán)路復(fù)雜度=判斷節(jié)點(diǎn)數(shù)判斷節(jié)點(diǎn)數(shù)+1=3+1=4n環(huán)路復(fù)雜度環(huán)路復(fù)雜度=區(qū)域的數(shù)目區(qū)域的數(shù)目=4n可以計(jì)算上圖所示流圖的環(huán)路復(fù)雜度

8、為可以計(jì)算上圖所示流圖的環(huán)路復(fù)雜度為4 4n3.3.確定獨(dú)立路徑組成的基本路徑集合確定獨(dú)立路徑組成的基本路徑集合n程序的環(huán)路復(fù)雜度程序的環(huán)路復(fù)雜度 = = 程序中獨(dú)立路徑的數(shù)量程序中獨(dú)立路徑的數(shù)量n路徑路徑1 1: 4 414 14 n路徑路徑2 2: 4671446714n路徑路徑3 3: 46910134144691013414n路徑路徑4 4: 46912134144691213414n4.4.設(shè)計(jì)出可強(qiáng)制執(zhí)行基本集合中每條路徑的測(cè)試用例設(shè)計(jì)出可強(qiáng)制執(zhí)行基本集合中每條路徑的測(cè)試用例輸輸 入入 數(shù)數(shù) 據(jù)據(jù)預(yù)預(yù) 期期 輸輸 出出測(cè)試用例測(cè)試用例1 1irecordnum=0itype=0 x

9、=0y=0測(cè)試用例測(cè)試用例2 2irecordnum=1itype=0 x=0y=0測(cè)試用例測(cè)試用例3 3irecordnum=1itype=1x=10y=0測(cè)試用例測(cè)試用例4 4irecordnum=1itype=2x=0y=20n白盒測(cè)試是按照程序內(nèi)部的結(jié)白盒測(cè)試是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正條通路是否都能按預(yù)定要求正確工作,而不顧它的功能。確工作,而不顧它的功能。n白盒測(cè)試要求對(duì)被測(cè)程序的結(jié)白盒測(cè)試要求對(duì)被測(cè)程序的結(jié)構(gòu)特性做到一定程度的覆蓋,構(gòu)特性做到一定程度的覆蓋,并以軟件中的某類(lèi)成分是否都并以軟件中的某類(lèi)成分是否都已經(jīng)

10、得到測(cè)試為準(zhǔn)則來(lái)判斷軟已經(jīng)得到測(cè)試為準(zhǔn)則來(lái)判斷軟件測(cè)試的充分性,也稱(chēng)為基于件測(cè)試的充分性,也稱(chēng)為基于覆蓋的測(cè)試技術(shù)。覆蓋的測(cè)試技術(shù)。結(jié)構(gòu)測(cè)試結(jié)構(gòu)測(cè)試邏輯驅(qū)動(dòng)測(cè)試邏輯驅(qū)動(dòng)測(cè)試 條件組合覆蓋準(zhǔn)條件組合覆蓋準(zhǔn)則則判定判定- -條件覆蓋準(zhǔn)條件覆蓋準(zhǔn)則則判 定 覆 蓋 準(zhǔn)判 定 覆 蓋 準(zhǔn)則則條件覆蓋準(zhǔn)則條件覆蓋準(zhǔn)則語(yǔ)句覆蓋準(zhǔn)則語(yǔ)句覆蓋準(zhǔn)則路徑覆蓋準(zhǔn)則路徑覆蓋準(zhǔn)則n控制流測(cè)試中,部分覆蓋準(zhǔn)則間的關(guān)系如下:控制流測(cè)試中,部分覆蓋準(zhǔn)則間的關(guān)系如下:對(duì)一般程序測(cè)試,要達(dá)到對(duì)一般程序測(cè)試,要達(dá)到100%的路徑覆的路徑覆蓋幾乎是不可能的。所以可以使用基本路蓋幾乎是不可能的。所以可以使用基本路徑測(cè)試。徑測(cè)試?;韭窂綔y(cè)試用例的設(shè)計(jì)方法步驟:基本路徑測(cè)試用例的設(shè)計(jì)方法步驟:1. 1. 依據(jù)程序內(nèi)部邏輯畫(huà)出相應(yīng)的流圖依據(jù)程序內(nèi)部邏輯畫(huà)出相應(yīng)的流圖2. 2. 計(jì)算流圖的環(huán)路復(fù)雜度計(jì)算流圖的環(huán)路復(fù)雜度3. 3. 確定獨(dú)立路徑組成的基本路徑集合確定

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論