白盒测试及其基本方法
一、
白盒測試也稱結構測試或邏輯驅動測試,它是按照程序內部的結構測試程序,通過測試來檢測產品內部動作是否按照設計規格說明書的規定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。 這一方法是把測試對象看作一個打開的盒子,測試人員依據程序內部邏輯結構相關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試,通過在不同點檢查程序的狀態,確定實際的狀態是否與預期的狀態一致。二、概述
白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基于代碼的測試。白盒測試是一種測試用例的設計方法,盒子對應的是被測試的測試,"白盒"法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。三、基本方法
強度由低到高:語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋。
(1)語句覆蓋:就是設計若干個測試用例,運行被測程序,使得每一可執行語句至少執行一次。
(2)判定覆蓋:使設計的測試用例保證程序中每個判斷的每個取值分支至少經歷一次。
(3)條件覆蓋:條件覆蓋是指選擇足夠的測試用例,使得運行這些測試用例時,判定中每個條件的所有可能結果至少出現一次,但未必能覆蓋全部分支
(4)判定條件覆蓋:判定-條件覆蓋就是設計足夠的測試用例,使得判斷中每個條件的所有可能取值至少執行一次,同時每個判斷的所有可能判斷結果至少執行,即要求各個判斷的所有可能的條件取值組合至少執行一次。
(5)條件組合覆蓋:在白盒測試法中,選擇足夠的測試用例,使所有判定中各條件判斷結果的所有組合至少出現一次,滿足這種覆蓋標準成為條件組合覆蓋。
(6)路徑覆蓋:是每條可能執行到的路徑至少執行一次。
補充:(1)語句覆蓋在所有的測試方法中是一種最弱的覆蓋。
(2)判定覆蓋和條件覆蓋比語句覆蓋強,滿足判定/條件覆蓋標準的測試用例一定也滿足判定覆蓋、條件覆蓋和語句覆蓋(3)路徑覆蓋也是一種比較強的覆蓋,但未必考慮判定條件結果的組合,并不能代替條件覆蓋和條件組合覆蓋。
四、優缺點
1. 優點
a.迫使測試人員去仔細思考軟件的實現
b.可以檢測代碼中的每條分支和路徑
c.揭示隱藏在代碼中的錯誤
d.對代碼的測試比較徹底
e.最優化
2. 缺點
a.代價昂貴
b.無法檢測代碼中遺漏的路徑和數據敏感性錯誤
c.不驗證規格的正確性
五、白盒測試中設計到圈復雜度的計算
首先要畫出控制流圖(這里不再加以說明)
圈復雜度計算公式為:V(G)=e-n+2。其中,e表示控制流圖中邊的數量,n表示控制流圖中節點的數量。
此外圈復雜度的計算還有更直觀的方法,因為圈復雜度所反映的是“判定條件”的數量,所以圈復雜度實際上就是等于判定節點的數量再加上1,也即控制流圖的區域數,
此外對應與控制流圖區域數還有一個圈復雜度計算公式:V(G)=區域數=判定節點數+1。其中判定節點是控制流圖中出現的判斷條件。
下面附上一個實例,實例并不是很好,但是很全,由于包含細節較多,如有錯誤,還望見諒。
被測程序:尋找最大數程序:max.numbers
程序操作說明:從鍵盤輸入3個整數(間隔為空格),找出并輸出其中數值最大的那一個。如果其中有一個以上的最大數(相等的情況),也要表示出來。
include
總結
以上是生活随笔為你收集整理的白盒测试及其基本方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring 马士兵
- 下一篇: 关于ATSHA204a的使用流程