關於白盒與黑盒

2022-08-19 20:39:08 字數 1192 閱讀 2473

開通黃鑽

關於白盒與黑盒

什麼是黑盒測試和白盒測試?

任何工程產品(注意是任何工程產品)都可以使用以下兩種方法之一進行測試。

黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。

白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。

黑盒測試

軟體的黑盒測試意味著測試要在軟體的介面處進行。這種方法是把測試物件看做乙個黑盒子,測試人員完全不考慮程式內部的邏輯結構和內部特性,只依據程式的需求規格說明書,檢查程式的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或資料驅動測試。

黑盒測試主要是為了發現以下幾類錯誤:

1、是否有不正確或遺漏的功能?

2、在介面上,輸入是否能正確的接受?能否輸出正確的結果?

3、是否有資料結構錯誤或外部資訊(例如資料檔案)訪問錯誤?

4、效能上是否能夠滿足要求?

5、是否有初始化或終止性錯誤?

白盒測試

軟體的白盒測試是對軟體的過程性細節做細緻的檢查。這種方法是把測試物件看做乙個開啟的盒子,它允許測試人員利用程式內部的邏輯結構及有關資訊,設計或選擇測試用例,對程式所有邏輯路徑進行測試。通過在不同點檢查程式狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。

白盒測試主要是想對程式模組進行如下檢查:

1、對程式模組的所有獨立的執行路徑至少測試一遍。

2、對所有的邏輯判定,取「真」與取「假」的兩種情況都能至少測一遍。

3、在迴圈的邊界和執行的界限內執行迴圈體。

4、測試內部資料結構的有效性,等等。

以上事實說明,軟體測試有乙個致命的缺陷,即測試的不完全、不徹底性。由於任何程式只能進行少量(相對於窮舉的巨大數量而言)的有限的測試,在未發現錯誤時,不能說明程式中沒有錯誤。

灰盒測試

灰盒測試,是介於白盒測試與黑盒測試之間的,可以這樣理解,灰盒測試關注輸出對於輸入的正確性,同時也關注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表徵性的現象、事件、標誌來判斷內部的執行狀態,有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要採取這樣的一種灰盒的方法。

黑盒 白盒框架

框架 framework 是整個或部分系統的可重用設計,表現為一組抽象構件及構件例項間互動的方法 另一種定義認為,框架是可被應用開發者定製的應用骨架。前者是從應用方面而後者是從目的方面給出的定義。為了增加 的復用性,可以使用委派和繼承機制。同時,在使用這兩種機制增加 復用的過程中,我們也相應地在不同...

白盒測試與黑盒測試

1白盒測試 定義 透明的,可以看見內部結構的,按照程式內部邏輯結構和編碼結構設計測試資料並完成測試的一種測試方法。分類 靜態測試和動態測試 邏輯覆蓋 語句覆蓋 每一條語句至少被執行一次 語句覆蓋是最弱的邏輯覆蓋 判定覆蓋 每乙個分支至少通過一次即每一條分支語句的 真 值和 假 值都至少執行一次。判定...

黑盒測試與白盒測試

黑盒測試 黑盒測試也稱功能測試或資料驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程式看作乙個不能開啟的黑盆子,在完全不考慮程式內部結構和內部特性的情況下,測試者在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接...