什麼是黑盒測試和白盒測試?
任何工程產品(注意是任何工程產品)都可以使用以下兩種方法之一進行測試。
黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。
白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。
軟件的黑盒測試意味着測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數據驅動測試。黑盒測試主要是爲了發現以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
軟件的白盒測試是對軟件的過程性細節做細緻的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱爲結構測試或邏輯驅動測試。白盒測試主要是想對程序模塊進行如下檢查:
1、對程序模塊的所有獨立的執行路徑至少測試一遍。
2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在循環的邊界和運行的界限內執行循環體。
4、測試內部數據結構的有效性,等等。
以上事實說明,軟件測試有一個致命的缺陷,即測試的不完全、不徹底性。由於任何程序只能進行少量(相對於窮舉的巨大數量而言)的有限的測試,在未發現錯誤時,不能說明程序中沒有錯誤。
黑盒測試、白盒測試
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
C++智能指針模板類複習
//C++智能指針模板類複習 #include<iostream> #include<memory> using namespace std; //
linukey
2020-06-23 06:00:02
模板元編程加速遞歸
//模板元編程加速遞歸 //缺點:模板元在編譯時處理,無法調試,並且會加大代碼體積 #include<iostream> using namespa
linukey
2020-06-23 06:00:02
C++類轉換構造函數和轉換函數複習
//C++類轉換構造函數和轉換函數複習 #include<iostream> #include<string> using namespace st
linukey
2020-06-23 06:00:02
C++ lambda表達式複習
linukey
2020-02-23 19:47:32
C++中類const、static、static const成員變量
linukey
2020-02-23 19:47:32
C++實現C語言printf函數
linukey
2020-02-23 19:47:32
C++ 在堆上開闢與釋放二維、三維指針
linukey
2020-02-23 19:47:32
利用包裝器以及lambda表達式實現二叉查找樹
linukey
2020-02-23 19:47:32
extern
yuwei19840916
2020-02-23 15:07:22
linux下查看so文件的函數列表
赵小刚
2020-02-22 22:52:11
Linux下JDK安裝及其環境變量配置
极乐谷2
2019-06-27 15:09:11