白盒測(cè)試技術(shù)_第1頁(yè)
白盒測(cè)試技術(shù)_第2頁(yè)
白盒測(cè)試技術(shù)_第3頁(yè)
白盒測(cè)試技術(shù)_第4頁(yè)
白盒測(cè)試技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(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)介

南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 白盒測(cè)試技術(shù) 廣州南天電腦系統(tǒng)有限公司 質(zhì)量中心 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 目錄 白盒 測(cè)試概 述 1 白盒 測(cè)試 基本技 術(shù) 2 白盒 測(cè)試 方法 3 白盒 測(cè)試 基本 概 念 法和 語(yǔ) 法分析技 術(shù) 態(tài)錯(cuò)誤 分析技 術(shù) 序 插樁 技 術(shù) 碼檢查 法 態(tài)結(jié)構(gòu) 分析法 態(tài)質(zhì) 量度量法 輯 覆蓋法 本路 徑 覆蓋法 他方法 天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 為什么要進(jìn)行白盒測(cè)試 從清洗面包機(jī)講起 現(xiàn)在假定這個(gè)面包機(jī)多年未用,內(nèi)部都生銹了,現(xiàn)在要清洗它,類(lèi)似于我們開(kāi)發(fā)的軟件,軟件有 得通過(guò)測(cè)試來(lái)清理。 有兩種洗法,一是拿水從上往下灌,這是系統(tǒng)測(cè)試的方法。另一種是拆開(kāi)來(lái)洗,拆開(kāi)機(jī)器后,拿抺布沾點(diǎn)清潔劑,把各零件的坑坑槽槽擦洗一遍,然后組裝回來(lái),再用水從上往下沖一遍,拆開(kāi)來(lái)洗是白盒方法,組裝回來(lái)用水沖是黑盒方式,相當(dāng)于白盒測(cè)試之后再追加一次系統(tǒng)測(cè)試。 所以,軟件的白盒測(cè)試不可或缺,因?yàn)檫z留 像面包機(jī)沒(méi)洗凈留鐵銹會(huì)致癌,還因?yàn)檐浖到y(tǒng)遠(yuǎn)比面包機(jī)復(fù)雜,不拆開(kāi)來(lái)怎么能洗干凈! 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 第一章 白盒測(cè)試的基本概念 白盒測(cè)試又稱(chēng)結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。盒子指的是被測(cè)試的軟件,白盒指的是盒子是可視的 ,你清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。白盒測(cè)試是被測(cè)代碼可見(jiàn)的測(cè)試 。與黑盒測(cè)試的概念是相反的。 50*(1+(1+360盒測(cè)試 帶上 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 第一章 白盒測(cè)試的基本概念 白盒測(cè)試的原則: 1)保證模塊中每一個(gè)獨(dú)立的路徑至少執(zhí)行一次。 2)保證所有判斷的每一個(gè)分支至少執(zhí)行一次。 3)保證每一個(gè)循環(huán)都在邊界條件和一般條件下至少執(zhí)行一次。 4)驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 第一章 白盒測(cè)試的基本概念 黑 盒 測(cè) 試 盒 測(cè) 試 黑盒測(cè)試 白盒測(cè)試 不涉及程序結(jié)構(gòu) 考查程序邏輯結(jié)構(gòu) 用軟件規(guī)格說(shuō)明設(shè)計(jì)測(cè)試用例 用程序結(jié)構(gòu)信息生成測(cè)試用例 確認(rèn)測(cè)試和系統(tǒng)測(cè)試 單元測(cè)試和集成測(cè)試 某些代碼得不到測(cè)試 對(duì)所有邏輯路徑進(jìn)行測(cè)試 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 第二章 白盒測(cè)試基本技術(shù) 詞法與語(yǔ)法分析 靜態(tài)錯(cuò)誤分析 程序插樁技術(shù) 白盒測(cè)試的幾種基本技術(shù) 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 一、詞法與語(yǔ)法分析 通過(guò)詞法與語(yǔ)法分析可以獲取軟件組成的重要基本因數(shù),包括變量標(biāo)識(shí)符、過(guò)程標(biāo)識(shí)符、常量等。 1) 標(biāo)號(hào)交叉引用表 :列出各模塊中出現(xiàn)的全部標(biāo)號(hào)及標(biāo)號(hào)的屬性,模塊以外的全局、計(jì)算標(biāo)號(hào)。 2) 變量交叉引用表 :列出變量定義及引用信息,變量的屬性,變量類(lèi)型(全局、局部) 3) 子程序、宏和函數(shù)表 :列出各個(gè)子程序、宏及函數(shù)的屬性,輸入、輸出參數(shù)信息。 4) 等價(jià)表 :列出在等價(jià)語(yǔ)句和等值語(yǔ)句中出現(xiàn)的全部變量和標(biāo)號(hào)。 5) 常數(shù)表 :列出全部數(shù)字常數(shù)和字符常數(shù) 。 使用這些引用表可以直接查出說(shuō)明或使用錯(cuò)誤、為用戶(hù)提高輔助信息和做錯(cuò)誤預(yù)測(cè)、程序復(fù)雜度計(jì)算。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 例子 根據(jù)流程圖來(lái)導(dǎo)出其定義和引用的變量,導(dǎo)出變量交叉引用表來(lái)查看程序中存在的問(wèn)題: 1 2 3 4 5 6 7 8 9 10 11 節(jié)點(diǎn) 被定義變量 被引用變量 1 X,Y,Z 2 X W,X 3 X,Y 4 Y,Z 5 Y V,Y 6 Z V,Z 7 V X 8 W Y 9 Z V 10 Z Z 11 Z 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 例子(答案) 從定義和引用表來(lái)看,該程序有兩個(gè)錯(cuò)誤: 1)語(yǔ)句 2使用了變量 W,而在此之前并未對(duì)其定義。 2)語(yǔ)句 5、 6使用變量 V,這在第一次執(zhí)行循環(huán)時(shí)也未對(duì)其定義過(guò)。 此外,該程序還包括一個(gè)異常: 3)語(yǔ)句 8對(duì) 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 表格作用 利用以上表格可以直接找出以下問(wèn)題: 引用未定義的變量(錯(cuò)誤) 未曾使用的定義(錯(cuò)誤) 常數(shù)傳播(可優(yōu)化) 循環(huán)內(nèi)的不變定義(可優(yōu)化) 用錯(cuò)的局部變量和全局變量(錯(cuò)誤) 不匹配的參數(shù)(錯(cuò)誤) 不允許的遞歸(錯(cuò)誤) 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 二、靜態(tài)錯(cuò)誤分析 類(lèi)型和單位分析 引用分析 表達(dá)式分析 對(duì)源程序的類(lèi)型進(jìn)行檢查,為了強(qiáng)化檢查效果, 擴(kuò)充一些新的數(shù)據(jù)類(lèi)型,進(jìn)行靜態(tài)預(yù)處理程序, 分析程序中的類(lèi)型錯(cuò)誤。 對(duì)程序中變量的引用進(jìn)行檢查,發(fā)現(xiàn)引用異常錯(cuò)誤 (如變量在定義前被引用,變量定義后未被引用)。 采用深度優(yōu)選的方法遍歷程序流圖的每一條路徑。 建立引用異常的探測(cè)工具,包括變量定義表和變量引用表。 對(duì)表達(dá)式進(jìn)行分析,以發(fā)現(xiàn)和糾正在表達(dá)式出現(xiàn)的錯(cuò)誤,如: 在表達(dá)式中不正確的使用了括號(hào)造成錯(cuò)誤;數(shù)組下標(biāo)越界錯(cuò)誤 ;除數(shù)為零;浮點(diǎn)數(shù)計(jì)算的誤差(最復(fù)雜)。 接口分析 各模塊之間接口一致性。 模塊與外部數(shù)據(jù)庫(kù)的接口一致性。 形參與實(shí)參在類(lèi)型,數(shù)量,順序,維數(shù),使用上的一致性。 全局變量和公共數(shù)據(jù)區(qū)在使用上的一致性。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 三、程序插樁技術(shù) 設(shè)計(jì)時(shí)考慮的問(wèn)題如下: 明確要探測(cè)哪些信息; 在程序的什么部位設(shè)置探測(cè)點(diǎn); 需要設(shè)計(jì)多少個(gè)探測(cè)點(diǎn)。 探測(cè)點(diǎn)設(shè)置位置(以 程序塊的第一個(gè)可執(zhí)行語(yǔ)句之前; 有標(biāo)號(hào)的可執(zhí)行語(yǔ)句處; 循環(huán)、條件、 go 向程序中插入斷言語(yǔ)句來(lái)測(cè)試: 當(dāng)斷言語(yǔ)句成立時(shí),程序可以繼續(xù)往下執(zhí)行,否則將終止該程序。 在動(dòng)態(tài)測(cè)試中,是一種基本的測(cè)試手段,有廣泛的應(yīng)用。主要借助向程序中插入操作,來(lái)實(shí)現(xiàn)測(cè)試目的的方法(即向源程序中添加一些語(yǔ)句(也稱(chēng)探測(cè)器),實(shí)現(xiàn)對(duì)程序語(yǔ)句的執(zhí)行、變量的變化等情況進(jìn)行檢查)。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 斷言語(yǔ)句 在程序中特定部位插入某些用以判斷變量特性的語(yǔ)句,使得程序執(zhí)行中這些語(yǔ)句得以證實(shí),從而使程序的運(yùn)行特性得到證實(shí)。我們把插入的這些語(yǔ)句稱(chēng)為斷言。這一做法是程序正確性證明的基本步驟,盡管算不上嚴(yán)格的證明,但方法本身仍然是很實(shí)用的。 在什么情況下該插入斷言語(yǔ)句: 1)程序的入口處需要插入斷言語(yǔ)句; 2)在判定語(yǔ)句的前后需要插入斷言語(yǔ)句; 3)可以判斷出變量確切值時(shí),可以插入斷言語(yǔ)句來(lái)斷言變量的值。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 斷言語(yǔ)句實(shí)例分析 源代碼如下: 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 斷言語(yǔ)句實(shí)例分析 使用 ; 0 , 20); 0 , *斷言預(yù)期結(jié)果為 70*/ ; 0 , 20); 0 , *斷言預(yù)期結(jié)果為 30*/ 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 包括桌面檢查、代碼審查和走查等 通過(guò)測(cè)試工具分析源程序的各種內(nèi)部結(jié)構(gòu) 用質(zhì)量度量模型來(lái)評(píng)估軟件的每個(gè)方面 通過(guò)對(duì)程序邏輯結(jié)構(gòu)的遍歷實(shí)現(xiàn)程序的覆蓋 分析控制流圖環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑的集合 代碼檢查法 靜態(tài)結(jié)構(gòu)分析法 靜態(tài)質(zhì)量度量法 邏輯覆蓋法 基本路徑測(cè)試法 第三章 白盒測(cè)試方法 白盒測(cè)試的幾種測(cè)試方法 其他方法 包括域測(cè)試、符號(hào)測(cè)試、 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 一、代碼檢查法 目的: 排除違背程序編寫(xiě)標(biāo)準(zhǔn)的問(wèn)題 排除違背程序編程風(fēng)格的問(wèn)題 找出程序中不可移植的部分 發(fā)現(xiàn)程序中不安全、不明確和模糊的部分 確保代碼和設(shè)計(jì)的一致性 確保代碼的邏輯表達(dá)的正確性 確保代碼結(jié)構(gòu)的合理性 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 一、代碼檢查法 由程序員檢查自己的程序 程序編譯通過(guò)后,對(duì)源程序代碼進(jìn)行分析、檢驗(yàn),并補(bǔ)充相關(guān)的文檔,為了發(fā)現(xiàn)程序中的錯(cuò)誤。 由審查小組靜態(tài)分析程序 以審查會(huì)議的形式審查設(shè)計(jì)規(guī)格說(shuō)明書(shū)、控制流程圖、程序文本、有關(guān)要求和規(guī)范是否存在錯(cuò)誤。 由走查小組將程序沿邏輯運(yùn)行一遍 以會(huì)議的形式借助測(cè)試用例讓程序沿邏輯運(yùn)行一遍,記錄程序的蹤跡,對(duì)程序的邏輯和功能提出的問(wèn)題展開(kāi)討論,為了能發(fā)現(xiàn)更多問(wèn)題。 代碼審查 走查 桌面檢查 代碼檢查方式 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 幾種檢查方式比較 方式名稱(chēng) 執(zhí)行人員 檢查內(nèi)容、過(guò)程 桌面檢查 程序員 對(duì)源代碼進(jìn)行分析、檢驗(yàn),并補(bǔ)充相關(guān)的文檔,發(fā)現(xiàn)程序中的錯(cuò)誤。 代碼審查 程序員和測(cè)試員組成審查小組 通過(guò)閱讀、討論和爭(zhēng)議,以程序進(jìn)行靜態(tài)分析的過(guò)程。 走查 程序員和測(cè)試員組成審查小組 通過(guò)邏輯運(yùn)行程序,發(fā)現(xiàn)問(wèn)題。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 代碼檢查項(xiàng)目 檢查變量的交叉引用表。 檢查標(biāo)號(hào)的交叉引用表。 檢查子程序、宏、函數(shù)。 等價(jià)性檢查。 標(biāo)準(zhǔn)檢查。 風(fēng)格檢查。 比較控制流。 選擇、激活路徑。 對(duì)照程序的規(guī)格說(shuō)明和源代碼。 補(bǔ)充文檔。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 代碼檢查重點(diǎn)和規(guī)則 代碼檢查重點(diǎn): 變量命名和類(lèi)型審查 變量初始值檢查 變量作用范圍檢查 程序邏輯審查 程序語(yǔ)法檢查 程序結(jié)構(gòu)檢查 根據(jù)編程語(yǔ)言以及被測(cè)試程序的特點(diǎn),選擇自動(dòng)化測(cè)試工具中內(nèi)置的合適的編碼規(guī)則來(lái)進(jìn)行檢查。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 編碼規(guī)范 是程序編寫(xiě)過(guò)程中必須遵循的規(guī)則,詳細(xì)規(guī)定了代碼的語(yǔ)法規(guī)則、語(yǔ)法格式等。從以下幾個(gè)方面的規(guī)定進(jìn)行檢查: 排版、注釋、標(biāo)識(shí)符命名、可讀性、變量、函數(shù)、過(guò)程、可測(cè)性、程序效率、質(zhì)量保證、代碼編輯、編譯和審查、代碼測(cè)試、維護(hù)和宏。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 缺陷檢查表 缺陷檢查表既檢查時(shí)用到的測(cè)試用例,里面包括一些容易出錯(cuò)的地方和以往遇到的典型錯(cuò)誤如下:(每種語(yǔ)言有各自的特點(diǎn)) 格式部分。 入口和出口的連接。 程序語(yǔ)言的使用。 存儲(chǔ)器的使用。 判斷和轉(zhuǎn)移。 性能。 可維護(hù)性。 邏輯。 可靠性。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 二、靜態(tài)結(jié)構(gòu)分析法 靜態(tài)分析 內(nèi)部文件調(diào)用關(guān)系圖 子程序表、宏和函數(shù)參數(shù)表 函數(shù)調(diào)用關(guān)系圖 模塊控制流圖(使用 生成 生成 生成 生成 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 二、靜態(tài)結(jié)構(gòu)分析法 在設(shè)計(jì)和開(kāi)發(fā)階段,使用 以在盡可能的早期階段檢測(cè)那些關(guān)鍵部分,尋找潛在的錯(cuò)誤,并在禁止更改和維護(hù)工作之前做更多的工作。 據(jù)工程中定義的編程規(guī)則自動(dòng)檢查軟件代碼錯(cuò)誤,可直接定位錯(cuò)誤。包含大量標(biāo)準(zhǔn)規(guī)則,用戶(hù)也可定制創(chuàng)建規(guī)則。自動(dòng)生成測(cè)試報(bào)告。 位錯(cuò)誤模塊,可評(píng)估軟件質(zhì)量及復(fù)雜程度。提供代碼的直觀描述,自動(dòng)生成軟件文檔。 試覆蓋分析,顯示沒(méi)有測(cè)試的代碼路徑,基于源碼結(jié)構(gòu)分析。直接反饋測(cè)試效率和測(cè)試進(jìn)度,協(xié)助進(jìn)行衰退測(cè)試。既可在主機(jī)上測(cè)試,也可在目標(biāo)板上測(cè)試。支持不同的實(shí)時(shí)操作系統(tǒng)、支持多線(xiàn)程??衫鄯e合并多次測(cè)試結(jié)果,自動(dòng)鑒別低效測(cè)試和衰退測(cè)試。自動(dòng)生成定制報(bào)告和文檔。 代碼分別進(jìn)行靜態(tài)度量、編程風(fēng)格檢測(cè)和測(cè)試覆蓋率分析 。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 三、靜態(tài)質(zhì)量度量法 有效性( 時(shí)間特性、資源特性 ) 可靠性( 成熟性、容錯(cuò)性、可恢復(fù)性 ) 可用性( 可理解性、易學(xué)性、可操作性 ) 輕便性(即可移植性,包括 適應(yīng)性、可安裝性、一致性、可替換性 ) 可維護(hù)性( 可分析性、可修改性、穩(wěn)定性、可測(cè)性 ) 功能性 (適合性、準(zhǔn)確性、互操作性、依從性、安全性 ) 質(zhì)量 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 構(gòu)造質(zhì)量模型度量可維護(hù)性 確定度量的規(guī)則:代碼行數(shù)、注釋頻度等度量軟件的各種行為屬性。度量規(guī)則參數(shù)表參考書(shū)本 確定所采用的分類(lèi)標(biāo)準(zhǔn):可分析性、可修改性、穩(wěn)定性和可測(cè)性,每個(gè)分類(lèi)標(biāo)準(zhǔn)由一系列度量規(guī)則組成,由規(guī)則的取值與權(quán)重值計(jì)算出每個(gè)分類(lèi)標(biāo)準(zhǔn)的取值。分類(lèi)標(biāo)準(zhǔn)組參考書(shū)本 計(jì)算出各分類(lèi)標(biāo)準(zhǔn)后確定代碼的質(zhì)量等級(jí):優(yōu)秀、良好、一般和較差。 根據(jù)分類(lèi)標(biāo)準(zhǔn)的計(jì)算結(jié)果來(lái)確定質(zhì)量因素的取值,也分為四個(gè)等級(jí):優(yōu)秀、良好、一般和較差。 可以使用上述得出的計(jì)算數(shù)據(jù)來(lái)量化被測(cè)程序的質(zhì)量。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 軟件質(zhì)量評(píng)價(jià)過(guò)程 確立評(píng)價(jià)需求 確立評(píng)價(jià)目的 確定產(chǎn)品類(lèi)型 指定質(zhì)量模型 1 6 2 6 0 . 1 質(zhì)量模型 選擇度量 建立度量評(píng)定等 級(jí) 建立評(píng)估準(zhǔn)則 1 6 2 6 0 . 2 外部度量 1 6 2 6 0 . 3 內(nèi)部度量 1 8 9 0 5 . 6 評(píng)價(jià)模塊 規(guī)定評(píng)價(jià) 制定評(píng)價(jià)計(jì)劃 設(shè)計(jì)評(píng)價(jià) 進(jìn)行度量 與評(píng)估準(zhǔn)則相比 較 評(píng)估結(jié)果 執(zhí)行評(píng)價(jià) 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 四、邏輯覆蓋法 這是其中一種動(dòng)態(tài)白盒測(cè)試的方法,動(dòng)態(tài)白盒測(cè)試也稱(chēng)結(jié)構(gòu)化測(cè)試 ,要根據(jù)程序的控制結(jié)構(gòu)設(shè)計(jì)相應(yīng)的測(cè)試用例,原則如下: 1)保證一個(gè)模塊中的所有獨(dú)立路徑至少被使用一次。 2)對(duì)所有邏輯值均需測(cè)試 3)在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)。 4)檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。 邏輯覆蓋法是其中一種實(shí)用的白盒測(cè)試用例設(shè)計(jì)的方法,是通過(guò)對(duì)程序邏輯結(jié)構(gòu)的遍歷來(lái)實(shí)現(xiàn)程序的覆蓋,是一系列測(cè)試過(guò)程的總稱(chēng)。 邏輯覆蓋標(biāo)準(zhǔn)包括以下幾種:語(yǔ)句覆蓋( 判定覆蓋( 條件覆蓋( 條件判定組合覆蓋( 多條件覆蓋( 修正判定條件覆蓋( 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 四、邏輯覆蓋法 首先,來(lái)看個(gè)例子 ,源代碼如下: !(x=80) & (y=80) (x+y)=140 & (x=90) | (y=90) /* 語(yǔ)句 2 */ is a ; /* 語(yǔ)句 3 */ is a ; /* 語(yǔ)句 1 */ ; 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 四、邏輯覆蓋法 開(kāi)始 (x=80) & (y=80) 語(yǔ)句 1 結(jié)束 x + y ) =140 & ( (x=90 | y=90) ) 句 2 語(yǔ)句 3 2 3 4 5 6 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 1、語(yǔ)句覆蓋( 語(yǔ)句覆蓋 (是最起碼的結(jié)構(gòu)覆蓋要求,要求設(shè)計(jì)足夠多的測(cè)試用例,使被測(cè)程序中每條語(yǔ)句至少被執(zhí)行一次。 為了測(cè)試?yán)映绦蛑忻織l語(yǔ)句都能至少執(zhí)行一次,可以設(shè)計(jì)如下的測(cè)試用例來(lái)實(shí)現(xiàn): (如果此時(shí) 1路徑上的語(yǔ)句1去掉,那么用例如下) 用例編號(hào) x y 路徑 覆蓋語(yǔ)句 1 50 50 1-3-5-6 (x=80) & (y=80) 2 90 70 1-3-4-6 ( x + y ) =140 &( (x=90 | y=90) ) 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 1、語(yǔ)句覆蓋( 優(yōu)點(diǎn) :可以很直觀地從源代碼得到測(cè)試用例,無(wú)須細(xì)分每條判定表達(dá)式。 缺點(diǎn):由于這種測(cè)試方法僅僅針對(duì)程序邏輯中顯式存在的語(yǔ)句,但對(duì)于隱藏的條件和可能到達(dá)的隱式邏輯分支,是無(wú)法測(cè)試的。在本例中去掉了語(yǔ)句 1,那么就少了一條測(cè)試路徑。在 么語(yǔ)句覆蓋測(cè)試就不會(huì)考慮這種情況。但是我們不能排除這種以外的分支不會(huì)被執(zhí)行,而往往這種錯(cuò)誤會(huì)經(jīng)常出現(xiàn)。再如,在 句覆蓋執(zhí)行其中某一個(gè)條件分支。那么顯然,語(yǔ)句覆蓋對(duì)于多分支的邏輯運(yùn)算是無(wú)法全面反映的,它只在乎運(yùn)行一次,而不考慮其他情況。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 2、判定覆蓋( 判定覆蓋 (又稱(chēng)分支覆蓋,要求設(shè)計(jì)足夠多的測(cè)試用例,使得 程序中的每個(gè)判定至少有一次為 “ 真值 ” ,有一次為 “ 假值 ” ,即:程序中的每個(gè)分支至 少執(zhí)行一次,每個(gè)判斷的取真、取假至少執(zhí)行一次。 為了測(cè)試?yán)映绦蛑忻織l判定分支獲得每一種可能的結(jié)果至少測(cè)試一次,設(shè)計(jì)一下測(cè)試用例: 用例編號(hào) x y 路徑 判定覆蓋 1 90 90 1-2-6 (x=80) & (y=80)成立 2 50 50 1-3-5-6 (x=80) & (y=80)不成立, ( x + y ) =140 & ( (x=90 | y=90) )成立 3 90 70 1-3-4-6 ( x + y ) =140 & ( (x=90 | y=90) )不成立 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 2、判定覆蓋( 優(yōu)點(diǎn):判定覆蓋比語(yǔ)句覆蓋要多幾乎一倍的測(cè)試路徑,當(dāng)然也就具有比語(yǔ)句覆蓋更強(qiáng)的測(cè)試能力。同樣判定覆蓋也具有和語(yǔ)句覆蓋一樣的簡(jiǎn)單性,無(wú)須細(xì)分每個(gè)判定條件就可以得到測(cè)試用例。 缺點(diǎn):往往大部分的判定語(yǔ)句是由多個(gè)邏輯條件組合而成(如,判定語(yǔ)句中包含 若僅僅判斷其整個(gè)最終結(jié)果,而忽略每個(gè)條件的取值情況,必然會(huì)遺漏部分測(cè)試路徑。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 3、條件覆蓋( 條件覆蓋 (構(gòu)造一組測(cè)試用例,使得程序中的每一個(gè)判定語(yǔ)句中每個(gè)邏輯條件獲得各種可能的結(jié)果,即每個(gè)條件至少有一次為真值,有一次為假值。 為了測(cè)試?yán)映绦蛑忻恳粋€(gè)判定語(yǔ)句中每個(gè)邏輯條件的可能值至少滿(mǎn)足一次,設(shè)計(jì)以下的測(cè)試用例: 用例編號(hào) x y 路徑 條件覆蓋 1 90 70 1-3-4-6 (x=90)為真, (y=80)為假 , ( x + y ) =140 為真 2 40 90 1-3-5-6 (x=80)為假, (y=90)為真, ( x + y ) =140 為假 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 3、條件覆蓋( 優(yōu)點(diǎn):顯然條件覆蓋比判定覆蓋,增加了對(duì)符合判定情況的測(cè)試,增加了測(cè)試路徑。 缺點(diǎn):要達(dá)到條件覆蓋,需要足夠多的測(cè)試用例,但條件覆蓋并不能保證判定覆蓋。條件覆蓋只能保證每個(gè)條件至少有一次為真,而不考慮所有的判定結(jié)果。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 4、條件判定組合覆蓋( 條件判定組合覆蓋 (設(shè)計(jì)足夠的測(cè)試用例,使得判定中每個(gè)條件的所有可能(真 /假)至少出現(xiàn)一次,并且每個(gè)判定本身的判定結(jié)果(真 /假)也至少出現(xiàn)一次。 設(shè)計(jì)相應(yīng)滿(mǎn)足條件判定組合覆蓋標(biāo)準(zhǔn)的測(cè)試用例如下: 用例編號(hào) x y 路徑 條件判定覆蓋 1 90 90 1-2-6 x=80為真、 y=80為真 、( x=90) y=90)為真,( x+y) =140 為真 2 50 50 1-3-5-6 x=80為假、 y=80為假 、( x=90) y=90)為假,( x+y) =140 為假 3 90 70 1-3-4- 6 x=80為真、 y=80為假 、( x=90) y=90)為真,( x+y) =140 為真 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 4、條件判定組合覆蓋( 優(yōu)點(diǎn):判定 /條件覆蓋滿(mǎn)足判定覆蓋準(zhǔn)則和條件覆蓋準(zhǔn)則,彌補(bǔ)了二者的不足。 缺點(diǎn):判定 /條件覆蓋準(zhǔn)則的缺點(diǎn)是未考慮條件的組合情況。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 5、多條件覆蓋( 多條件覆蓋 (也稱(chēng)條件組合覆蓋,要求設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定中條件的各種可能組合至少出現(xiàn)一次。滿(mǎn)足多條件覆蓋的測(cè)試用例是一定滿(mǎn)足判定覆蓋、條件覆蓋和條件判定組合覆蓋的。 設(shè)計(jì)相應(yīng)滿(mǎn)足多條件覆蓋標(biāo)準(zhǔn)的測(cè)試用例如下 : 用例編號(hào) x y 路徑 組合覆蓋 1 90 90 1-2-6 x=80 ,y=80 2 90 70 1-3- 4-6 x=80,4-6 x=80 4 50 50 1-3- 5-6 5-6 x+y=140,5-6 x+y=90,5-6 x+y= 90 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 5、多條件覆蓋( 優(yōu)點(diǎn):多重條件覆蓋準(zhǔn)則滿(mǎn)足判定覆蓋、條件覆蓋和判定 /條件覆蓋準(zhǔn)則。更改的判定 /條件覆蓋要求設(shè)計(jì)足夠多的測(cè)試用例,使得判定中每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次,每個(gè)判定本身的所有可能結(jié)果也至少出現(xiàn)一次。并且每個(gè)條件都顯示能單獨(dú)影響判定結(jié)果。 缺點(diǎn):線(xiàn)性地增加了測(cè)試用例的數(shù)量。 判定語(yǔ)句多時(shí),組合數(shù)太大。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 6、修正條件判定覆蓋( 修正條件判定覆蓋 (首先,每一個(gè)程序模塊的入口和出口點(diǎn)都要考慮至少要被調(diào)用一次,每個(gè)程序的判定到所有可能的結(jié)果值要至少轉(zhuǎn)換一次;其次,程序的判定被分解為通過(guò)邏輯操作符連接的 個(gè)條件對(duì)于判定的結(jié)果值都是獨(dú)立的。 設(shè)計(jì)相應(yīng)滿(mǎn)足修正條件判定覆蓋標(biāo)準(zhǔn)的測(cè)試用例如下: 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 6、修正條件判定覆蓋( 用例編號(hào) x y 路徑 修正條件判定覆蓋 1 90 90 1-2-6 1 2 90 70 1-3- 4-6 2 3 70 90 1-3- 4-6 3 4 50 50 1-3- 5-6 5 70 70 1-3- 5-6 5 6 90 30 1-3- 5-6 7 30 90 1-3- 5-6 4 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 7、測(cè)試覆蓋準(zhǔn)則 ( 1) 前面所介紹的邏輯覆蓋其出發(fā)點(diǎn)似乎是合理的。所謂 “ 覆蓋 ” ,就是想要做到全面而無(wú)遺漏。但是,事實(shí)表明,它并不能真的做到無(wú)遺漏。 收了計(jì)算機(jī)硬件的測(cè)試原理,提出了一種經(jīng)驗(yàn)型的測(cè)試覆蓋準(zhǔn)則。 ( 2) 分支覆蓋或路徑覆蓋,都不足以保證測(cè)試數(shù)據(jù)的有效性。為此,他們提出了一種層次 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 五、基本路徑覆蓋 基本概念 路徑:從入口到出口的唯一的一系列分支。 獨(dú)立路徑:從入口到出口的路徑,至少經(jīng)歷一 個(gè)從未走過(guò)的邊。 基本路徑法:使用線(xiàn)性獨(dú)立路徑把覆蓋的路徑 數(shù)壓縮到一定限度內(nèi)。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 五、基本路徑覆蓋 第一步 第二步 第三步 第五步 第四步 得出結(jié)果 以詳細(xì)設(shè)計(jì)或源代碼 為基礎(chǔ),導(dǎo)出程序的 控制流圖 。 計(jì)算得到控制流圖 v(g) 。 V(G) E(邊數(shù)) N(節(jié)點(diǎn)數(shù)) 2 或 V(G) P(判定節(jié) 點(diǎn)數(shù)) 1 或區(qū)域數(shù) 確定線(xiàn)性無(wú)關(guān)的路 徑的基本集 ,導(dǎo)出測(cè) 試用例。 準(zhǔn)備測(cè)試用例,確 ?;韭窂郊忻?條路徑的執(zhí)行 。 根據(jù)編寫(xiě)好的測(cè)試用 例來(lái)執(zhí)行測(cè)試。 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 例子 有以下的 基本路徑測(cè)試法進(jìn)行測(cè)試: x=0; y=0; 0) = x=y+2; =x=y+10; x=y+20; 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 例子 畫(huà)出程序流程圖: 4 6 7 14 8 10 11 13 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 例子 控制流圖如下: 4 6 7 14 8 10 11 13 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 例子 二、計(jì)算圈復(fù)雜度,計(jì)算如下: 1)流圖中有四個(gè)區(qū)域。 2) V(G)=10條邊 2=4。 3) V(G)=3個(gè)判定結(jié)點(diǎn) +1=4 。 三、導(dǎo)出測(cè)試用例 路徑 1: 4徑 2: 4徑 3: 4徑 4: 4天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 例子 四、準(zhǔn)備測(cè)試用例: 路徑 1: 4入數(shù)據(jù): ,或者取 的某一個(gè)值 預(yù)期結(jié)果: x=0 路徑 2: 4入數(shù)據(jù): , 預(yù)期結(jié)果: x=2 路徑 3: 4入數(shù)據(jù): , 預(yù)期結(jié)果: x=10 路徑 4: 4入數(shù)據(jù): , 預(yù)期結(jié)果: x=20 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 五、基本路徑法 基本路徑法缺點(diǎn): 缺點(diǎn) 1:只考慮每個(gè)判定表達(dá)式的取值,并沒(méi)有檢驗(yàn)表達(dá) 式中條件的各種可能組合情況 解決辦法: 1、拆分 2、和條件覆蓋法結(jié)合起來(lái)使用 缺點(diǎn) 2:對(duì)循環(huán)結(jié)構(gòu)測(cè)試不充分 解決辦法:對(duì)循環(huán)結(jié)構(gòu)進(jìn)行補(bǔ)充測(cè)試 南天培訓(xùn)教材系列 版權(quán)所有( C)南天信息 六、其他白盒測(cè)試方法 域測(cè)試 符號(hào)測(cè)試 方法 A B 程序變異 D C 允許程序的輸入不

溫馨提示

  • 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)論