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