版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件測(cè)試第五章 白盒測(cè)試牛倩黑盒測(cè)試 等價(jià)類劃分 邊界值分析 因果圖 決策表本章要點(diǎn) 白盒測(cè)試的含義 白盒測(cè)試無(wú)法實(shí)現(xiàn)窮舉測(cè)試的原因 白盒測(cè)試的優(yōu)點(diǎn)和局限性 白盒測(cè)試中的靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試 邏輯覆蓋法、基本路徑測(cè)試及控制結(jié)構(gòu)測(cè)試 白盒測(cè)試方法的綜合使用策略什么是白盒測(cè)試?誰(shuí)來(lái)負(fù)責(zé)白盒測(cè)試? 白盒測(cè)試一般由軟件開(kāi)發(fā)人員進(jìn)行 在集成測(cè)試階段,如果需要白盒測(cè)試,則由有經(jīng)驗(yàn)的測(cè)試人員和軟件開(kāi)發(fā)人員共同完成。有了黑盒測(cè)試為什么還要白盒測(cè)試?存泄漏、誤差累計(jì)問(wèn)題。在這方面,黑盒測(cè)試存在嚴(yán)重的不足。白盒測(cè)試的優(yōu)點(diǎn) 與黑盒測(cè)試相比,白盒測(cè)試深入到程序的內(nèi)部進(jìn)行測(cè)試,更易于定位錯(cuò)誤的原因和具體位置,彌補(bǔ)了黑盒測(cè)
2、試只能從程序外部進(jìn)行測(cè)試的不足。白盒測(cè)試的局限性 即使白盒測(cè)試覆蓋了程序中的所有路徑,仍不一定能發(fā)現(xiàn)程序中的全部錯(cuò)誤。這是因?yàn)椋?白盒測(cè)試不能查出程序中的設(shè)計(jì)缺陷。 白盒測(cè)試不能查出程序是否遺漏了功能或路徑。 白盒測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。 白盒測(cè)試的主要目的 保證一個(gè)模塊中的所有獨(dú)立路徑至少被執(zhí)行一次; 對(duì)所有的邏輯值均需要測(cè)試真、假兩個(gè)分支; 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán); 檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。白盒測(cè)試的方法及分類 白盒測(cè)試分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試兩大類。 靜態(tài)測(cè)試:代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、代碼質(zhì)量度量法等。 動(dòng)態(tài)測(cè)試:邏輯覆蓋法、基本路徑測(cè)試法、控制結(jié)構(gòu)
3、測(cè)試、程序插樁等。 靜態(tài)白盒測(cè)試略) 代碼檢查法 代碼檢查包括桌面檢查、代碼審查和走查等。 代碼檢查主要檢查代碼和設(shè)計(jì)的一致性,代碼是否遵循標(biāo)準(zhǔn),代碼的可讀性,代碼的邏輯正確性,代碼結(jié)構(gòu)的合理性等。 代碼檢查應(yīng)在編譯和動(dòng)態(tài)測(cè)試之前進(jìn)行,并且應(yīng)盡早進(jìn)行。靜態(tài)白盒測(cè)試略) 靜態(tài)結(jié)構(gòu)分析法 靜態(tài)結(jié)構(gòu)分析主要是以圖形的方式表現(xiàn)程序的內(nèi)部結(jié)構(gòu),供測(cè)試人員對(duì)程序結(jié)構(gòu)進(jìn)行分析。 在靜態(tài)結(jié)構(gòu)分析中,測(cè)試人員通過(guò)使用測(cè)試工具分析程序源代碼的系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)接口、內(nèi)部控制邏輯等內(nèi)部結(jié)構(gòu),生成函數(shù)調(diào)用關(guān)系圖、模塊控制流圖、內(nèi)部文件調(diào)用關(guān)系圖、子程序表、宏和函數(shù)參數(shù)表等各類圖形圖表,以清晰地表示程序的內(nèi)部結(jié)構(gòu)
4、,供測(cè)試人員對(duì)其進(jìn)行分析,進(jìn)而查找程序中的錯(cuò)誤。靜態(tài)白盒測(cè)試略) 代碼質(zhì)量度量法 根據(jù)ISO/IEC 9126國(guó)際標(biāo)準(zhǔn)的定義,軟件質(zhì)量包括以下 六個(gè)方面: 功能性Functionality) 可靠性Reliability) 可用性 (Usability) 效率 (Efficiency) 可維護(hù)性(Maintainability) 可移植性Portability) 可根據(jù)ISO 9126質(zhì)量模型構(gòu)造軟件的靜態(tài)質(zhì)量度量模 型,通過(guò)量化的數(shù)據(jù)評(píng)估被測(cè)程序的質(zhì)量。邏輯覆蓋法 邏輯覆蓋法Logic-coverage Testing是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)設(shè)計(jì)測(cè)試用例的方法。 根據(jù)對(duì)程序內(nèi)部的邏輯結(jié)構(gòu)
5、的覆蓋程度,邏輯覆蓋法具有不同的覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、斷定條件覆蓋、條件組合覆蓋、修正條件判定覆蓋。例子程序畫(huà)出程序控制流圖):if( (a1) & (b=0) x=x/a; if (a=2) | (x1) x=x+1;程序框圖(A1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdc1.1.語(yǔ)句覆蓋 設(shè)計(jì)若干條測(cè)試用例,使程序中每條可執(zhí)行語(yǔ)句至少執(zhí)行一次。語(yǔ)句覆蓋Case1:A=2, B=0, X=3(A1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdc語(yǔ)句覆蓋Case2:A=2, B=1, X
6、=3(A1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdc此語(yǔ)句未覆蓋此語(yǔ)句未覆蓋語(yǔ)句覆蓋Case1:A=2, B=0, X=3(A1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdc錯(cuò)寫(xiě)成錯(cuò)寫(xiě)成OR錯(cuò)寫(xiě)成錯(cuò)寫(xiě)成AND語(yǔ)句覆蓋是最弱的覆蓋語(yǔ)句覆蓋 2. 2. 判定覆蓋分支覆蓋) 設(shè)計(jì)測(cè)試用例,使程序中的每個(gè)邏輯判斷的取真和取假的分支至少經(jīng)歷一次。第一組:Case1:A=2, B=0, X=3(A1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdc判定覆蓋第一組:Case3:A=1, B
7、=0, X=1(A1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdc判定覆蓋n 判定覆蓋無(wú)法確定判定內(nèi)部條件的錯(cuò)誤。(A1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdc錯(cuò)寫(xiě)成錯(cuò)寫(xiě)成X1) AND (B=0)(A=2) OR (X1)X=X/AX=X+1eFFTTbdc錯(cuò)寫(xiě)成錯(cuò)寫(xiě)成X1 T1 F1 B=0 T2 F2 A=2 T3 F3 X1 T4 F4取真表為取真表為取假表為取假表為n滿足條件覆蓋的一組測(cè)試用例3.3.條件覆蓋條件覆蓋 Case6:A=2, B=1, X=1 Case7:A=1, B=0, X=3(A
8、1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdc 兩個(gè)測(cè)試用例覆蓋了四個(gè)條件八種可能取值。但未覆蓋c、d分支,不滿足判定覆蓋的要求。條件覆蓋4.4.斷定- -條件覆蓋滿足判定-條件覆蓋的一組測(cè)試用例斷定-條件覆蓋(A1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdcCase1:A=2, B=0, X=3斷定-條件覆蓋Case8:A=1, B=1, X=1(A1) AND (B=0)(A=2) OR (X1)aX=X/AX=X+1eFFTTbdc斷定-條件覆蓋5.5.條件組合覆蓋 設(shè)計(jì)用例,使得每個(gè)判斷表達(dá)式中條件的各
9、種可能組合都至少出現(xiàn)一次; 上例中需考慮4個(gè)條件的8種組合 A 1, B = 0 T1 T2 判定一為真 A 1, B0 T1 F2 A1, B = 0 F1 T2 判定一為假 A1, B0 F1 F2 A = 2,X 1 T3 T4 A = 2,X1 T3 F4 判定二為真 A2,X1 F3 T4 A2,X1 F3 F4 判定二為假條件組合覆蓋滿足條件組合覆蓋的一組測(cè)試用例條件組合覆蓋6.6.路徑覆蓋 設(shè)計(jì)足夠多的測(cè)試用例,覆蓋程序中的每條可能路徑。 上述滿足條件組合覆蓋的測(cè)試用例不能覆蓋路徑acd。滿足路徑覆蓋的一組測(cè)試用例路徑覆蓋語(yǔ)句覆蓋語(yǔ)句覆蓋判定覆蓋判定覆蓋條件覆蓋條件覆蓋斷定斷定/
10、條件覆蓋條件覆蓋條件組合覆蓋條件組合覆蓋路徑覆蓋路徑覆蓋習(xí)題 為以下流程圖所示的程序段設(shè)計(jì)一組測(cè)試用例,要求分別滿足語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、斷定/條件覆蓋、組合覆蓋和路徑覆蓋。X8 AND Y5X0 OR Y0Z = 1Z = 2NYNYX16 OR Y10Z =3NY 路徑測(cè)試控制流圖程序環(huán)路復(fù)雜性基路徑測(cè)試循環(huán)測(cè)試控制流圖 控制流圖是退化的程序流程圖,圖中每個(gè)處理都退化成一個(gè)結(jié)點(diǎn),流線變成連接不同結(jié)點(diǎn)的有向弧。 控制流圖將程序流程圖中結(jié)構(gòu)化構(gòu)件改用一般有向圖的形式表示。控制流圖 在控制流圖中用圓“”表示節(jié)點(diǎn),一個(gè)圓代表一條或多條語(yǔ)句。 控制流圖中的基本元素: 節(jié)點(diǎn) 邊基本控制流圖順序
11、結(jié)構(gòu)IF選擇結(jié)構(gòu)While循環(huán)結(jié)構(gòu)Until循環(huán)結(jié)構(gòu)Case多分支結(jié)構(gòu) 復(fù)合邏輯下的控制流圖 a or bx+x-(a)(b)(b)(c)(c)ax+x+x-b 路徑覆蓋的困難 含4個(gè)分支 循環(huán)次數(shù)20 從A到B的可能路徑: 問(wèn)題引入A AB B=5 +5 +.+5 +5=5 +5 +.+5 +5101020201 12 2191914141. 程序環(huán)路復(fù)雜性 程序的環(huán)路復(fù)雜性又叫圈復(fù)雜度: 是一種為程序邏輯復(fù)雜性提供定量測(cè)度的軟件度量,將該度量用于計(jì)算程序的基本的獨(dú)立路徑數(shù)目。 獨(dú)立路徑必須包含一條在定義之前不曾用到的邊。(每一條新的路徑都包含了一條新邊) 程序環(huán)路復(fù)雜性計(jì)算方法三種): V
12、(G)= e - n + 2p e:邊數(shù),n:節(jié)點(diǎn)數(shù),p:連接區(qū)域數(shù) 當(dāng)p=1時(shí),VG)= e - n + 2; V(G)=P+1 P是圖G 中判定節(jié)點(diǎn)的數(shù)量 程序圖中區(qū)域的數(shù)量等于圈復(fù)雜度 對(duì)于強(qiáng)連接圖的圈復(fù)雜度的計(jì)算: V(G)= e - n + p;1. 程序環(huán)路復(fù)雜性 (續(xù))3EDBACFG9187654210例:如下圖所示的程序環(huán)路復(fù)雜性是多少?圖形矩陣?yán)?3542172.基本路徑測(cè)試法2.基本路徑測(cè)試法 基本路徑測(cè)試步驟: 1.導(dǎo)出程序的控制流圖; 2.計(jì)算控制流圖的環(huán)路復(fù)雜度V(G); 3.確定只包含獨(dú)立路徑的基本路徑集; 4.設(shè)計(jì)測(cè)試用例;習(xí)題4 應(yīng)用基本路徑法給出測(cè)試用例。
13、(見(jiàn)kp83)omain()o o char c; int i=0,j=0,k=0; o c=getchar(); o while (c!=#) o o if (c=A&c=a&c=0&c=9) o j+; o else o k+; o c=getchar(); o o printf(i=%d,j=%d,k=%dn,i,j,k);o習(xí)題3 解答3.程序插樁 程序插樁是一種通過(guò)向被測(cè)程序中插入操作來(lái)發(fā)現(xiàn)和定位錯(cuò)誤的方法。在單元測(cè)試中運(yùn)用較多。 在測(cè)試或調(diào)試程序時(shí),常常需要在程序中插入一些打印語(yǔ)句,使其在程序執(zhí)行過(guò)程中能打印出我們關(guān)心的信息,通過(guò)這些信息來(lái)了解程序執(zhí)行過(guò)程中
14、的動(dòng)態(tài)特性,如程序的實(shí)際執(zhí)行路徑、程序中某語(yǔ)句的執(zhí)行次數(shù)、程序中各路徑的被覆蓋程度、程序中某變量在特定時(shí)刻的值等。這些是可以通過(guò)程序插樁來(lái)完成的。 下面以計(jì)算整數(shù)X和整數(shù)Y的最大公約數(shù)的程序?yàn)槔?,?lái)說(shuō)明程序插樁方法的要點(diǎn)。計(jì)算整數(shù)X和整數(shù)Y的最大公約數(shù)的程序流程圖如圖4-9所示。 圖4-9中的虛線框是為了記錄語(yǔ)句的執(zhí)行次數(shù)而插入的,其形式為: C(i) = C(i) +1 i=1,2,6 程序從入口開(kāi)始執(zhí)行到出口結(jié)束執(zhí)行,經(jīng)過(guò)的計(jì)數(shù)語(yǔ)句記錄下該程序點(diǎn)語(yǔ)句的執(zhí)行次數(shù)。若在程序的入口處插入了對(duì)計(jì)數(shù)器C(i)初始化的語(yǔ)句,在程序出口處則插入打印這些計(jì)數(shù)器的語(yǔ)句,則構(gòu)成了一個(gè)完整的插樁程序。開(kāi)場(chǎng)開(kāi)場(chǎng)c(1) = c(1) +1c(2) = c(2) +1為為X、Y賦值賦值C(4) = C(4) +1終了終了C(3) = C(3) +1XYX YC(5) = C(5) +1C(6) = C(6) +1X = X YY=YXFTFT3.程序插樁 設(shè)計(jì)程序插樁方法時(shí)需考慮如下問(wèn)題: 應(yīng)探測(cè)程序中的哪些信息。 在程序的什么位置設(shè)置探測(cè)點(diǎn)。4.3
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)員工培訓(xùn)與技能提升計(jì)劃制度
- 企業(yè)內(nèi)部保密責(zé)任追究制度
- 2026福建省面向西南財(cái)經(jīng)選調(diào)生選拔工作備考題庫(kù)附答案
- 2026紅河州公安局邊境管理支隊(duì)公開(kāi)招聘邊境管控專職輔警(15人)參考題庫(kù)附答案
- 2026貴州博通橡塑制品有限公司招聘6人備考題庫(kù)附答案
- 2026遼寧鞍山市鐵東區(qū)事業(yè)單位面向應(yīng)屆畢業(yè)生招聘高層次急需緊缺人才16人參考題庫(kù)附答案
- 2026重慶飛駛特人力資源管理有限公司外派至招商局檢測(cè)車輛技術(shù)研究院有限公司招聘參考題庫(kù)附答案
- 2026陜西西安長(zhǎng)安大學(xué)工程設(shè)計(jì)研究院有限公司招聘參考題庫(kù)附答案
- 226湖南郴州市宜章縣婦幼保健院招募見(jiàn)習(xí)生2人參考題庫(kù)附答案
- 四川藏區(qū)高速公路集團(tuán)有限責(zé)任公司2026年校園招聘考試備考題庫(kù)附答案
- 2023年版測(cè)量結(jié)果的計(jì)量溯源性要求
- 建筑能耗與碳排放研究報(bào)告
- GB 29415-2013耐火電纜槽盒
- 中國(guó)古代經(jīng)濟(jì)試題
- 真空采血管的分類及應(yīng)用及采血順序課件
- 軟件定義汽車:產(chǎn)業(yè)生態(tài)創(chuàng)新白皮書(shū)
- 安裝工程實(shí)體質(zhì)量情況評(píng)價(jià)表
- 動(dòng)力觸探試驗(yàn)課件
- 城市軌道交通安全管理課件(完整版)
- 八大浪費(fèi)培訓(xùn)(整理)
- 幼兒園機(jī)器人課件.ppt
評(píng)論
0/150
提交評(píng)論