分支覆盖和决策覆盖是相同的吗?

15

我正在学习软件测试,发现有很多覆盖标准。但其中一些让我感到困惑。

分支覆盖率是否等于判定覆盖率? 维基百科在这里说它们不同,我看了参考文献,但没找到“分支覆盖率不等于判定覆盖率”这样的句子,可能是我的英语太差了...

但其他导师都说分支覆盖率等于判定覆盖率。那么,有没有人能给我一个明确的答案?非常感谢。

1个回答

8
并不完全准确。根据ISTQB基础教材,分支覆盖和决策覆盖密切相关,当覆盖率为100%时,它们给出完全相同的结果。决策覆盖度量条件分支的覆盖率;分支覆盖度量无条件和有条件分支的覆盖率。教学大纲使用决策覆盖,因为它是分支的来源。一些覆盖率测量工具可能在实际指的是决策覆盖时谈论分支覆盖。 (c) ISTQB基础教材。
决策覆盖:
希望现在对您来说更加清楚了)

它们并不具有100%的覆盖率。可以想象一下这样的情况:"if (a == X || b == Y) abc else xyz"。使用分支条件,你永远无法到达b == Y的情况,即使这种方式可以获得100%的覆盖率。而使用决策条件,你需要通过a == X和b == Y两种情况。 - Hugo Lopes Tavares
4
不,那将是条件覆盖。决策覆盖不关心子表达式,只关心决策-即真或假。 - John V

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接