揭祕白盒與黑盒測試之間的祕密!-乾貨整理

結合了工做經驗,寫出了這篇文章,全是乾貨和經驗分享。用您5分鐘時間閱讀完,但願能對您有幫助!程序員

白盒測試segmentfault

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

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

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

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

一、對程序模塊的全部獨立的執行路徑至少測試一遍。
二、對全部的邏輯斷定,取「真」與取「假」的兩種狀況都能至少測一遍。
三、在循環的邊界和運行的界限內執行循環體。
四、測試內部數據結構的有效性,等等。測試

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

軟件的黑盒測試意味着測試要在軟件的接口處進行。這種方法是把測試對象看作一個黑盒子,測試人員徹底不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。所以黑盒測試又叫功能測試或數據驅動測試。黑盒測試主要是爲了發現如下幾類錯誤:
一、是否有不正確或遺漏的功能?
二、在接口上,輸入是否能正確的接受?可否輸出正確的結果?
三、是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?
四、性能上是否可以知足要求?
五、是否有初始化或終止性錯誤?
0G海量軟件測試相關資料,視頻,工具等你來領設計

百度雲獲取資料點他👉連接: 提取碼: esyd 指針

白盒與黑盒的區別
任何工程產品均可以使用如下兩種方法之一進行測試。

黑盒測試:已知產品的功能設計規格,能夠進行測試證實每一個實現了的功能是否符合要求。
白盒測試:已知產品的內部工做過程,能夠經過測試證實每種內部操做是否符合設計規格要求,全部內部成分是否以通過檢查。

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

靜態測試

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

迴歸測試

是在程序有修改的狀況下,保證原有功能正常的一種測試策略和方法。
大白話就是,咱們測試人員在對程序進行測試時發現bug,而後返還程序員修改,程序員修改後發佈新的軟件包或新的軟件補丁包給咱們測試人員,咱們就要從新對這個程序測試,已保證程序在修正了之前bug的狀況下,正常運行,且不會帶來新的錯誤的這樣一個過程。 通常狀況下是不須要全面測試的,而是根據修改的狀況進行有效的測試。
百度雲獲取資料點他👉連接: 提取碼: esyd

軟件的缺陷等級應如何劃分?

1.致命錯誤,可能致使本模塊以及其餘相關模塊異常,死機等問題;
2.嚴重錯誤,問題侷限在本模塊,致使模塊功能失效或異常退出;
3.通常錯誤,模塊功能部分失效;
4.建議問題,由問題提出人對測試對象的改進意見.

軟件測試的階段

通常來講可分爲單元測試,集成測試,系統測試,驗收測試;

單元測試

是對軟件中的基本組成單位進行的測試,如一個模塊、一個過程等等。它是軟件動態測試的最基本的部分,也是最重要的部分之一,其目的是檢驗軟件基本組成單位的正確性。
單元測試是在軟件開發過程當中要進行的最低級別的測試活動,在單元測試活動中,軟件的獨立單元將在與程序的其餘部分相隔離的狀況下進行測試,測試重點是系統的模塊,包括子程序的正確性驗證等。

集成測試

是在軟件系統集成過程當中所進行的測試,其主要目的是檢查軟件單位之間的接口是否正確。
集成測試,也叫組裝測試或聯合測試。在單元測試的基礎上,將全部模塊按照設計要求,組裝成爲子系統或系統,進行集成測試。實踐代表,一些模塊雖然可以單獨地工做,但並不能保證鏈接起來也能正常的工做。程序在某些局部反映不出來的問題,在全局上極可能暴露出來,影響功能的實現。測試重點是模塊間的銜接以及參數的傳遞等。

系統測試

是將通過測試的子系統裝配成一個完整系統來測試。它是檢驗系統是否確實能提供系統方案說明書中指定功能的有效方法。測試重點是整個系統的運行以及與其餘軟件的兼容性。
集成好的軟件系統進行完全的測試,以驗證軟件系統的正確性和性能等知足其規約所指定的要求,檢查軟件的行爲和輸出是否正確並不是一項簡單的任務,它被稱爲測試的「先知者問題」。

驗收測試

是在向軟件的購買者展現該軟件系統知足其用戶的需求。它的測試數據一般是系統測試數據的子集。

圖片描述

以上建議僅供參考!【樂搏軟件測試】【樂搏學院】若有侵權請聯繫刪除

相關文章
相關標籤/搜索