發(fā)布時間:2020-07-29
白盒測試是測試人員必須要會的一種測試,白盒測試主要是從代碼句法發(fā)現(xiàn)內部代碼在算法,溢出,路徑,條件等等中的缺點或者錯誤。它的基本方法有代碼檢查、靜態(tài)結構分析法、邏輯覆蓋法、基本路徑測試法以及域測試等方法,與白盒測試相關聯(lián)的是黑盒測試,接下來我們就來了解一下白盒測試的方法和與黑盒測試的區(qū)別。
白盒測試的基本方法有哪些?
1、代碼檢查
代碼檢查包括桌面檢查、代碼審查和走查等,主要檢查代碼和設計的一致性,代碼對標準的遵循、可讀性,代碼邏輯表達的正確性,代碼結構的合理性等方面;發(fā)現(xiàn)違背程序編寫標準的問題,程序中不安全、不明確和模糊的部分,找出程序中不可移植部分、違背程序編程風格的內容,包括變量檢查、命名和類型審查、程序邏輯審查、程序語法檢查和程序結構檢查等內容。
2、靜態(tài)結構分析法
在靜態(tài)結構分析中,測試者通過使用測試工具分析程序源代碼的系統(tǒng)結構、數(shù)據(jù)結構、數(shù)據(jù)結構、內部控制邏輯等內部結構,生成函數(shù)調用關系圖、模塊控制流圖、內部文件調用關系圖、子程序表、宏和函數(shù)參數(shù)表等各類圖形圖標,可以清晰地標識整個軟件系統(tǒng)的組成結構,使其便于閱讀和理解,然后可以通過分析這些圖標,檢查軟件有沒有存在缺陷或錯誤。
3、邏輯覆蓋法
邏輯覆蓋法是基路徑是一組獨立路徑,這組獨立路徑中的所有路徑相互不可替代,其余路徑均可由這組路徑的某種組合方式來遍歷?;窂綔y試就是設計測試用例來覆蓋每條基路徑。
4、基本路徑測試法
基本路徑測試法是在程序控制流圖的基礎上,通過分析控制構造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,從而設計測試用例的方法。
在程序控制流圖的基礎上,通過分析控制構造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,從而設計測試用例。
5、域測試
域測試方法基于對輸入空間的分析。自然,任何一個被測程序都有一個輸入空間。域測試主要針對域錯誤進行的程序測試,測試的理想結果就是檢驗輸入空間中的每一個輸入元素是否都產生正確的結果。域測試正是在分析輸入域的基礎上,選擇適當?shù)臏y試點以后進行測試的。
6、路徑覆蓋
路徑覆蓋的含義是,選取足夠多的測試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次(如果程序圖中有環(huán),則要求每個環(huán)至少經過一次)。
與黑盒測試有哪些區(qū)別
1、從定義上
白盒測試需要從代碼句法發(fā)現(xiàn)內部代碼在算法,溢出,路徑,條件等等中的缺點或者錯誤,進而加以修正。而黑盒測試著重測試軟件功能,它并不涉及程序的內部結構和內容特性。黑盒測試并不能取代白盒測試,它與白盒是互補的測試方法,它很可能發(fā)現(xiàn)白盒測試不易發(fā)現(xiàn)的其他類型錯誤。
2、從測試目的上
黑盒測試的目的是檢測是否有不正確或遺漏的功能;數(shù)據(jù)或者參數(shù)上,輸入能否正確接收;是否有數(shù)據(jù)結構錯誤或外部信息訪問錯誤;性能上是否能夠滿足要求;是否有初始化或終止性錯誤。而白盒測試的目的是通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預期的狀態(tài)一致,而不顧它的功能。
3、檢測方式上
白盒測試是窮舉路徑測試,黑盒測試是窮舉輸入測試,這兩種方法是基于完全不同的觀點,反應了事物的兩個極端,它們各有側重和優(yōu)勢,但不能彼此替代。在現(xiàn)代的測試理念中,這兩種測試方法不是截然分開的,而是交叉使用。
可以說,白盒測試在測試行業(yè)當中是很重要的,因為它從代碼里面進行分析發(fā)現(xiàn)錯誤的,本篇文章到這里就要結束了,小編最后再給大家推薦一個白盒測試的工具,它就是CodeAnalyzer,它可以用于實現(xiàn)靜態(tài)分析、代碼走查、代碼規(guī)范檢查以及代碼潛在錯誤分析等,它是一種脫離編譯器的代碼靜態(tài)分析軟件產品。
推薦閱讀:
Java靜態(tài)代碼掃描怎么做?Java靜態(tài)代碼掃描工具的使用方法
為什么要進行代碼檢查?靜態(tài)代碼分析工具的優(yōu)勢有哪些
您的信息已成功提交!
我們的客服人員稍后會與您聯(lián)系