《軟件測(cè)試技術(shù)》-第五章_第1頁(yè)
《軟件測(cè)試技術(shù)》-第五章_第2頁(yè)
《軟件測(cè)試技術(shù)》-第五章_第3頁(yè)
《軟件測(cè)試技術(shù)》-第五章_第4頁(yè)
《軟件測(cè)試技術(shù)》-第五章_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

5.1軟件功能測(cè)試的定義功能測(cè)試可以在單元測(cè)試中實(shí)施.也可以在集成測(cè)試、系統(tǒng)測(cè)試中進(jìn)行.軟件功能是最基本的.需要在各個(gè)層次保證功能執(zhí)行的正確性.因此功能測(cè)試就是對(duì)產(chǎn)品的各功能進(jìn)行驗(yàn)證.根據(jù)測(cè)試用例.逐項(xiàng)測(cè)試.檢查產(chǎn)品是否達(dá)到用戶要求的功能.功能測(cè)試(functionaltesting).也稱為行為測(cè)試(behavioraltesting).即根據(jù)產(chǎn)品特性、操作描述和用戶方案.測(cè)試一個(gè)產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計(jì)需求.本地化軟件的功能測(cè)試.用于驗(yàn)證應(yīng)用程序或網(wǎng)站對(duì)目標(biāo)用戶能否正確工作.使用適當(dāng)?shù)钠脚_(tái)、瀏覽器和測(cè)試腳本.以保證目標(biāo)用戶的體驗(yàn)足夠好.就像應(yīng)用程序是專門為該市場(chǎng)開發(fā)的一樣.下一頁(yè)返回5.1軟件功能測(cè)試的定義

功能測(cè)試是為了確保程序以期望的方式運(yùn)行而按功能要求對(duì)軟件進(jìn)行的測(cè)試.即對(duì)一個(gè)系統(tǒng)的所有特性和功能都進(jìn)行測(cè)試以確保符合需求和規(guī)范.功能測(cè)試也叫黑盒測(cè)試.只需考慮需要測(cè)試的各個(gè)功能.不需要考慮整個(gè)軟件的內(nèi)部結(jié)構(gòu)及代碼.一般從軟件產(chǎn)品的界面、架構(gòu)出發(fā).按照需求編寫測(cè)試用例.對(duì)輸入數(shù)據(jù)在預(yù)期結(jié)果和實(shí)際結(jié)果之間進(jìn)行評(píng)測(cè).進(jìn)而提出使產(chǎn)品更加符合用戶使用要求的建議.上一頁(yè)下一頁(yè)返回5.1軟件功能測(cè)試的定義

黑盒測(cè)試注重測(cè)試軟件的功能性需求.也即黑盒測(cè)試使軟件工程師派生出執(zhí)行程序所有功能需求的輸入條件.黑盒測(cè)試并不是白盒測(cè)試的替代品.而是用于輔助白盒測(cè)試發(fā)現(xiàn)其他類型的錯(cuò)誤.黑盒測(cè)試方法有:等價(jià)類劃分法、邊界值分析法、決策表法、因果圖法、場(chǎng)景法和錯(cuò)誤推測(cè)法.上一頁(yè)返回5.2黑盒測(cè)試方法———等價(jià)類劃分法5.2.1等價(jià)類劃分法等價(jià)類劃分法是把所有可能的輸入數(shù)據(jù).即程序的輸入域劃分成若干部分(子集).然后從每個(gè)子集中選取少量具有代表性的數(shù)據(jù)作為測(cè)試用例.由于實(shí)現(xiàn)窮舉測(cè)試的不可能性.只有從大量的可能數(shù)據(jù)中選取一部分作為測(cè)試用例.其效果就是經(jīng)過類別劃分后.每一類的代表性數(shù)據(jù)在測(cè)試中的作用都等價(jià)于這一類數(shù)據(jù)中的其他值.實(shí)現(xiàn)的手段就是在設(shè)計(jì)測(cè)試用例時(shí).在需求說明的基礎(chǔ)上劃分等價(jià)類.列出等價(jià)表.從而確定測(cè)試用例.下一頁(yè)返回5.2黑盒測(cè)試方法———等價(jià)類劃分法一般等價(jià)類分為有效等價(jià)類和無效等價(jià)類.有效等價(jià)類是對(duì)規(guī)格說明而言.有意義、合理的輸入數(shù)據(jù)所組成的集合.檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明預(yù)先規(guī)定的功能和性能.無效等價(jià)類是對(duì)規(guī)格說明而言.無意義的、不合理的輸入數(shù)據(jù)所組成的集合.檢驗(yàn)被測(cè)對(duì)象的功能和性能的實(shí)現(xiàn)是否有不符合規(guī)格說明要求的地方.首先從程序的規(guī)格說明書中找出各個(gè)輸入條件.再為每個(gè)輸入條件劃分兩個(gè)或多個(gè)等價(jià)類.形成若干互不相交的子集.劃分等價(jià)類的步驟如下:(1)考慮輸入數(shù)據(jù)的類型(合法型和非法型).(2)考慮數(shù)據(jù)范圍(合法型中的合法區(qū)間和非法區(qū)間).上一頁(yè)下一頁(yè)返回5.2黑盒測(cè)試方法———等價(jià)類劃分法(3)畫出示意圖.區(qū)分等價(jià)類.(4)為每個(gè)等價(jià)類編號(hào).(5)考慮輸出.進(jìn)行補(bǔ)充.5.2.2等價(jià)類的劃分原則(1)按照區(qū)間劃分———在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下.可以確定一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類.(2)按照數(shù)值劃分———在規(guī)定了一組輸入數(shù)據(jù)(假設(shè)包括n個(gè)輸入值).并且程序要對(duì)每個(gè)輸入值分別進(jìn)行處理的情況下.可確定n個(gè)有效等價(jià)類(每個(gè)值確定一個(gè)有效等價(jià)類)和一個(gè)無效等價(jià)類(所有不允許的輸入值的集合).上一頁(yè)下一頁(yè)返回5.2黑盒測(cè)試方法———等價(jià)類劃分法(3)按照數(shù)值集合劃分———在輸入條件規(guī)定了輸入值的集合或規(guī)定了“必須如何”的條件下.可以確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類(該集合有效值之外).(4)按照限制條件或規(guī)則劃分———在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則或限制條件的情況下.可確定一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從不同角度違反規(guī)則).(5)細(xì)分等價(jià)類———在確知已劃分的等價(jià)類中各元素在程序中的處理方式不同的情況下.則應(yīng)再將該等價(jià)類進(jìn)一步劃分為更小的等價(jià)類.并建立等價(jià)類表.上一頁(yè)下一頁(yè)返回5.2黑盒測(cè)試方法———等價(jià)類劃分法用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例的步驟如下:(1)確定等價(jià)類.(2)建立等價(jià)類表.列出所有劃分出的等價(jià)類.(3)從劃分出的等價(jià)類中按以下的3個(gè)原則設(shè)計(jì)測(cè)試用例:①為每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào).②設(shè)計(jì)一個(gè)新的測(cè)試用例.使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類.重復(fù)這一步.直到所有的有效等價(jià)類都被覆蓋為止.③設(shè)計(jì)一個(gè)新的測(cè)試用例.使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類.重復(fù)這一步.直到所有無效等價(jià)類都被覆蓋為止.針對(duì)是否對(duì)無效數(shù)據(jù)進(jìn)行測(cè)試.可以將等價(jià)類測(cè)試分為兩種:標(biāo)準(zhǔn)等價(jià)類測(cè)試(也稱一般等價(jià)類測(cè)試)、健壯等價(jià)類測(cè)試.上一頁(yè)下一頁(yè)返回5.2黑盒測(cè)試方法———等價(jià)類劃分法(1)標(biāo)準(zhǔn)(一般)等價(jià)類測(cè)試:標(biāo)準(zhǔn)(一般)等價(jià)類測(cè)試不考慮無效數(shù)據(jù)值.測(cè)試用例使用每個(gè)等價(jià)類中的一個(gè)值.通常標(biāo)準(zhǔn)等價(jià)類測(cè)試用例的數(shù)量和最大等價(jià)類中元素的數(shù)目相等.(2)健壯等價(jià)類測(cè)試:健壯等價(jià)類測(cè)試考慮了無效等價(jià)類.對(duì)于有效輸入.測(cè)試用例從每個(gè)有效等價(jià)類中取一個(gè)值.對(duì)于無效輸入.一個(gè)測(cè)試用例有一個(gè)無效值.其他值均取有效值.一般情況下會(huì)存在一些問題.如規(guī)格說明往往沒有定義無效測(cè)試用例的期望輸出.因此需要定義這些測(cè)試用例的期望輸出.對(duì)強(qiáng)類型語言沒有必要考慮無效的輸入.上一頁(yè)返回5.3黑盒測(cè)試方法———邊界值分析法5.3.1邊界值分析法邊界值分析法就是對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法.通常邊界值分析法作為對(duì)等價(jià)類劃分法的補(bǔ)充.在這種情況下.其測(cè)試用例來自等價(jià)類的邊界.為什么使用邊界值分析法?無數(shù)的測(cè)試實(shí)踐表明.大量的故障往往發(fā)生在輸入定義域或輸出值域的邊界.而不是在其內(nèi)部.因此.針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例.通常會(huì)取得很好的測(cè)試效果.例如.一個(gè)循環(huán)條件為“≤”時(shí).卻錯(cuò)寫成“<”.計(jì)數(shù)器發(fā)生少計(jì)數(shù)一次的錯(cuò)誤.下一頁(yè)返回5.3黑盒測(cè)試方法———邊界值分析法基于可靠性理論中稱為“單故障”的假設(shè).兩個(gè)或兩個(gè)以上故障同時(shí)出現(xiàn)而導(dǎo)致軟件失效的情況很少.也就是說軟件失效基本上是由單故障引起的.怎樣用邊界值分析法設(shè)計(jì)測(cè)試用例?首先確定邊界情況.通常輸入或輸出等價(jià)類的邊界就是應(yīng)該著重測(cè)試的邊界情況.選取正好等于、剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù).而不是選取等價(jià)類中的典型值或任意值.上一頁(yè)下一頁(yè)返回5.3黑盒測(cè)試方法———邊界值分析法5.3.2邊界值分析法的原則(1)如果輸入條件規(guī)定了值的范圍.則應(yīng)取剛達(dá)到這個(gè)范圍邊界的值.以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù).例如.如果程序的規(guī)格說明中規(guī)定:“重量在10千克至50千克范圍內(nèi)的郵件.其郵費(fèi)計(jì)算公式為……”.作為測(cè)試用例.應(yīng)?。保凹埃担?還應(yīng)取10.01、49.99、999及50?.01(2)如果輸入條件規(guī)定了值的個(gè)數(shù).則用最大個(gè)數(shù).最小個(gè)數(shù).比最小個(gè)數(shù)少1、比最大個(gè)數(shù)多1的數(shù)作為測(cè)試數(shù)上一頁(yè)下一頁(yè)返回5.3黑盒測(cè)試方法———邊界值分析法比如.一個(gè)輸入文件應(yīng)包括1~255個(gè)記錄.則測(cè)試用例可取1和255.還應(yīng)?。凹埃玻担兜?(3)將規(guī)則(1)和(2)應(yīng)用于輸出條件.即設(shè)計(jì)測(cè)試用例使輸出值達(dá)到邊界值及其左、右的值.例如.某程序的規(guī)格說明要求計(jì)算出“每月保險(xiǎn)金扣除額為0~1165.25元”.其測(cè)試用例可取0.00及1165.24、還可?。?01及1165.26等.再如一程序?qū)儆谇閳?bào)檢索系統(tǒng).要求每次“最少顯示1條.最多顯示4條情報(bào)摘要”.這時(shí)應(yīng)考慮的測(cè)試用例包括1和4.還應(yīng)包括0和5等.上一頁(yè)下一頁(yè)返回5.3黑盒測(cè)試方法———邊界值分析法(4)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合.則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例.(5)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu).則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例.(6)分析規(guī)格說明.找出其他可能的邊界條件.上一頁(yè)返回5.4黑盒測(cè)試方法———決策表法決策表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作情況的工具.它能夠?qū)?fù)雜的問題按照各種可能的情況全部列舉出來.簡(jiǎn)明并避免遺漏.因此.利用決策表能夠設(shè)計(jì)出完整的測(cè)試用例集合.決策表法是最為嚴(yán)格、最具邏輯性的測(cè)試方法.決策表通常由以下4部分組成:條件樁———列出問題的所有條件.條件項(xiàng)———針對(duì)條件樁給出的條件列出所有可能的取值.動(dòng)作樁———列出問題規(guī)定的可能采取的操作.動(dòng)作項(xiàng)———指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作.適合使用決策表設(shè)計(jì)測(cè)試用例的情況主要有以下幾種:(1)規(guī)格說明以決策表的形式給出.或較容易轉(zhuǎn)換為決策表.(2)條件的排列順序不會(huì)也不應(yīng)影響執(zhí)行的操作.下一頁(yè)返回5.4黑盒測(cè)試方法———決策表法(3)規(guī)則的排列順序不會(huì)也不應(yīng)影響執(zhí)行的操作.(4)當(dāng)某一規(guī)則的條件已經(jīng)滿足.并確定要執(zhí)行的操作后.不必檢驗(yàn)別的規(guī)則.如果某一規(guī)則的條件要執(zhí)行多個(gè)操作任務(wù).這些操作的執(zhí)行順序無關(guān)緊要.構(gòu)造決策表的步驟如下:(1)確定規(guī)則的個(gè)數(shù).有n個(gè)條件的決策表有2n個(gè)規(guī)則(每個(gè)條件取真、假值).(2)列出所有的條件樁和動(dòng)作樁.(3)填入條件項(xiàng).上一頁(yè)下一頁(yè)返回5.4黑盒測(cè)試方法———決策表法(4)填入動(dòng)作項(xiàng).得到初始決策表.(5)簡(jiǎn)化決策表.合并相似規(guī)則.決策表最突出的優(yōu)點(diǎn)是.能夠?qū)?fù)雜的問題按照各種可能的情況全部列舉出來.簡(jiǎn)明并避免遺漏.利用決策表能夠設(shè)計(jì)出完整的測(cè)試用例集合.運(yùn)用決策表設(shè)計(jì)測(cè)試用例可以將條件理解為輸入.將動(dòng)作理解為輸出.上一頁(yè)返回5.5黑盒測(cè)試方法———因果圖法等價(jià)類劃法和邊界值分析法都著重考慮輸入條件.但沒有考慮輸入條件的各種組合、輸入條件之間的相互制約關(guān)系.這樣雖然各種輸入條件可能出錯(cuò)的情況已經(jīng)測(cè)試到了.但多個(gè)輸入條件組合起來可能出錯(cuò)的情況卻被忽視了.可以從程序規(guī)格說明書的描述中.找出因(輸入條件)和果(輸出結(jié)果或者程序狀態(tài)的改變).然后通過因果圖轉(zhuǎn)換為判定表.最后為判定表中的每一列設(shè)計(jì)一個(gè)測(cè)試用例.這就是用因果圖法設(shè)計(jì)測(cè)試用例的思想.因果圖法是一種利用圖解法分析輸入的各種組合情況.從而設(shè)計(jì)測(cè)試用例的方法.它適合檢查程序輸入條件的各種組合情況.下一頁(yè)返回5.5黑盒測(cè)試方法———因果圖法

圖5-1、圖5-2所示是因果圖中出現(xiàn)的幾種基本符號(hào):通常在因果圖中用ci表示原因.用ei表示結(jié)果.各結(jié)點(diǎn)表示狀態(tài).可取值“0”或“1”.“0”表示某狀態(tài)不出現(xiàn).“1”表示某狀態(tài)出現(xiàn).在實(shí)際問題中當(dāng)輸入狀態(tài)相互之間還存在某些依賴關(guān)系時(shí).稱為“約束”.如圖5-3所示.(1)約束(異):a和b中最多有一個(gè)可能為1.即a和b不能同時(shí)為1.如圖5-3(a)所示.(2)約束(或):a、b、c中至少有一個(gè)必須是1.即a、b、c不能同時(shí)為0.如圖5-3(b)所示.上一頁(yè)下一頁(yè)返回5.5黑盒測(cè)試方法———因果圖法

(3)約束(唯一):a和b必須有一個(gè)且僅有一個(gè)為1.如圖5-3(c)所示.(4)約束(要求):a是1時(shí).b必須是1.如圖5-3(d)所示.(5)約束(強(qiáng)制):若結(jié)果a是1.則結(jié)果b強(qiáng)制為0.如圖5-3(e)所示.用因果圖法設(shè)計(jì)測(cè)試用例的步驟如下:(1)分析程序規(guī)格說明書描述的語義內(nèi)容.找出“原因”和“結(jié)果”.將其表示成連接各個(gè)原因與各個(gè)結(jié)果的“因果圖”.上一頁(yè)下一頁(yè)返回5.5黑盒測(cè)試方法———因果圖法

(2)由于語法或環(huán)境限制.有些原因與原因之間或與結(jié)果之間的組合情況不能出現(xiàn).用記號(hào)標(biāo)明約束或限制條件.(3)將因果圖轉(zhuǎn)換成決策表.(4)根據(jù)決策表中的每一列設(shè)計(jì)測(cè)試用例.上一頁(yè)返回5.6黑盒測(cè)試方法———場(chǎng)景法現(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的.如GUI軟件、游戲軟件等.事件觸發(fā)時(shí)的情景形成了場(chǎng)景.而同一事件的不同觸發(fā)順序和處理結(jié)果就形成了事件流.這種在軟件設(shè)計(jì)方面的思想引入軟件測(cè)試中.可以生動(dòng)地描繪出事件觸發(fā)時(shí)的情景.有利于設(shè)計(jì)測(cè)試用例.同時(shí)使測(cè)試用例更容易理解和執(zhí)行.這就是場(chǎng)景法.場(chǎng)景法會(huì)涉及基本流和備選流兩個(gè)概念.(1)基本流:在測(cè)試一個(gè)軟件的時(shí)候.在場(chǎng)景法中.測(cè)試流程是軟件功能按照正確的事件流實(shí)現(xiàn)的一條正確流程.把其稱為該軟件的基本流.(2)備選流:出現(xiàn)故障或缺陷的過程.就用備選流加以標(biāo)注.這樣.備選流就可以是從基本流來的.或由備選流中引出的.下一頁(yè)返回5.6黑盒測(cè)試方法———場(chǎng)景法圖5-4中經(jīng)過用例的每條路徑都用基本流和備選流來表示.直黑線表示基本流.是經(jīng)過用例的最簡(jiǎn)單的路徑.備選流用不同的色彩表示.一個(gè)備選流可能從基本流開始.在某個(gè)特定條件下執(zhí)行.然后重新加入基本流中(如備選流1和3).也可能起源于另一個(gè)備選流(如備選流2).或者終止用例而不再重新加入到某個(gè)流(如備選流2和4):場(chǎng)景1———基本流場(chǎng)景2———基本流、備選流1.場(chǎng)景3———基本流、備選流1、備選流2.場(chǎng)景4———基本流、備選流3.場(chǎng)景5———基本流、備選流3、備選流1.上一頁(yè)下一頁(yè)返回5.6黑盒測(cè)試方法———場(chǎng)景法場(chǎng)景6———基本流、備選流3、備選流1、備選流2.場(chǎng)景7———基本流、備選流4.場(chǎng)景8———基本流、備選流3、備選流4.用場(chǎng)景法設(shè)計(jì)測(cè)試用例的步驟如下:(1)根據(jù)說明.描述出程序的基本流及各項(xiàng)備選流.(2)根據(jù)基本流和各項(xiàng)備選流生成不同的場(chǎng)景.(3)對(duì)每一個(gè)場(chǎng)景生成相應(yīng)的測(cè)試用例.(4)對(duì)生成的所有測(cè)試用例重新復(fù)審.去掉多余的測(cè)試用例.測(cè)試用例確定后.對(duì)每一個(gè)測(cè)試用例確定測(cè)試數(shù)據(jù)值.上一頁(yè)返回5.7黑盒測(cè)試方法———錯(cuò)誤推測(cè)法錯(cuò)誤推測(cè)法是基于經(jīng)驗(yàn)和直覺推測(cè)程序中所有可能存在的各種錯(cuò)誤.從而有針對(duì)性地設(shè)計(jì)測(cè)試用例的方法.其基本思想是列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況.根據(jù)它們選擇測(cè)試用例.例如.輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況、輸入表格為空格或輸入表格只有一行的情況.這些都是容易發(fā)生錯(cuò)誤的情況.可選擇這些情況下的例子作為測(cè)試用例.再來看一個(gè)例子:對(duì)于成績(jī)報(bào)告的程序.采用錯(cuò)誤推測(cè)法還可補(bǔ)充設(shè)計(jì)一些測(cè)試用例:①程序是否把空格作為回答.②在回答記錄中混有標(biāo)準(zhǔn)答案記錄.③除了標(biāo)題記錄外.還有一些的記錄最后一個(gè)字符既不是2.也不是3.④有兩個(gè)學(xué)生的學(xué)號(hào)相同.⑤試題數(shù)是負(fù)數(shù).下一頁(yè)返回5.7黑盒測(cè)試方法———錯(cuò)誤推測(cè)法另一個(gè)例子:測(cè)試一個(gè)對(duì)線性表(比如數(shù)組)進(jìn)行排序的程序.可推測(cè)列出以下幾項(xiàng)需要特別測(cè)試的情況:①輸入的線性表為空表.②表中只含有一個(gè)元素.③輸入表中的所有元素已排好序.④輸入表已按逆序排好.⑤輸入表中的部分或全部元素相同.上一頁(yè)返回5.8白盒測(cè)試白盒測(cè)試是一種典型的測(cè)試方法.是一種按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu)設(shè)計(jì)測(cè)試數(shù)據(jù)并完成測(cè)試的測(cè)試方法.它基于一個(gè)應(yīng)用代碼的內(nèi)部邏輯知識(shí).測(cè)試覆蓋全部代碼、分支、路徑和條件.它利用查看代碼功能和實(shí)現(xiàn)方式得到的信息來確定哪些需要測(cè)試、哪些不需要測(cè)試、如何展開測(cè)試.邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)設(shè)計(jì)測(cè)試用例的技術(shù).邏輯覆蓋通過對(duì)程序邏輯結(jié)構(gòu)的遍歷實(shí)現(xiàn)程序的覆蓋.它是一系列測(cè)試過程的總稱.從覆蓋源程序的各個(gè)方面考慮.大致可以分為語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋和路徑覆蓋.接下來以圖5-5為例詳細(xì)介紹.下一頁(yè)返回5.8白盒測(cè)試

1.語句覆蓋語句覆蓋是一種最起碼的測(cè)試要求.它要求設(shè)計(jì)的用例使程序中每條語句都至少被執(zhí)行一次.因此對(duì)于圖5-5所示的例子來說.在語句覆蓋中.只需要選擇輸入數(shù)據(jù)為A=2.B=0.X=3.就可以達(dá)到語句覆蓋.從本例可看出.語句覆蓋所覆蓋的路徑其實(shí)是不完全的.如果第一個(gè)條件語句中的AND錯(cuò)誤地編寫成OR.上面的測(cè)試用例是不能發(fā)現(xiàn)這個(gè)錯(cuò)誤的.又如第三個(gè)條件語句中X>1誤寫成X>0.這個(gè)測(cè)試用例也不能暴露它.此外.沿著路徑abd執(zhí)行時(shí).X的值應(yīng)該保持不變.如果這一方面有錯(cuò)誤.上述測(cè)試數(shù)據(jù)也不能發(fā)現(xiàn)它們.上一頁(yè)下一頁(yè)返回5.8白盒測(cè)試

2.判定覆蓋(分支覆蓋)判定覆蓋又稱為分支覆蓋.它要求執(zhí)行足夠的測(cè)試用例.使程序中的每一個(gè)分支至少都通過一次.在針對(duì)判斷語句設(shè)定案例的時(shí)候.要設(shè)定“真”和“假”兩種案例.判定覆蓋與語句覆蓋的不同是增加了“假”的情況.對(duì)于本例來說.需要設(shè)計(jì)兩個(gè)例子.使它們能通過路徑ace和abd.或者通過路徑acd和abe.就可達(dá)到判定覆蓋標(biāo)準(zhǔn).例如想要通過路徑為acd和abe.可以選擇輸入數(shù)據(jù)為:(1)A=3.B=0.X=1(沿路徑acd執(zhí)行).(2)A=2.B=1.X=3(沿路徑abe執(zhí)行).上一頁(yè)下一頁(yè)返回5.8白盒測(cè)試

除了雙分支語句之外.像C語言中的case語句中還存在多分支語句.因此必須覆蓋所有的語句.但是在剛剛的例子中.沒有堅(jiān)持到abd路徑執(zhí)行時(shí)X值是否有變化.因此.判定覆蓋雖然比語句覆蓋強(qiáng).但是對(duì)程序邏輯的覆蓋程度仍然不夠全面.3.條件覆蓋條件覆蓋的含義是指:選擇足夠的測(cè)試用例.運(yùn)行這些測(cè)試案例后.要使每個(gè)判定中每個(gè)條件的可能取值至少滿足一次.但未必能覆蓋全部分支.判定覆蓋往往包含若干個(gè)條件.上一頁(yè)下一頁(yè)返回5.8白盒測(cè)試

例如在圖5-5所示的程序中.判定(A>1)AND(B=0)包含了兩個(gè)條件:A>1以及B=0.所以可引進(jìn)一個(gè)更強(qiáng)的覆蓋標(biāo)準(zhǔn)———條件覆蓋.圖5-5所示的程序有4個(gè)條件:A>1.B=0.A=2.X>1.為了達(dá)到條件覆蓋標(biāo)準(zhǔn).需要執(zhí)行足夠的測(cè)試用例.使得在a點(diǎn)有A>1、A≤1、B=0、B≠0等各種結(jié)果出現(xiàn).以及在b點(diǎn)有A=2、A≠2、X>1、X≤1等各種結(jié)果出現(xiàn).上一頁(yè)下一頁(yè)返回5.8白盒測(cè)試

現(xiàn)在只需設(shè)計(jì)以下兩個(gè)測(cè)試用例就可滿足這一標(biāo)準(zhǔn):(1)A=2.B=0.X=4(沿路徑ace執(zhí)行)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論