黑盒測試過程中不用考慮內(nèi)部邏輯結(jié)構(gòu),僅僅需要驗證軟件外部功能是否符合用戶實際需求。黑盒測試可以發(fā)現(xiàn)以下缺陷:
(1)外部邏輯功能缺陷,如界面顯示信息錯誤等。
(2)兼容性錯誤,如系統(tǒng)版本支持、運行環(huán)境等。
(3)性能問題,如運行速度、響應(yīng)時間等。
白盒測試與黑盒測試不同,白盒測試可以設(shè)計測試用例盡可能覆蓋程序中的分支語句,分析程序內(nèi)部結(jié)構(gòu)。白盒測試常用于以下幾種情況:
(1)源程序中含有多個分支,在設(shè)計測試用例時要盡可能覆蓋所有分支,提高測試覆蓋率。
(2)內(nèi)存泄漏檢查迅速,黑盒測試只能在程序長時間運行中發(fā)現(xiàn)內(nèi)存泄漏問題,而白盒測試能立即發(fā)現(xiàn)內(nèi)存泄漏問題。
黑盒測試與白盒測試在不同的測試階段使用情況也不同,兩者在不同階段的使用情況如表3-9所示。
表3-9黑盒測試和白盒測試不同階段的使用情況
從表3-9中可以看出各個階段使用的測試方法不同,在測試過程中,黑盒測試與白盒測試結(jié)合使用會大大提升軟件測試質(zhì)量。