tft每日頭條

 > 科技

 > 黑盒測試與白盒測試主要區别

黑盒測試與白盒測試主要區别

科技 更新时间:2024-11-29 19:35:15

在軟件測試工作中,為充分利用現有的時間和資源條件,提高測試效率和測試充分性,當前有多種方法輔助測試人員完成測試工作,推進項目進度,其中最普遍的莫過于白盒測試和黑盒測試,白盒測試和黑盒測試的概念和常用方法在已有理論研究中都有充分的論述,但是具體應用場景則需要測試人員根據測試任務特征和時間安排合理選用。

黑盒測試與白盒測試主要區别(白盒測試與黑盒測試的聯系與區别)1

作為一名非計算機科班出身的技術小白,兩年有餘的業務驗收測試和系統功能測試收效明顯,從最開始隻能看着需求和業務規則,結合個人感覺盲寫案例,到現在已經可以根據項目特征和業務場景,混搭等價類劃分、邊界值分析和邏輯覆蓋、基本路徑各種方法寫案例做測試。基于個人工作經曆和測試經驗,以下對白盒測試、黑盒測試和灰盒測試的應用場景進行适當的推薦,僅供各位同行參考。

一、黑盒測試

首先從簡單的開始,黑盒測試不要求考慮程序的内部邏輯和數據處理,不要求測試人員遍曆代碼閱讀程序,隻需要明确輸入輸出規則,确保系統或模塊實現了業務需求。

(1)建議在對穩定運行的大中型系統進行小規模的功能優化或改造過程中使用黑盒測試方法,隻需要明确當前項目的改造點,确認與已有功能的關聯性和影響,針對項目改造範圍進行測試,非特殊情況無需了解系統或模塊的全部處理邏輯。

(2)建議複雜度和重要性較低的系統,在時間精力有限的情況下優先選用黑盒測試方法進行測試。測試人員首先明确業務需求,使用等價類劃分和邊界值分析方法完成測試案例設計,适當結合程序特征、個人經驗以及冒煙測試情況等對測試案例進行修訂補充,在系統無重大問題或異常的情況下,一般黑盒測試即可滿足該類系統測試要求。

(3)建議适當考量測試人員或測試團隊專業技術能力以及測試階段,如在系統功能測試已經完成的前提下,業務方執行的業務驗收測試可以使用黑盒測試方法,降低了團隊組建成本和測試成本,無需要求業務人員對代碼和軟件邏輯進行充分學習和掌握。

黑盒測試與白盒測試主要區别(白盒測試與黑盒測試的聯系與區别)2

二、白盒測試

白盒測試要求測試人員對代碼和程序邏輯有相應了解,對測試人員專業背景或能力有一定要求,建議根據項目需求和測試要求選擇測試方法。

(1)一般單元測試及集成測試需要使用白盒測試方法,包括代碼檢查法、靜态結構分析法等,相關測試多由開發人員完成,具體視項目團隊分工而定。

(2)建議針對新建系統或已有系統新增重要模塊時使用白盒測試方法,例如邏輯覆蓋或基本路徑測試法,尤其推薦在有較多校驗關系且校驗關系間存在嵌套時使用,使用時一般可參考程序代碼、詳細設計說明書、程序控制流圖等相關資料,幫助減少測試人員的分析工作量等。

(3)建議對重點系統進行架構優化、對公共函數或程序進行改造、對後台或接口内容進行調整時選用白盒測試方法,一方面關注優化改造後對原有程序的改動大小,一方面關注調用方或消費方是否受影響,新版本程序或系統對舊版本的兼容性,避免關聯系統由于改造時測試不充分受到影響。

(4)建議關注測試中的集群現象,對于缺陷或問題集中的功能和模塊建議及時由黑盒測試方法改為白盒測試,在缺陷管理過程中及時進行小範圍的測試方法調整,同時保證測試效率和測試充分性。

在兩年多的測試工作中,本人主要參與櫃台業務系統、客戶定制化應用等不同系統或項目的測試工作。其中櫃台業務系統因為系統成熟、運行穩定,當前較為常見的是監管或業務等方面要求的小規模優化改造,例如增加校驗、增加授權、更改權限級别、減少展示信息等,相關項目大多對當前内容或當前程序邏輯影響較小,通常采用黑盒測試即可。

在銀行對公業務尤其是大客戶服務領域,定制化應用或功能較為常見,運維或客戶需求改變導緻的小規模優化可以選擇黑盒測試方法,而新建系統或模塊或功能測試需要盡量充分,白盒測試方法可以用于輔助案例設計,尤其校驗關系較多且存在嵌套時,使用基本路徑法設計要素級測試案例可以最小化案例數量,同一思路還可以用于設計流程級測試案例。

黑盒測試與白盒測試主要區别(白盒測試與黑盒測試的聯系與區别)3

近期一次新增模塊測試中在流程案例設計就使用了基本路徑法,核心交易共有3個不同的流程,3個流程共有4種組合,每個流程涉及最少4支聯機交易,最多8支聯機交易,每個流程另外涉及最少3個定時交易,各流程起點以外的交易有正反兩種狀态,一個對象在每個流程中流轉時會有15-20種狀态。

在測試人力有限且項目周期緊張、測試交付延誤的情況下,測試方的壓力巨大,窮舉測試的工作量完全不可接受,要保證案例充分覆蓋功能點,使用白盒測試中的基本路徑法是非常有必要的,确認程序節點,畫出程序控制流圖,分析控制流圖的環路複雜性,導出基本路徑集合并進一步設計測試案例,由此保證測試充分并盡量壓縮測試工作量無論對測試人員還是對整體項目都非常有意義。

總而言之,其實各種方法最終還是為軟件系統服務,測試人員可以結合項目情況、時間成本、個人偏好适當選擇,"不管黑貓還是白貓,抓得住老鼠才是好貓",不論使用哪種方法或方法組合,能在适當的時間和成本下發現盡量多的缺陷和問題,保證系統按時上線穩定運行才是最重要的。

請關注 私信回複:“測試”就可以免費拿到軟件測試學習資料。

黑盒測試與白盒測試主要區别(白盒測試與黑盒測試的聯系與區别)4

,

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

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

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