1. 程式人生 > >白盒測試與黑盒測試的聯絡與區別

白盒測試與黑盒測試的聯絡與區別

軟體測試的方法有很多,比如白盒測試,黑盒測試,靜態測試,動態測試等等,但主要的還是白盒測試和黑盒測試。

白盒測試主要是指實際執行被測程式,通過程式的原始碼進行測試而不使用使用者介面。這種型別的測試需要從程式碼句法發現內部程式碼在演算法,溢位,路徑,條件等等中的缺點或者錯誤,進而加以修正。常見的白盒測試的方法有:語句覆蓋,條件覆蓋,判定覆蓋,條件組合覆蓋,基本路徑覆蓋等等。

黑盒測試:又被稱為功能測試、資料驅動測試或基於規格說明的測試,是通過使用整個軟體或某種軟體功能來嚴格地測試, 而並沒有通過檢查程式的原始碼或者很清楚地瞭解該軟體的原始碼程式具體是怎樣設計的。測試人員通過輸入他們的資料然後看輸出的結果從而瞭解軟體怎樣工作。常見的黑盒測試方法有:等價類劃分,邊界值法,因果圖法,測試大綱法,以及各種型別的軟體故障模型。

黑盒測試的目的:
1、是否有不正確或遺漏的功能。
2、資料或者引數上,輸入能否正確接收?能否輸出正確的結果。
3、是否有資料結構錯誤或外部資訊(例如資料檔案)訪問錯誤。
4、效能上是否能夠滿足要求。
5、是否有初始化或終止性錯誤

白盒測試的目的:

通過在不同點檢查程式的狀態,確定實際的狀態是否與預期的狀態一致。

二者區別與聯絡:
黑盒測試著重測試軟體功能,它並不涉及程式的內部結構和內容特性,主要根據規格說明,只依靠被測試程式的輸入和輸出之間關係或程式的功能來設計測試用例。黑盒測試並不能取代白盒測試,它是與白盒測試互補的測試方法,它很可能發現白盒測試不易發現的其他型別錯誤。