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