黑盒測試、白盒測試、灰盒測試之間的區別
發布時間:2020-04-23

黑盒測試


軟件的黑盒測試意味著測試要在軟件的接口處進行。


這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。


因此黑盒測試又叫功能測試或數據驅動測試。


通俗方式舉例說明:


小明從商場的某一個入口進入,你在商場外面等待,并不知道商場內發生了什么,只知道正確的結果是,小明帶著一堆商品從某一個出口(可以與入口相同)出來。


這是原定正確的情況,不出錯我們就不需要管商場里面發生了什么,否則,在多次逛商場(多次黑盒測試)之中,發生無法達到原定正確的情況,例如小明與人爭執、小明沒帶錢、小明有問題需要與自己協商等情況的發生,就需要測試人員進行檢查了。


白盒測試


軟件的白盒測試是對軟件的過程性細節做細致的檢查。


這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。


因此白盒測試又稱為結構測試或邏輯驅動測試。


通俗方式舉例說明:


小明從商場的某一個入口進入,你隨著陪同進入商場,全程陪伴,觀察小明購物的每個細節,了解其走過的每一步,發生的每個小情況,然后,你抱著一堆商品陪著小明從某一個出口出來。


灰盒測試


灰盒測試,是介于白盒測試與黑盒測試之間的。


可以這樣理解,灰盒測試關注輸出對于輸入的正確性,同時也關注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表征性的現象、事件、標志來判斷內部的運行狀態,有時候輸出是正確的,但內部其實已經錯誤了。


這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。


灰盒測試與黑盒測試的區別


如果某軟件包含多個模塊,當你使用黑盒測試時,你只要關心整個軟件系統的邊界,無需關心軟件系統內部各個模塊之間如何協作。而如果使用灰盒測試,你就需要關心模塊與模塊之間的交互。這是灰盒測試與黑盒測試的區別。


灰盒測試與白盒測試的區別


但是,在灰盒測試中,你還是無需關心模塊內部的實現細節。對于軟件系統的內部 模塊,灰盒測試依然把它當成一個黑盒來看待。而白盒測試則不同,還需要再深入地了解內部模塊的實現細節。所以,這是灰盒測試與黑盒測試的區別。


黑盒測試、白盒測試的區別


白盒測試的優點 


1、能仔細考慮軟件的實現。 


2、可檢測代碼中的每條分支和路徑。 


3、揭示隱藏在代碼中的錯誤。 


4、對代碼的測試比較徹底。


白盒測試的缺點 


1、昂貴。 


2、無法檢測代碼中遺漏的路徑和數據敏感性錯誤


3、不驗證規格的正確性。


黑盒測試的優點 


1、對于子系統甚至系統,效率要比白盒測試高。 


2、測試人員不需要了解實現的細節,包括特定的編程語言。 


3、測試人員和編程人員彼此獨立。 


4、從用戶的角度進行測試,很容易理解和接受。 


5、有助于暴露規格的不一致或有歧義的問題。 


6、測試用例可以在規格完成后馬上進行。


黑盒測試的缺點 


1、只有一小部分輸入被測試到,要測試每個可能的輸入幾乎不可能。 


2、沒有清晰、簡明的規格,測試用例很難設計。 


3、如果測試人員不被告知開發人員已經執行過的用例,在測試數據上會存在不必要的重復。 


4、有很多程序路徑沒有被測試到。 


5、不能直接針對特定程序段測試,而這些程序段可能很復雜,有可能隱藏更多的問題。 


6、大部分和研究相關的測試都是直接針對白盒測試的。


總結:


總而言之,言而總之,采用什么樣的方法去測試,需要公司和項目組成員根據實際情況去制定。


灰盒測試是一個很不錯的選擇,其優點明顯而缺點容易克服。朋友們在測試時,可以嘗試用一用,看看效果如何。


文章來源:網絡 版權歸原作者所有

上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8103),我們將立即處理。

相關閱讀
/
手机棋牌红黑大战技巧 高手平特肖论坛精选 go6h·com现场直播开奖 2019—2020西甲赛程积分榜 麻将来了怎么创建房间 至尊棋牌下载手机版 网络赚钱有什么办法 哈灵麻将下载客户端 qq斗地主下载2015免费 玩什么网络游戏赚钱 新天天捕鱼水浒电玩城