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

问题描述 投票:0回答:2

条件覆盖率决策覆盖率有什么区别?

我有一个简单的例子:

IF (A && B) THEN

条件覆盖将进行两次测试(结果将是

FALSE
):

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

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

TRUE
):

  1. A = 正确,B = 正确

我理解对吗?

testing
2个回答
3
投票

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

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

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

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

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

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

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

...

如果(A){

否则如果(B){

}其他{

}

...

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

1) A 被评估为 true

2) A 被评估为 false 并且 B 被评估为 true

3) A 和 B 被评估为 false


1
投票

示例:

  1. a = int(输入())
  2. 如果a=0:
  3. print("Zero")
    
  4. elif a>0:
  5. print("Positive")
    
  6. 其他:
  7. print("Negative")
    

这里是声明号。 2、4 和 6 将在条件覆盖下考虑。 (Bcz 这里你要检查它是否等于0、是否大于0等条件)

声明号。 3、5 和 7 将在 决策范围内考虑。 (因为这些是检查条件后做出的决定)

Imp注意:决策覆盖率和分支覆盖率是不同的。

© www.soinside.com 2019 - 2024. All rights reserved.