Posted on 2006-07-28 22:16
neter 閱讀(361)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
軟件測(cè)試初探
黑白盒測(cè)試原理
?
黑盒測(cè)試也稱功能測(cè)試,它是通過測(cè)試來檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試地,把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。
黑盒測(cè)試是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行測(cè)試的。很明顯,如果外部特性本身有問題或規(guī)格說明的規(guī)定有誤,用墨盒測(cè)試方法是發(fā)現(xiàn)不了的。
黑盒測(cè)試法注重于測(cè)試軟件的功能需求,主要試圖發(fā)現(xiàn)下列幾類錯(cuò)誤。
功能不正確或遺漏;
界面錯(cuò)誤;
數(shù)據(jù)庫訪問錯(cuò)誤;
性能錯(cuò)誤;
初始化和終止錯(cuò)誤等。
從理論上講,黑盒測(cè)試只有采用窮舉輸入測(cè)試,把所有可能的輸入都作為測(cè)試情況考慮,才能查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無窮多個(gè),人們不僅要測(cè)試所有僉的輸入,而且還要對(duì)那些不合法但可能的輸入進(jìn)行測(cè)試。這樣看來,完全測(cè)試是不可能的,所以我們要進(jìn)行有針對(duì)性的測(cè)試,通過制定測(cè)試案例指導(dǎo)測(cè)試的實(shí)施,保證軟件測(cè)試有組織、按步驟,以及有計(jì)劃地進(jìn)行。黑盒測(cè)試行為必須能夠加以量化,才能真正保證軟件質(zhì)量,而測(cè)試用例就是將測(cè)試行為具體量化的方法之一。具體的黑盒測(cè)試用例設(shè)計(jì)方法包括等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法、判定表驅(qū)動(dòng)法、正交試驗(yàn)設(shè)計(jì)法、功能圖法等。
等價(jià)類劃分的辦法是把程序的輸入域劃分成若干部分,然后從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)作為測(cè)試用例。每一類的代表性數(shù)據(jù)在測(cè)試中的作用等價(jià)于這一類中的其他值。
邊界值分析是通過選擇等價(jià)類邊界的測(cè)試用例。邊界值分析法不僅重視輸入條件邊界,而且也必須考慮輸出域邊界。
錯(cuò)誤推測(cè)設(shè)計(jì)方法就是基于經(jīng)驗(yàn)和直覺推測(cè)程序中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性地設(shè)計(jì)測(cè)試用例的方法。
因果圖方法是從用自然語言書寫的程序規(guī)格說明的描述中找出因(輸入條件)和果(輸出或程序狀態(tài)的改變),可以通過因果圖轉(zhuǎn)換為判定表。
正交試驗(yàn)設(shè)計(jì)法,就是使用已經(jīng)造好了的正交表格來安排試驗(yàn)并進(jìn)行數(shù)據(jù)分析的一種方法,目的是用最少的測(cè)試用例達(dá)到最高的測(cè)試覆蓋率。
白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。
這一方法是把測(cè)試對(duì)象看作一個(gè)打開的盒子,測(cè)試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試,通過在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。
采用什么方法對(duì)軟件進(jìn)行測(cè)試呢?常用的軟件測(cè)試方法有兩大類:靜態(tài)測(cè)試方法和動(dòng)態(tài)測(cè)試方法。其中軟件的靜態(tài)測(cè)試不要求在計(jì)算機(jī)上實(shí)際執(zhí)行所測(cè)程序,主要以一些人工的模擬技術(shù)對(duì)軟件進(jìn)行分析和測(cè)試;而軟件的動(dòng)態(tài)測(cè)試是通過輸入一組預(yù)先按照一定的測(cè)試準(zhǔn)則構(gòu)造的實(shí)例數(shù)據(jù)來動(dòng)態(tài)運(yùn)行程序,而達(dá)到發(fā)現(xiàn)程序錯(cuò)誤的過程。