文/秋之川
這是《落葉》文集里第 338 片落葉蜓斧,希望你能喜歡,不為別的侥袜,只為這份堅持蝌诡。
【提問】
如何區(qū)分軟件測試中的黑與白?
【舊識】
黑盒測試和白盒測試枫吧,應該是我邁進軟件測試大門時最先接觸到的兩個概念了浦旱。軟件系統(tǒng)或程序通常被看作一個加工工廠,這個工廠有一個入口和一個出口由蘑。
- 只關注從入口進去的原材料和從出口出來的成品的測試類型闽寡,稱之為黑盒測試。
- 不僅僅關注原材料和成品尼酿,還關注工廠的加工流程和工藝的測試類型爷狈,稱之為白盒測試。
所以裳擎,根據(jù)概念涎永,我把功能測試或手工測試都簡單地看作了黑盒測試,而把以代碼為對象的測試都看作了白盒測試鹿响,比如單元測試和接口測試羡微。
【新知】
從測試對象區(qū)分:
- 黑盒測試的測試對象是輸入數(shù)據(jù)和期望結果。根據(jù)這個定義惶我,接口測試其實應該歸為黑盒測試妈倔。
- 白盒測試的測試對象是實現(xiàn)功能的源代碼。根據(jù)這個定義绸贡,單元測試就是白盒測試盯蝴。
從測試方法區(qū)分:
- 黑盒測試是通過分析程序的功能毅哗、性能和安全性等因素是否滿足需求來設計測試用例的,主要針對業(yè)務功能和用戶場景捧挺。
- 白盒測試是通過分析被測對象的內(nèi)部程序結構和數(shù)據(jù)流來設計測試用例虑绵,主要針對程序語句、路徑和變量狀態(tài)值等闽烙,檢查代碼是否按照預期執(zhí)行翅睛。所以白盒測試又叫結構測試或邏輯驅動測試。
從用戶角度區(qū)分
- 黑盒測試就是更接近用戶的黑竞,或者說用戶最關注的部分的測試捕发,比如:UI、易用性很魂、業(yè)務流程爬骤、性能、安全性等等莫换。
- 白盒測試就是遠離用戶的霞玄,或者說是用戶不會關注的部分的測試,比如程序內(nèi)部的代碼結構性拉岁、邏輯正確性坷剧、路徑覆蓋率等等。
作者簡介:14 年測試 + 11 年項目管理 + 11 年團隊管理 = 一個測試老兵