2017-06-06 193 views
0

我可以有一個問題嗎?條件覆蓋和決策覆蓋有什麼區別?條件覆蓋率與決策覆蓋率測試

我有簡單的例子:

IF(A & & B)THEN

條件覆蓋將有兩個試驗(其結果將是錯誤的):

  1. A = TRUE,B = FALSE
  2. A = FALSE,B = TRUE

判定覆蓋將只有一個測試(結果爲真):

  1. A = TRUE,B = TRUE

難道我的理解是正確的?

+0

https://softwareengineering.stackexchange.com/questions/184807/branch-vs-decision-coverage-question –

回答

0

條件覆蓋(也作謂語覆蓋)每個布爾表達式的,必須進行評估,以真正至少一次。例如:

IF((A || B)& & C)THEN

爲了滿足該條件覆蓋準則,則可以使用以下測試:

1)A =真| B =不是eval | C =假

2)A = false | B = true | C = true

3)A = false | B = false | C =不eval

決策覆蓋範圍(也稱爲分支機構)你必須測試所有可能的分支機構。例如:

...

IF(A){

ELSE IF(B){

} ELSE {

}

...

爲了滿足判定覆蓋標準,這一段代碼,你需要運行3個測試:

1)被評估爲真正

2)進行評估,以和B被評估爲真

3)A和B被評估爲假