標籤:
一、黑箱測試和白盒測試
黑箱測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。
白盒測試:已知產品的內部工作過程,可以進行測試證明每種內部操作是否符合設計規格要求,所有內部成分是否經過檢查。
1. 第一認識:
黑箱測試
測試特點:測試功能;
測試依據:需求規格說明書
方法舉例:等價類別劃分、邊界值測試
優點:能站在使用者的立場上進行測試
缺點:不能測試程式內部特定部位,如程式有誤,則無法發現。
白盒測試
測試特點:測試程式介面與結構
測試依據:軟體程式
方法舉例:邏輯覆蓋
優點:對程式內部特定部位進行覆蓋測試。
缺點:無法檢驗程式外部特性。
2.第二認識:
黑箱測試把程式看作一個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,針對“軟體介面”和”軟體功能“進行測試,只檢查功能是否符合需求規格說明書能正常使用。因此黑箱測試又叫功能測試或資料驅動測試。
白盒測試是對軟體的過程性細節做細緻的檢查。這種方法是把測試對象看作一個開啟的盒子,他允許測試人員利用程式內部的邏輯結構及有關資訊,設計或選擇測試案例,對程式所有邏輯路徑進行測試。通過在不同點檢查程式狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱為”結構測試“或”邏輯驅動測試“。白盒測試是按照程式內部的結構來測試程式,通過測試檢驗產品內部動作是否按照設計規格說明書的要求正常進行,檢驗程式中的每條通道是否都按照規定正常工作。
3.第三認識:
黑箱測試主要是為了發現以下錯誤:
(1)是否有不正確或者遺漏了的功能;
(2)在介面上,輸入能否正確的接受?能否輸出正確的結果?
(3)是否有資料結構錯誤或外部資訊(例如資料庫檔案)訪問錯誤?
(4)效能上是否能夠滿足要求?
(5)是否有初始化或終止性錯誤?
黑盒的測試案例技術設計有三種: 邊界值分析、等價類別劃分、錯誤推測法。
白盒測試主要是想對程式模組進行以下檢查:
(1)對程式模組的所有獨立的執行路徑至少測試一遍;
(2)對所有的邏輯判定,取”真“與”假“的兩種情況都能至少測一遍;
(3)在迴圈的邊界和啟動並執行界限內執行迴圈體;
(4)測試內部資料結構的有效性,等等;
(5)靜態白盒測試 :即代碼審查,正式審查和檢驗設計和程式碼;
(6)動態白盒測試 利用查看代碼功能和實現方式得到的資訊來設計和執行測試,也叫結構測試;
白盒的測試案例技術包括邏輯覆蓋和基本路徑測試。
邏輯覆蓋:是以程式內在邏輯結構為基礎的測試案例設計技術,這一方法要求測試人員對程式的邏輯結構有清楚的瞭解。
基本路徑測試:在程式控制流程程圖的基礎上,通過分析控制構造的環路複雜性,匯出基本可執行路徑集合,從而設計測試案例。
軟體工程的白盒和黑箱測試