Testing 我有一些关于MC/DC和piarwise测试的问题

Testing 我有一些关于MC/DC和piarwise测试的问题,testing,white-box-testing,Testing,White Box Testing,最近,我开始从事软件测试,我有一些问题 成对测试是该参数可以拥有的所有值的组合,它是否也适用于布尔表达式 比如说, 布尔表达式是(A | | B)&&C (假设每个参数只有0和1。) 这里,它是否适用于布尔表达式 第二个问题是关于MC/DC 我已经学会了如何通过MC/DC制作测试用例 但是,我想知道MC/DC如何能够覆盖几乎90%的代码覆盖率 在(A | | B)和&C中,我猜有4个组合测试用例 但是,所有的组合都是8。MC/DC如何减少案例 它适用于布尔表达式吗 对。它适用于布尔表达式 得到

最近,我开始从事软件测试,我有一些问题

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

比如说,

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

这里,它是否适用于布尔表达式

第二个问题是关于MC/DC

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

但是,我想知道MC/DC如何能够覆盖几乎90%的代码覆盖率

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

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

  • 它适用于布尔表达式吗
  • 对。它适用于布尔表达式

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


  • MC/DC如何能够覆盖几乎90%的代码覆盖率
  • MC/DC无法保证代码覆盖率超过90%。但是,它可以确保决策分支条件覆盖,这是一段代码的组成部分

    但是,它怎么能证明涵盖

    答案在于MC/DC标准的特性:

    • 布尔表达式中的每个条件都应采用所有可能的 结果
    • 每一个决定都会带来每一个可能的结果
    • 每种情况都会独立影响决策结果
    因此,我们考虑了每个条件的布尔结果(真/假),这些条件的布尔结果(决策)的组合将产生每个可能的值(真/假)


  • MC/DC如何减少案例
  • 当您确定MC/DC对时,您将得出以下表格:

    其中一些是相似的。为什么?因为在计算布尔表达式时,可能会使某些条件短路。这意味着您的表达式可以有一个决定,即使至少有一个条件没有被计算

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


    虽然相关,但无关,我在这里写了一篇文章:


    尽管迟到了,希望这能有所帮助D

    我也有一个与此相关的问题。例如,如果我有这样的条件:if((a==1)和((b==2)| |(b==3)| |(b==4)),那么我需要多少测试用例才能实现完全MC/DC覆盖?例如,在您的例子中,您可以使用n+1实现完全MC/DC。由于您有4种不同的情况(b==1与b==2不一样,依此类推),因此至少需要5种情况才能完全覆盖