最近,我开始从事软件测试,并且遇到了一些问题。
Pairwise测试是该参数可以具有的所有值的组合,它是否也适用于布尔表达式?
例如
布尔表达式为(A || B)&& C (假设每个参数只有0和1。)
在这里,它适用于布尔表达式??
第二个问题是关于MC / DC。
我已经学会了如何通过MC / DC进行测试用例
但是,我想知道MC / DC如何证明覆盖近90%的代码覆盖率?
在(A || B)&& C中,我猜有4个组合测试用例。
但是,所有组合都是8。MC/DC如何减少案件?
答案 0 :(得分:0)
是的。适用于布尔表达式。
获取布尔表达式的所有可能组合,我们可以得到上面的真值表。
MC / DC无法确保90%以上的代码覆盖率。但是,它可以确保决定,分支和条件覆盖率,它们是代码的一部分。
但是,如何证明它可以覆盖?
答案将取决于MC / DC标准的属性:
因此,已经考虑了每个条件的布尔结果(TRUE / FALSE),并且这些条件的布尔结果(决策)的组合将得出每个可能的值(TRUE / FALSE)。
当您识别MC / DC对时,您将得到以下表格:
其中一些对相似。为什么?因为当您评估布尔表达式时,您可以使某些条件短路。这意味着即使不评估至少一个条件,您的表情也可以做出决定。
这将是最终结果。请注意,某些行具有(-)空值。这意味着尚未对其进行评估,但是可以推断出该决定。
尽管相关但无关,我在这里写了一篇文章:How MC/DC Can Speedup Unit Test Creation
希望这会有所帮助,尽管迟到了。 :D