【落葉338】【周問日答】(4)如何區(qū)分軟件測試中的黑與白?

文/秋之川

【目錄】

這是《落葉》文集里第 338 片落葉,希望你能喜歡,不為別的,只為這份堅持。

【提問】

如何區(qū)分軟件測試中的黑與白?

【舊識】

黑盒測試和白盒測試,應該是我邁進軟件測試大門時最先接觸到的兩個概念了。軟件系統(tǒng)或程序通常被看作一個加工工廠,這個工廠有一個入口和一個出口。

  • 只關注從入口進去的原材料和從出口出來的成品的測試類型,稱之為黑盒測試。
  • 不僅僅關注原材料和成品,還關注工廠的加工流程和工藝的測試類型,稱之為白盒測試。

所以,根據概念,我把功能測試或手工測試都簡單地看作了黑盒測試,而把以代碼為對象的測試都看作了白盒測試,比如單元測試和接口測試。

【新知】

從測試對象區(qū)分:

  • 黑盒測試的測試對象是輸入數據和期望結果。根據這個定義,接口測試其實應該歸為黑盒測試。
  • 白盒測試的測試對象是實現(xiàn)功能的源代碼。根據這個定義,單元測試就是白盒測試。

從測試方法區(qū)分:

  • 黑盒測試是通過分析程序的功能、性能和安全性等因素是否滿足需求來設計測試用例的,主要針對業(yè)務功能和用戶場景。
  • 白盒測試是通過分析被測對象的內部程序結構和數據流來設計測試用例,主要針對程序語句、路徑和變量狀態(tài)值等,檢查代碼是否按照預期執(zhí)行。所以白盒測試又叫結構測試或邏輯驅動測試。

從用戶角度區(qū)分

  • 黑盒測試就是更接近用戶的,或者說用戶最關注的部分的測試,比如:UI、易用性、業(yè)務流程、性能、安全性等等。
  • 白盒測試就是遠離用戶的,或者說是用戶不會關注的部分的測試,比如程序內部的代碼結構性、邏輯正確性、路徑覆蓋率等等。

查看全部《周問日答》

作者簡介:14 年測試 + 11 年項目管理 + 11 年團隊管理 = 一個測試老兵

【目錄】

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容