當前位置:才華齋>計算機>計算機三級>

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

計算機三級 閱讀(2.88W)

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

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

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

 1.語句覆蓋

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

 2.判定覆蓋

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

 3.條件覆蓋

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

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

 4.判定/條件覆蓋

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

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

 5.條件組合覆蓋

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

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

 6.路徑覆蓋

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

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