2020年白盒測(cè)試用例設(shè)計(jì)方法_第1頁
2020年白盒測(cè)試用例設(shè)計(jì)方法_第2頁
2020年白盒測(cè)試用例設(shè)計(jì)方法_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、白盒測(cè)試用例設(shè)計(jì)方法 白盒測(cè)試概述由于邏輯錯(cuò)誤和不正確假設(shè)與一條程序路徑被 運(yùn)行的可能性成反比。由于我們經(jīng)常相信某邏輯路徑不可能被執(zhí)行,而事實(shí)上,它可能在正 常的情況下被執(zhí)行。由于代碼中的筆誤是隨機(jī)且無法杜絕的,因此我們要進(jìn)行白盒測(cè)試。白盒測(cè)試又稱結(jié)構(gòu)測(cè)試,透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒測(cè)試是一 種測(cè)試用例設(shè)汁方法,盒子指的是被測(cè)試的軟件,白盒指的是盒子是可視的,你淸楚盒子內(nèi) 部的東西以及里面是如何運(yùn)作的。白盒的測(cè)試用例需要做到保證一個(gè)模塊中的所有獨(dú)立路徑至少被使用一次:對(duì)所有邏輯值均需測(cè)試true和false:在上下邊界及可操作范國(guó)內(nèi)運(yùn)行所有循環(huán);檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效

2、性。白盒測(cè)試的目的通過檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對(duì)軟件中的邏輯路徑進(jìn)行覆蓋測(cè)試;在程序不同地方設(shè)立檢查點(diǎn),檢查程序的狀態(tài),以確左實(shí)際運(yùn)行狀態(tài)與預(yù)期狀態(tài)是否一 致。白盒測(cè)試的特點(diǎn)依據(jù)軟件設(shè)計(jì)說明書進(jìn)行測(cè)試、對(duì)程序內(nèi)部細(xì)竹的嚴(yán)密檢驗(yàn)、針對(duì)特 建條件設(shè)計(jì)測(cè)試用例、對(duì)軟件的邏輯路徑進(jìn)行覆蓋測(cè)試。白盒測(cè)試的實(shí)施步驟1)測(cè)試計(jì)劃階段根據(jù)需求說明書,制左測(cè)試進(jìn)度。2)測(cè)試設(shè)計(jì)階段依據(jù)程序設(shè)il說明書,按照一泄規(guī)范化的方法進(jìn)行軟件結(jié)構(gòu)劃分和設(shè) 計(jì)測(cè)試用例。3)測(cè)試執(zhí)行階段輸入測(cè)試用例,得到測(cè)試結(jié)果。4)測(cè)試總結(jié)階段對(duì)比測(cè)試的結(jié)果和代碼的預(yù)期結(jié)果,分析錯(cuò)誤原因,找到并解決錯(cuò)誤。白盒測(cè)試的方法總體上分為靜態(tài)方法和動(dòng)

3、態(tài)方法兩大類。靜態(tài)分析是一種不通過執(zhí)行程序而進(jìn)行測(cè)試的技術(shù)。靜態(tài)分析的關(guān)鍵功能是檢查軟件的 表示和描述是否一致,沒有沖突或者沒有歧義。動(dòng)態(tài)分析主要特點(diǎn)是當(dāng)軟件系統(tǒng)在模擬的或真實(shí)的環(huán)境中執(zhí)行之前、之中和之后,對(duì) 軟件系統(tǒng)行為的分析。動(dòng)態(tài)分析包含了程序在受控的環(huán)境下使用特訖的期望結(jié)果進(jìn)行正式的 運(yùn)行。它顯示了一個(gè)系統(tǒng)在檢查狀態(tài)下是正確還是不正確。在動(dòng)態(tài)分析技術(shù)中,最重要的技術(shù) 是路徑和分支測(cè)試。下而要介紹的六種覆蓋測(cè)試方法屬于動(dòng)態(tài)分析方法。白盒測(cè)試的優(yōu)缺點(diǎn)優(yōu)點(diǎn)迫使測(cè)試人員去仔細(xì)思考軟件的實(shí)現(xiàn);可以檢測(cè)代碼中的每條分支和路徑;揭示隱藏在代碼中的錯(cuò)誤;對(duì)代碼的測(cè)試比較徹底:最優(yōu)化缺點(diǎn)費(fèi)用昂貴:無法檢測(cè)

4、代碼中遺漏的路徑和數(shù)據(jù)敏感性錯(cuò)誤;不驗(yàn)證規(guī)格的正確性。白盒測(cè)試基本技術(shù) 控制流圖 左義程序流程圖是軟件開發(fā)過程中進(jìn)行詳細(xì)設(shè)計(jì)時(shí), 表示模塊內(nèi)部邏輯的一個(gè)常用的、也非常有效的圖示法。程序流程圖詳細(xì)地反映了程序內(nèi)部 控制流的處理和轉(zhuǎn)移過程,它一般是進(jìn)行模塊編碼的參考依據(jù)。在程序流程圖中,通常擁有 很多種圖示元素,例如,“矩形框”表示一個(gè)計(jì)算處理過程,而“菱形框”表示一個(gè)判斷條件 等。通常測(cè)試人員為某個(gè)程序模塊做白盒測(cè)試過程中,在做與路徑相關(guān)的齊種分析的時(shí)候, 這些非常細(xì)節(jié)的信息往往是不太重要。因此,為了更淸晰突岀地顯示岀程序的控制結(jié)構(gòu),反 映控制流的轉(zhuǎn)移過程,一種簡(jiǎn)化了的程序流程圖便岀現(xiàn)了,就是程

5、序的控制流圖。在控制流 圖中一般只有兩種簡(jiǎn)單的圖示符號(hào)節(jié)點(diǎn)和控制流。1)節(jié)點(diǎn)。以標(biāo)有編號(hào)的圓圈表示。它一般代表了程序流程圖中矩形框所表示的處理、 以及領(lǐng)形框所表示的判立條件,以及兩條活多條廿點(diǎn)的匯合點(diǎn)等。一個(gè)節(jié)點(diǎn)就是一個(gè)基本的 程序塊,它可以是一個(gè)單獨(dú)的語句(如if條件判斷語句,或循環(huán)語句),也可以是多個(gè)順序 執(zhí)行的語句塊。2)控制流。以帶箭頭的弧線表示,用來連接相關(guān)的兩個(gè)節(jié)點(diǎn)。它與程序流程圖中的控 制流所表示的意義是一致的,都是知識(shí)了程序控制的轉(zhuǎn)移過程。為了便于處理,每個(gè)控制流 也可以標(biāo)有名字,這是繼就相當(dāng)于向圖中的邊。每條邊必須要終止某一節(jié)點(diǎn)。控制流圖的基本控制結(jié)構(gòu)的圖形符號(hào)在控制流圖中,

6、英基本的控制結(jié)構(gòu)所對(duì)應(yīng)的圖形 符號(hào)如下圖。(a)順序結(jié)構(gòu) (b) IF ELSE結(jié)構(gòu) (c)多分支結(jié)構(gòu)(d)循環(huán)結(jié)構(gòu) 六種覆蓋方法首先為了下文的舉例描述方便,這里先給出一張程序流程圖。語句覆蓋1)主要特點(diǎn)語句覆蓋是最起碼的結(jié)構(gòu)覆蓋要求,語句覆蓋要求設(shè)汁足夠多 的測(cè)試用例,使得程序中每條語句至少被執(zhí)行一次。2)用例設(shè)計(jì)(如果此時(shí)將A路徑上的語句1T去掉,那么用例如下)XY路徑1 50 50 OBDE 2 90 70 0BCE 3)優(yōu)點(diǎn)可以很直觀地從源代碼得到測(cè)試用例,無須細(xì)分每條判 泄表達(dá)式。4)缺點(diǎn)由于這種測(cè)試方法僅僅針對(duì)程序邏輯中顯式存在的語句,但對(duì)于隱藏的條件和 可能到達(dá)的隱式邏輯分支,是

7、無法測(cè)試的。在本例中去掉了語句1T去掉,那么就少了一 條測(cè)試路徑。在辻結(jié)構(gòu)中若源代碼沒有給出else后而的執(zhí)行分支,那么語句覆蓋測(cè)試就不 會(huì)考慮這種情況。但是我們不能排除這種以外的分支不會(huì)被執(zhí)行,而往往這種錯(cuò)誤會(huì)經(jīng)常岀 現(xiàn)。再如,Do-While結(jié)構(gòu)中,語句覆蓋執(zhí)行英中某一個(gè)條件分支。那么顯然,語句覆蓋對(duì) 于多分支的邏借運(yùn)算是無法全而反映的,它只在乎運(yùn)行一次,而不考慮其他情況。判左覆蓋1)主要特點(diǎn)判定覆蓋又稱為分支覆蓋,它要求設(shè)計(jì)足夠多的測(cè)試用例,使 得程序中每個(gè)判泄至少有一次為真值,有一次為假值,即程序中的每個(gè)分支至少執(zhí)行一次。 每個(gè)判斷的取真、取假至少執(zhí)行一次。2)用例設(shè)計(jì)X Y路徑1 9

8、0 90 0AE 2 50 50 0BDE 3 90 70 0BCE 3)優(yōu)點(diǎn)判定覆蓋比語句覆蓋要 多幾乎一倍的測(cè)試路徑,當(dāng)然也就具有比語句覆蓋更強(qiáng)的測(cè)試能力。同樣判迫覆蓋也具有和 語句覆蓋一樣的簡(jiǎn)單性,無須細(xì)分每個(gè)判定就可以得到測(cè)試用例C4)缺點(diǎn)往往大部分的判立語句是由多個(gè)邏借條件組合而成(如,判左語句中包含AND、 OR、CASE),若僅僅判斷其整個(gè)最終結(jié)果,而忽略每個(gè)條件的取值情況,必然會(huì)遺漏部分測(cè)試 路徑。條件覆蓋1)主要特點(diǎn)條件覆蓋要求設(shè)汁足夠多的測(cè)試用例,使得判左中的每個(gè)條件 獲得各種可能的結(jié)果,即每個(gè)條件至少有一次為真值,有一次為假值。2)用例設(shè)計(jì)X Y路徑1 90 70 0BC

9、 2 40 0BD 3)優(yōu)點(diǎn)顯然條件覆蓋比判定覆蓋,增加了對(duì)符合 判定情況的測(cè)試,增加了測(cè)試路徑。4)缺點(diǎn)要達(dá)到條件覆蓋,需要足夠多的測(cè)試用例,但條件覆蓋并不能保證判定覆蓋。 條件覆蓋只能保證每個(gè)條件至少有一次為真,而不考慮所有的判定結(jié)果。判左/條件覆蓋1)主要特點(diǎn)設(shè)計(jì)足夠多的測(cè)試用例,使得判怎中每個(gè)條件的所有可能 結(jié)果至少出現(xiàn)一次,每個(gè)判定本身所有可能結(jié)果也至少岀現(xiàn)一次。2)用例設(shè)計(jì)X Y 路徑 1 90 90 0AE 2 50 50 0BDE 3 90 70 0BCE 4 70 90 0BCE 3)優(yōu)點(diǎn)判圧/條 件覆蓋滿足判定覆蓋準(zhǔn)則和條件覆蓋準(zhǔn)則,彌補(bǔ)了二者的不足。4)缺點(diǎn)判定/條件覆蓋

10、準(zhǔn)則的缺點(diǎn)是未考慮條件的組合情況。組合覆蓋1)主要特點(diǎn)要求設(shè)計(jì)足夠多的測(cè)試用例,使得每個(gè)判定中條件結(jié)果的所有可能組合至少出現(xiàn)一次。2)用例設(shè)計(jì)X Y 路徑 1 90 90 0AE 2 90 70 0BCE 3 90 30 0BDE 4 70 90 0BCE 5 30 90 0BDE 6 70 70 0BDE 7 50 50 0BDE 3)優(yōu)點(diǎn)多重條件覆蓋準(zhǔn)則滿足判左覆蓋、條件覆蓋和判泄/條件覆 蓋準(zhǔn)則。更改的判左/條件覆蓋要求設(shè)計(jì)足夠多的測(cè)試用例,使得判左中每個(gè)條件的所有可能 結(jié)果至少出現(xiàn)一次,每個(gè)判左本身的所有可能結(jié)果也至少出現(xiàn)一次。并且每個(gè)條件都顯示能 單獨(dú)影響判定結(jié)果。4)缺點(diǎn)線性地增加了測(cè)試用例的數(shù)量。路徑覆蓋1)主要特點(diǎn)設(shè)計(jì)足夠的測(cè)試用例,覆蓋程序中所有可能的路徑。2)用例設(shè)計(jì)X Y 路徑 1 90 90 0AE 2 50 50 0BDE 3 90 70 0BCE 4 70 90 0BCE 3)優(yōu)點(diǎn)這種測(cè)試 方法可以對(duì)程序進(jìn)行徹底的測(cè)試,比前而五種的覆蓋而都廣。4)缺點(diǎn)由于路徑覆蓋需要對(duì)所有可能的路徑進(jìn)行測(cè)試(包括循環(huán)、條件組合、分支選 擇等),那么需要設(shè)計(jì)大量、復(fù)雜的測(cè)試用例,使得工作量呈指數(shù)級(jí)增長(zhǎng)。而在有些情況下, 一些執(zhí)行路徑是不可能被執(zhí)行的,如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論