糯米文學吧

位置:首頁 > 計算機 > 計算機三級

2015年計算機三級《信息管理》基礎知識:白盒測試

白盒測試是根據程序的內部邏輯來設計測試用例,常用的技術是邏輯覆蓋,即考察用測試數據運行被測程序時對程序邏輯的覆蓋程度。主要的覆蓋標準有6種:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋。

2015年計算機三級《信息管理》基礎知識:白盒測試

為了提高測試的效率,應選擇最少的測試用例來滿足指定的覆蓋標準。

 1.語句覆蓋

Examda提示: 語句覆蓋是指選擇足夠的測試用例,使得運行這些測試用例時,被測程序的每個語句至少執行一次。

 2.判定覆蓋

判定覆蓋又稱為分支覆蓋。它是指選擇足夠的測試用例,使得運行這些測試用例時,每個判定的所有可能結果至少出現一次(即判定的每個分支至少經過一次)。

 3.條件覆蓋

在軟件設計過程中,一個判定往往由多個條件組成,判定覆蓋僅考慮了判定的結果而沒有考慮每個條件的可能結果。

條件覆蓋是指選擇足夠的測試用例,使得運行這些測試用例時,判定中的每個條件的所有可能結果至少出現一次。

 4.判定/條件覆蓋

判定/條件覆蓋是指選擇足夠的測試用例。使得運行這些測試用例時,判定中每個條件的所有可能結果至少出現一次,並且每個判定本身的所有可能結果至少出現一次。

顯然,滿足判定/條件覆蓋標準的測試用例一定也滿足判定覆蓋、條件覆蓋和語句覆蓋標準。在某些程序的測試中,如果選擇得好,判定覆蓋、條件覆蓋和判定/條件覆蓋可以使用相同的最少的測試用例。

 5.條件組合覆蓋

在條件覆蓋會考慮了判定中每個條件的所有可能結果,但並未考慮條件的組合情況。條件組合覆蓋是指選擇足夠的測試用例,使得運行這些測試用例時,每個判定中條件結果的所有可能組合至少出現一次。

Examda提示: 由於條件組合覆蓋使每個判定中條件結果的'所有可能組合都至少出現一次,因此判定本身的所有可能結果也一定至少出現一次,同時也使每個條件的所有可能結果至少出現一次。因此,條件組合覆蓋是上述5種覆蓋標準中最強的一種。然而,條件組合覆蓋還不能保證程序中所有可能的路徑都被覆蓋。

 6.路徑覆蓋

路徑覆蓋是指選擇足夠的測試用例,使得運行這些測試用例時,程序的每條可能執行到的路徑都至少經過一次(如果程序中有環路,則要求每條環路至少經過一次)。

路徑覆蓋實際上是考慮了程序中各種判定結果的所有可能組合,但它並未考慮判定中的條件結果的組合,因此它是一種比較強的覆蓋標準,但並不能代替條件覆蓋和條件組合覆蓋。