黑盒,白盒與灰盒測試的比較和區別


黑箱測試,白盒測試與灰盒測試的比較和區別如下所示:

編號 黑箱測試 白盒測試 灰盒測試
1 不需要了解內部工作結構(程式碼)。測試用例只需要GUI(圖形化使用者介面)。 測試需要了解內部工作結構(軟體編碼)。 部分了解內部工作結構。
2 黑箱測試也稱為功能測試,資料驅動測試和封閉盒測試。 白盒測試也稱為結構測試,透明盒測試,基於程式碼的測試和透明測試。 灰盒測試也稱為半透明測試,因為測試人員對編碼知識有限。
3 測試方法包括試驗技術和錯誤猜測方法,因為測試人員不需要知道軟體的內部編碼。 通過驗證軟體中固有的系統邊界和資料域來進行白盒測試,因為不缺乏內部編碼知識。 如果測試人員具有編碼知識,則通過驗證軟體的資料域和內部系統邊界來進行。
4 輸入表的測試空間(用於建立測試用例的輸入)非常龐大,在所有測試空間中最大。 與黑箱測試相比,輸入表的測試空間(用於建立測試用例的輸入)較少。 輸入表的測試空間(用於建立測試用例的輸入)小於黑盒和白盒測試。
5 發現軟體的隱藏錯誤非常困難,因為錯誤可能是由於黑箱測試未知的內部工作造成的。 發現隱藏錯誤很簡單,因為它可能是由於內部工作,這在白盒測試中得到了深入探索。 很難發現隱藏的錯誤,可在使用者級測試中找到。
6 它不適用於演算法測試。 它非常適合併推薦用於演算法測試。 它不被考慮用於演算法測試。
7 黑箱測試中的時間消耗取決於功能規範的可用性。 由於冗長的程式碼,白盒測試需要很長時間來設計測試用例。 測試用例設計可以在短時間內完成。
8 測試人員,開發人員和終端使用者可以參與測試。 只有測試人員和開發人員才能參與測試; 終端使用者不能涉及。 測試人員,開發人員和終端使用者可以參與測試。
9 這是所有測試過程中耗時最少的過程。 在所有測試過程中,整個測試過程是最耗時的。 比白盒測試耗時更少。
10 黑箱測試涵蓋了抵禦病毒攻擊的彈性和安全性。 白盒測試不包括針對病毒攻擊的彈性和安全性。 灰盒測試不包括針對病毒攻擊的彈性和安全性。
11 黑箱測試的基礎是外部期望內部行為未知。 灰盒測試的基礎是編碼,負責內部工作。 基於高階資料庫圖表和資料流圖進行測試。
12 它不像白盒和灰盒測試方法那麼詳盡。 黑盒和灰盒測試方法之間最為詳盡。 部分詳盡; 取決於基於編碼或基於GUI的測試用例的型別。