2017-06-06 499 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被评估为假