判定覆蓋 Decision coverage

2021-06-21 16:28:15 字數 814 閱讀 5766

比「語句覆蓋」稍強的覆蓋標準是「判定覆蓋」

(或稱分支覆蓋

)標準。含義

是:執行足夠的測試用例,使得程式中的每乙個分支至少都通過一次。

對圖6.4的程式,如果設計兩個例子,使它們能通過路徑

ace和

abd,或者通過路徑

acd和

abe,就可達到「判定覆蓋」標準,為此,可以選擇輸入資料為:

①a=3

,b=0

,x=1(

沿路徑acd執行)

;      

②a=2

,b=1

,x=3(

沿路徑abe執行)

程式中含有判定的語句包括

if-then-else

、do-while

、repeat-until

等,除了雙值的判定語句外,還有多值的判定語句,如

pascal

中的case

語句、fortran

中帶有三個分支的

if語句等。所以「判定覆蓋」更一般的含義是:使得每乙個判定獲得每一種可能的結果。

「判定覆蓋」比「語句覆蓋」嚴格,因為如果每個分支都執行過了,則每個語句也就執行過了。但是,「判定覆蓋」還是很不夠的,例如上面兩個測試用例未能檢查沿著路徑

abd執行時,

x的值是否保持不變。

白盒測試技術 語句覆蓋 判定覆蓋 條件覆蓋

結合乙個例子說 畫出相應的程式流程圖,更方便分析 首先我們要明確一點 測試用例要盡可能少。1 語句覆蓋 被測程式中每個語句至少執行一次 路徑 s a b c d e a 2,b 0,預計輸出結果x 2 2 判定覆蓋 不僅每個語句必須至少執行一次,而且每個判定的每種可能的結果都應該至少執行一次 至少兩...

白盒測試系列(二)判定覆蓋(分支覆蓋)

程式中每個判定至少有一次為真值,有一次為假值,使得程式中每個分支至少執行一次 1 滿足判定覆蓋的測試用例一定滿足語句覆蓋 2 對整個判定的最終取值 真或假 進行度量,但判定內部每乙個子表示式的取值未被考慮 a int input 請輸入a的值 b int input 請輸入b的值 x int inp...

判定表與判定樹的畫法 判定樹和判定表

判定樹又稱決策樹,是一種描述加工的圖形工具,適合描述問題處理中具有多個判斷,而且每個決策與若干條件有關。使用判定樹進行描述時,應該從問題的文字描述中分清哪些是判定條件,哪些是判定的決策,根據描述材料中的聯結詞找出判定條件的從屬關係 並列關係 選擇關係,根據它們構造判定樹。例4.5 某工廠對工人的超產...