我对MC / DC和piarwise测试有一些疑问

时间:2018-08-31 04:12:25

标签: testing white-box-testing

最近,我开始从事软件测试,并且遇到了一些问题。

Pairwise测试是该参数可以具有的所有值的组合,它是否也适用于布尔表达式?

例如

布尔表达式为(A || B)&& C (假设每个参数只有0和1。)

在这里,它适用于布尔表达式??

第二个问题是关于MC / DC。

我已经学会了如何通过MC / DC进行测试用例

但是,我想知道MC / DC如何证明覆盖近90%的代码覆盖率?

在(A || B)&& C中,我猜有4个组合测试用例。

但是,所有组合都是8。MC/DC如何减少案件?

1 个答案:

答案 0 :(得分:0)

  1. 它是否适用于布尔表达式?

是的。适用于布尔表达式。

Truth Table

获取布尔表达式的所有可能组合,我们可以得到上面的真值表。


  1. MC / DC如何证明覆盖近90%的代码覆盖率?

MC / DC无法确保90%以上的代码覆盖率。但是,它可以确保决定分支条件覆盖率,它们是代码的一部分。

但是,如何证明它可以覆盖?

答案将取决于MC / DC标准的属性:

  • 布尔表达式中的每个条件都应尽可能 结果。
  • 每个决定都采取一切可能的结果。
  • 每种情况都显示出独立影响决策结果的可能性。

因此,已经考虑了每个条件的布尔结果(TRUE / FALSE),并且这些条件的布尔结果(决策)的组合将得出每个可能的值(TRUE / FALSE)。


  1. MC / DC如何减少案件?

当您识别MC / DC对时,您将得到以下表格:

MC/DC Pairs

其中一些对相似。为什么?因为当您评估布尔表达式时,您可以使某些条件短路。这意味着即使不评估至少一个条件,您的表情也可以做出决定。

Final MC/DC Test Cases

这将是最终结果。请注意,某些行具有(-)空值。这意味着尚未对其进行评估,但是可以推断出该决定。


尽管相关但无关,我在这里写了一篇文章:How MC/DC Can Speedup Unit Test Creation

希望这会有所帮助,尽管迟到了。 :D