1. 程式人生 > 其它 >黑盒與白盒測試

黑盒與白盒測試

一.簡介

最大區別:關注物件不一樣

黑盒測試和白盒測試,二者最大的區別應該就是測試時關注的物件不一樣。

黑盒測試主要針對的是程式所展現給使用者的功能,白盒測試主要針對的是程式程式碼邏輯,簡單的說,就是前者測試最終展示功能,後者測試後臺程式。

黑盒,顧名思義就是:把測試物件看作一個不能開啟的黑盒子。測試時,測試人員完全不用考慮盒子裡面的邏輯結構和具體運作,只依據程式的需求規格說明書,檢查程式的功能是否符合它的功能說明,檢驗輸出結果對不對。

白盒測試與黑盒恰恰相反,這種方法是把測試物件看作一個開啟的透明盒子。測試時,測試人員會利用程式內部的邏輯結構及有關資訊,通過在不同點檢查程式狀態,檢驗程式中的每條通路是否都能按預定要求進行正確工作。

二.例子

假設,小A和小B是一對情侶,決定在家做飯。小A讓小B出門買菜,最好一個小時內能買齊回家。

如果在黑盒模式下,小A(測試人員)會為小B列出一張購買清單(所謂:需求規格說明書),然後告訴小B,現在是9:45,只要在10:45之前買齊所有東西,帶著回家就可以了。

如果在白盒模式下,小B達到指定的菜場後,小A開始電話遠端指揮:

  1. 首先買肉,賣肉的攤位,你要去指定的那一家。
  2. 你現在進的是南門嗎?走南門的話,進去,靠右走,一直走到最裡面……
  3. 什麼?你走的北門?如果是走北門的話,一進去,先左拐,走到頭,到賣酸奶那裡,往右拐,一直往前走……
  4. 跟老闆說要買黑豬肉,要前腿,不要後腿,6兩就夠了。
  5. 好了,現在去買豆芽。
  6. 豆芽一定要看好日期,看看是不是今天的。如果不是今天的,就買昨天的。如果昨天的也沒有,就不新鮮了。
  7. 哦,對了,有三種牌子的豆芽,一種散稱的,兩種袋裝的。要是袋裝的沒有,就買散稱的。如果你買散稱的,你要看看根兒黑了沒,別挑杆太肥的……
  8. 接下來……

從技術角度來看白盒的難度更高,需要測試程式碼的邏輯是否達到需求,要測試人員也能看得懂程式碼才行。

那黑盒測試和白盒測試到底哪個更好呢?其實,從上面的例子也不難看出,兩者的優勢各不相同。但無論採用哪種測試方法,毫無疑問都是為了找出缺陷,發現風險,從而確保軟體的缺陷更少,質量更好。黑盒和白盒,始終交織出現在我們的測試工作中。

本文版權歸作者所有,歡迎轉載,請務必新增原文連結。