黑盒測試
軟件的黑盒測試意味着測試要在軟件的接口處進行。
這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序内部的邏輯結構和内部特性,隻依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。
因此黑盒測試又叫功能測試或數據驅動測試。
通俗方式舉例說明:
小明從商場的某一個入口進入,你在商場外面等待,并不知道商場内發生了什麼,隻知道正确的結果是,小明帶着一堆商品從某一個出口(可以與入口相同)出來。
這是原定正确的情況,不出錯我們就不需要管商場裡面發生了什麼,否則,在多次逛商場(多次黑盒測試)之中,發生無法達到原定正确的情況,例如小明與人争執、小明沒帶錢、小明有問題需要與自己協商等情況的發生,就需要測試人員進行檢查了。
白盒測試
軟件的白盒測試是對軟件的過程性細節做細緻的檢查。
這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序内部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀态,确定實際狀态是否與預期的狀态一緻。
因此白盒測試又稱為結構測試或邏輯驅動測試。
通俗方式舉例說明:
小明從商場的某一個入口進入,你随着陪同進入商場,全程陪伴,觀察小明購物的每個細節,了解其走過的每一步,發生的每個小情況,然後,你抱着一堆商品陪着小明從某一個出口出來。
灰盒測試
灰盒測試,是介于白盒測試與黑盒測試之間的。
可以這樣理解,灰盒測試關注輸出對于輸入的正确性,同時也關注内部表現,但這種關注不象白盒那樣詳細、完整,隻是通過一些表征性的現象、事件、标志來判斷内部的運行狀态,有時候輸出是正确的,但内部其實已經錯誤了。
這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。
灰盒測試與黑盒測試的區别
如果某軟件包含多個模塊,當你使用黑盒測試時,你隻要關心整個軟件系統的邊界,無需關心軟件系統内部各個模塊之間如何協作。而如果使用灰盒測試,你就需要關心模塊與模塊之間的交互。這是灰盒測試與黑盒測試的區别。
灰盒測試與白盒測試的區别
但是,在灰盒測試中,你還是無需關心模塊内部的實現細節。對于軟件系統的内部 模塊,灰盒測試依然把它當成一個黑盒來看待。而白盒測試則不同,還需要再深入地了解内部模塊的實現細節。所以,這是灰盒測試與黑盒測試的區别。
黑盒測試、白盒測試的區别
白盒測試的優點
1、能仔細考慮軟件的實現。
2、可檢測代碼中的每條分支和路徑。
3、揭示隐藏在代碼中的錯誤。
4、對代碼的測試比較徹底。
白盒測試的缺點
1、昂貴。
2、無法檢測代碼中遺漏的路徑和數據敏感性錯誤3、不驗證規格的正确性。
黑盒測試的優點
1、對于子系統甚至系統,效率要比白盒測試高。
2、測試人員不需要了解實現的細節,包括特定的編程語言。
3、測試人員和編程人員彼此獨立。
4、從用戶的角度進行測試,很容易理解和接受。
5、有助于暴露規格的不一緻或有歧義的問題。
6、測試用例可以在規格完成後馬上進行。
黑盒測試的缺點
1、隻有一小部分輸入被測試到,要測試每個可能的輸入幾乎不可能。
2、沒有清晰、簡明的規格,測試用例很難設計。
3、如果測試人員不被告知開發人員已經執行過的用例,在測試數據上會存在不必要的重複。
4、有很多程序路徑沒有被測試到。
5、不能直接針對特定程序段測試,而這些程序段可能很複雜,有可能隐藏更多的問題。
6、大部分和研究相關的測試都是直接針對白盒測試的。
總結:
總而言之,言而總之,采用什麼樣的方法去測試,需要公司和項目組成員根據實際情況去制定。
灰盒測試是一個很不錯的選擇,其優點明顯而缺點容易克服。朋友們在測試時,可以嘗試用一用,看看效果如何。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!