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