黑盒測“外”不測“內”
發表于:2009-06-09來源:作者:點擊數:
標簽:
軟件測試 有許多種方法,其中黑盒測試是廣泛使用的兩類 測試方法 之一。 “黑盒”測的是功能 黑盒測試也稱 功能測試 或數據驅動測試。它在已知產品應具有的功能的條件下,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個不能打開的黑盒子
軟件測試有許多種方法,其中黑盒測試是廣泛使用的兩類
測試方法之一。
“黑盒”測的是功能
黑盒測試也稱
功能測試或數據驅動測試。它在已知產品應具有的功能的條件下,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照
需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息,并且保持外部信息(如
數據庫或文件)的完整性。
“黑盒”法著眼于程序外部結構、不考慮內部邏輯結構、針對軟件界面和軟件功能進行測試?!昂诤小狈ㄊ歉F舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。
“黑盒”的兩種基本方法
黑盒測試有兩種基本方法,即通過測試和失敗測試。
在進行通過測試時,實際上是確認軟件能做什么,而不會去考驗其能力如何。軟件測試員只運用最簡單,最直觀的
測試案例。
在設計和執行測試案例時,總是先要進行通過測試。在進行破壞性試驗之前,看一看軟件基本功能是否能夠實現。這一點很重要,否則在正常使用軟件時就會奇怪地發現,為什么會有那么多的軟件
缺陷出現?
在確信了軟件正確運行之后,就可以采取各種手段通過搞“垮”軟件來找出缺陷。純粹為了破壞軟件而設計和執行的測試案例,被稱為失敗測試或迫使出錯測試。
黑盒測試的設計方法
黑盒測試是以用戶的觀點,從輸入數據與輸出數據的對應關系出發進行測試的,它不涉及到程序的內部結構。很明顯,如果外部特性本身有問題或規格說明的規定有誤,用
黑盒測試方法是發現不了的。黑盒測試法注重于測試軟件的功能需求,主要試圖發現幾類錯誤:功能不對或遺漏、界面錯誤、數據結構或外部數據庫訪問錯誤、
性能錯誤、初始化和終止錯誤。
具體的黑盒測試方法包括等價類劃分、因果圖、正交實驗設計法、邊值分析、判定表驅動法、功能測試等。在使用時,自然要針對
開發項目的特點對方法加以適當的選擇。
◆ 等價類劃分
等價類劃分是一種典型的黑盒測試方法,用這一方法設計
測試用例可以不用考慮程序的內部結構,只以對程序的要求和說明,即需求規格說明書為依據,仔細分析和推敲說明書的各項需求,特別是功能需求,把說明中對輸入的要求和輸出的要求區別開來并加以分解。
由于窮舉測試的數量太大,以致于無法實際完成,促使我們在大量的可能數據中選取其中的一部分作為測試用例。例如,在不了解等價分配技術的前提下,測試了1+1、1+2、1+3和1+4之后,還有必要測試1+5和1+6嗎?能否放心地認為它們正確嗎?那么1+999…(可以輸入的最大數值)呢?這個測試用例是否與其他用例不同?是否屬于另外一種類別?另外一個等價區間?這是軟件測試員必須考慮到的問題。
等價類別或者等價區間是指測試相同目標或者暴露相同
軟件缺陷的一組測試案例。 1+999…和1+13有什么區別呢?至于1+13,就像一個普通的加法,與1+5或者1+392沒有什么兩樣,而1+999…則屬于鄰界的極端情況。假如輸入最大允許數值,然后加1,就會出現問題——也許就是軟件的缺陷。這個極端案例屬于一個單獨的區間,與常規數字的普通區間不同。
原文轉自:http://www.kjueaiud.com