摘抄:
1,一般軟件開發人員和測試人員對白盒測試和黑盒測試的感念都有一定的認識,但認為是編代碼所做的測試是白盒測試,黑盒測試不用編寫代碼,這其實是一種誤解
2,首先說一下概念,任何工程產品(注意是任何工程產品)都可以使用以下兩種方法之一進行測試。
黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。
白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。
- 軟件的黑盒測試意味著測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數據驅動測試。
軟件的白盒測試是對軟件的過程性細節做細致的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。
4.舉一個例子,如果我們對MSN的客戶端進行測試,可以認為是黑盒測試,而如果微軟公司提供一個可以做二次開發函數庫,我們來進行測試的話,就只能通過編程,調用他提供的接口來進行測試,雖然是編寫代碼而進行的測試,但這也是黑盒測試
5,白盒測試,一般是程序員自己所做的測試,白盒測試測試用例一般采用邏輯覆蓋法和基本路徑法進行設計