比「語句覆蓋」稍強的覆蓋標準是「判定覆蓋」
(或稱分支覆蓋
)標準。含義
是:執行足夠的測試用例,使得程式中的每乙個分支至少都通過一次。
對圖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 某工廠對工人的超產...