白盒測試中幾種邏輯覆蓋法及其優缺點

2021-10-05 09:24:37 字數 1203 閱讀 7995

詳述:

定義:設計若干個測試用例,使被測試程式中的每條可執行語句至少執行一次。比如說我們測試用例裡面有10個語句,那麼這10個語句都要被測試到。

優點:可以很直觀地從源**得到測試用例,無須細分每條判定表示式 ;

缺點:種測試方法僅僅針對程式邏輯中顯式存在的語句,但對於隱藏的條件和可能到達的隱式邏輯分支,是無法測試的。例如在判斷中把&&錯誤的寫成了||,測試用例仍可以覆蓋所有的執行語句。 一般認為「語句覆蓋」是很不充分的一種標準,是最弱的邏輯覆蓋準則。

詳述:定義:判定覆蓋是設計足夠多的測試用例,使得程式中的每乙個條件判斷至少獲得一次「真」和一次「假」,即使得程式流程圖中的每乙個真假分支至少被執行一次。

優點:判定覆蓋具有比語句覆蓋更強的測試能力,同樣也無須細分每條判定表示式。

缺點:判定覆蓋能夠滿足條件的要求,但是不能對判斷條件進行檢查。

詳述:定義:設計測試用例,使得判定中的每個條件至少有一次取得真值,一次取得假值。所以,不僅程式中的每個語句至少被執行一次,而且使每個判定表示式中的每個條件都取到各種可能的結果。

優點:條件覆蓋比判定覆蓋增加了對判定中所有條件的測試,對於條件來說更加全面

缺點:但條件覆蓋並不能完全保證判定覆蓋。要達到條件覆蓋,需要足夠多的測試用例,但條件覆蓋並不能保證判定覆蓋。條件覆蓋只能保證每個條件至少有一次為真,而不考慮所有的判定結果。

詳述:定義:設計足夠多的測試用例,使被測程式中每個判定的每個條件的所有可能取值(真假)至少執行一次,並且每個判定的所有可能(真假)分支也至少執行一次 。通俗來講,就是條件和判定覆蓋的昇華!

優點:判定/條件覆蓋滿足判定覆蓋準則和條件覆蓋準則,彌補了二者的不足。

缺點:判定/條件覆蓋準則的缺點是未考慮條件的邏輯情況,對條件的依賴性很大,如果條件錯了,也無法判定出來。

詳述:定義:設計足夠多的測試用例,使被測程式中每個判定的所有可能的條件取值組合至少執行一次。

優點:多重條件覆蓋準則滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準則。

缺點:1.線性地增加了測試用例的數量。

2 可能不會覆蓋所有的路徑,例如上圖的abdf路徑就沒有執行。

詳述:定義:執行所測程式,要覆蓋程式中所有可能的路徑。

優點:這種測試方法可以對程式進行徹底的測試路徑覆蓋面比前面五種都廣。

缺點:由於路徑覆蓋需要對所有可能的路徑進行測試(包括迴圈、條件組合、分支選擇等),那麼需要設計大量、複雜的測試用例,使得工作量呈指數級增長。而在有些情況下,一些執行路徑是不可能被執行的。

白盒測試邏輯覆蓋法

看新定的測試覆蓋率標準,有點暈。1 語句覆蓋率達到100 2 分支覆蓋率不低於70 開始覺得,這兩個限制有點矛盾,語句覆蓋率都達到100 了,分支覆蓋率還沒達到100 答案 是。舉個例子說明 if a and b then action1 if c or d then action2 就拿這個來說,...

白盒測試 邏輯覆蓋法

白盒測試又稱結構測試 透明盒測試 邏輯驅動測試或基於 的測試。白盒測試是一種測試用例設計方法方法,盒子指的是被測試的軟體,白盒指的是盒子是可視的,你清楚盒子內部的東西以及裡面是如何運作的。白盒 法全面了解程式內部邏輯結構 對所有邏輯路徑進行測試。白盒 法是窮舉路徑測試。在使用這一方案時,測試者必須檢...

白盒測試的邏輯覆蓋法

邏輯覆蓋是以程式內部的邏輯結構為基礎的設計測試用例的技術。它屬白盒測試。邏輯覆蓋包括語句覆蓋 判定覆蓋 條件覆蓋 判定 條件覆蓋 條件組合覆蓋和路徑覆蓋。六種覆蓋標準發現錯誤的能力呈由弱到強的變化 1.語句覆蓋 2.判定覆蓋 3.條件覆蓋 4.判定 條件覆蓋 5.條件組合覆蓋 6.路徑覆蓋 對上述6...