1. 程式人生 > >揭秘白盒與黑盒測試之間的秘密!-附加思維導圖

揭秘白盒與黑盒測試之間的秘密!-附加思維導圖

外部 通路 檢測 操作 能說 img vpd 集成測試 shadow

結合了工作經驗,寫出了這篇文章,全是幹貨和經驗分享。用您5分鐘時間閱讀完,希望能對您有幫助!

白盒測試

白盒測試(White-box Testing,又稱邏輯驅動測試,結構測試),它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能。

對開發語言的支持:白盒測試工具是對源代碼進行的測試,測試的主要內容包括詞法分析與語法分析、靜態錯誤分析、動態檢測等。目前測試工具主要支持的開發語言包括:標準C、C++、Visual C++、Java、Visual J++等。

白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟件驗證。“白盒”法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。“白盒”法是窮舉路徑測試。

軟件的白盒測試是對軟件的過程性細節做細致的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。白盒測試主要是想對程序模塊進行如下檢查:

1、對程序模塊的所有獨立的執行路徑至少測試一遍。
2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在循環的邊界和運行的界限內執行循環體。
4、測試內部數據結構的有效性,等等。

黑盒測試

定義:黑盒測試法把程序看成一個黑盒子,完全不考慮程序內部結構和處理過程; 黑盒測試是在程序外部進行測試,他只是檢查程序功能是否按照規格說明書的規定正常使用。黑盒測試又稱功能測試。

軟件的黑盒測試意味著測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數據驅動測試。黑盒測試主要是為了發現以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
技術分享圖片
白盒與黑盒的區別
任何工程產品都可以使用以下兩種方法之一進行測試。

黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。

白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。

白盒與黑盒的用處
初始測試集中在每個模塊上,保證源代碼的正確性,該階段成為單元測試,主要用白盒測試方法。
接下來是模塊集成和集成以便組成完整的軟件包。集成測試集中在證實和程序構成問題上,主要采用黑盒測試方法,輔之以白盒測試方法。

靜態測試

通過運行程序測試軟件稱為動態測試。
通過評審文檔、閱讀代碼等方式測試軟件稱為靜態測試。
在動態測試中,通常使用白盒測試和黑盒測試從不同的角度設計測試用例,查找軟件代碼中的錯誤。
靜態測試方法是指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。對需求規格說明書、軟件設計說明書、源程序做結構分析、流程圖分析、符號執行來找錯。
靜態方法通過程序靜態特性的分析,找出欠缺和可疑之處,例如不匹配的參數、不適當的循環嵌套和分支嵌套、不允許的遞歸、未使用過的變量、空指針的引用和可疑的計算等。
靜態測試結果可用於進一步的查錯,並為測試用例選取提供指導。

回歸測試****

是在程序有修改的情況下,保證原有功能正常的一種測試策略和方法。
大白話就是,我們測試人員在對程序進行測試時發現bug,然後返還程序員修改,程序員修改後發布新的軟件包或新的軟件補丁包給我們測試人員,我們就要重新對這個程序測試,已保證程序在修正了以前bug的情況下,正常運行,且不會帶來新的錯誤的這樣一個過程。 一般情況下是不需要全面測試的,而是根據修改的情況進行有效的測試。
10G海量軟件測試相關資料,視頻,工具等你來領

百度雲獲取資料點他

揭秘白盒與黑盒測試之間的秘密!-附加思維導圖