条件覆盖率与决策覆盖率测试

Kos*_*567 6 testing

我可以问一个问题吗?条件覆盖范围和决策覆盖范围有什么区别?

我有简单的例子:

如果(A && B)那么

条件覆盖将有两个测试(结果将是错误的):

  1. A = 真,B = 假
  2. A = 假,B = 真

决策覆盖率只有一项测试(结果为真):

  1. A = 正确,B = 正确

我这样理解对吗?

小智 3

条件覆盖(也称为谓词覆盖)中,每个布尔表达式必须至少被评估为truefalse一次。例如:

如果 ((A || B) && C) 那么

为了满足条件覆盖率标准,您可以使用以下测试:

1) A = 真 | B = 不评估 | C = 假

2) A = 假 | B = 真 | C = 真

3) A = 假 | B = 假 | C = 不评估

决策覆盖率(也称为分支覆盖率)中,您必须测试所有可能的分支。例如:

...

如果一个){

否则如果(B){

}别的{

}

...

为了满足这段代码的决策覆盖标准,您需要运行 3 个测试:

1) A 被评估为true

2) A 被评估为false,B 被评估为true

3) A 和 B 被评估为false