tft每日頭條

 > 科技

 > 黑盒測試和白盒測試區别

黑盒測試和白盒測試區别

科技 更新时间:2025-02-09 13:19:42

黑盒測試和白盒測試區别(軟件測試黑盒白盒)1

從被測試對象的角度分類,測試方法可以分為黑盒測試、白盒測試、灰盒測試三種,這也是我們最常看到的分類方法。

任何一個程序在測試時都由這幾部分組成:輸入、程序的處理過程和輸出三部分,如圖1-1 所示。黑盒測試是指在整個測試過程中隻關注輸入和輸出,如果輸入一個測試數據,輸出的結果是正确的,我們就認為這個功能是正确的。如輸入測試數據(2,2),結果如果輸出為4,就認為是正确的,其中程序是如何處理的,測試工程師并不關注,這裡有可能是2×2、2 2,也可能是22。當然如果不知道程序是怎麼處理的,那麼再另一組數據後,可能得到的結果就不一定正确了,如輸入(3,3),那結果就不一定會正确了。

黑盒測試和白盒測試區别(軟件測試黑盒白盒)2

白盒測試與黑盒測試不同的地方是,白盒測試不僅僅關注輸入與輸出的結果是否正确,同時還關注程序是如何處理的,同樣是上面的例子,輸入測試數據(2,2),白盒測試不僅僅關注測試結果是否為4,同時還關注這個程序的内部邏輯處理過程。

關于黑盒測試和白盒測試其實還像社會的兩種人,黑盒測試就相當于黑道,白盒測試就相當于白道。黑道的老大如果要解決什麼事情,他們會派下屬去處理,并且老大隻關注結果,至于中間是如何處理的,與他沒有關系。而白道的人即我們說的公務員,他們對辦事的整個流程或法律體系都很了解。舉個例子,你親戚和别人打架了,把别人打了,你第一件事不會去報案,而是聯系朋友看法院、派出所或其他的相關部門是否有熟人,因為這些人對法律流程很熟悉,他們很清楚如何将你親戚的責任最小化。

但是這個社會還有一類人,是黑白通吃的,這就是我們測試分類裡面的灰盒測試,灰盒測試是界于黑盒測試和白盒測試之間的一種測試。之所以存在灰盒測試,是因為按測試階段來劃分,整個測試的流程包括單元測試、集成測試、系統測試,而白盒測試對應單元測試,黑盒測試對應系統測試,那麼在正确的測試過程中,應該是先測試單元模塊,單元模塊測試完成之後,并沒有立即進入系統測試,而是集成測試,這個時候其使用的方法就是灰盒測試,即我們測試完成單個模塊後,雖然單個模塊沒有問題,但并不代表這些模塊組合在一塊時就一定沒有問題。那麼要驗證這些功能模塊組合在一起有沒有問題,這就是我們說的集成測試,其使用方法就是灰盒測試。

從某種角度來說,白盒測試顯然比黑盒測試更全面,因為他們不僅關注測試結果,還注重程序内部的邏輯結構,所以有人提出為什麼不能隻有白盒測試就可以呢?答案顯然是肯定的。讨論這個極端的問題,其反過來的問題就是黑盒測試的内容有哪些是白盒測試不可能做到的。我們說黑盒測試是更接近用戶使用的測試,所以關于用戶使用流程、易用性等方面并不是白盒測試可以測試到的,也就是如果白盒測試沒問題後,并不能保證程序的易用性、界面顯示、業務流程等内容就一定沒有錯誤。同樣的道理,顯然隻有黑盒測試也是不夠的,因為黑盒測試雖然可以更好地站在用戶的角度進行測試,但黑盒測試并不能像白盒測試那麼有效地測試程序内部結構。所以不能極端地認為隻有白盒測試或隻有黑盒測試可以測試好系統。

所以現在一個完善的測試體系中有這三類方法:黑盒測試、白盒測試、灰盒測試。隻有将這三種完美的結合起來,才能更好的保證系統的質量。從軟件測試發展的曆程來看,包括國内軟件測試,其實都是先有黑盒測試才有白盒測試,不可能先做白盒測試再做黑盒測試,并且在現階段國内很少公司做白盒測試,之所以出現這種情況是因為白盒測試對測試工程師的技能要求會高出許多,同時還有一個原因是因為當前國内軟件測試發展還是處于初級階段,所以白盒測試開展的并不理想。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved