【问题标题】:Multiple Condition Coverage多条件覆盖
【发布时间】:2021-03-05 11:42:46
【问题描述】:

试图找出Multiple Condition Coverage之间的区别

代码 A:

if (a && b) then
   print "Hello"
Endif

A 的多条件覆盖:
a=1 , b=1
a=1 , b=0
a=0 , b=1
a=0 , b=0

这个呢?

代码 B:

if (a) then
   if (b) then
      print "Hello"
   Endif
Endif

此代码是否具有相同的“多条件覆盖”?因为当 a=0 时,内部条件被忽略...

【问题讨论】:

    标签: qa test-coverage


    【解决方案1】:

    假设您只希望在两者都为真时打印“Hello”,这两种解决方案都有效地做同样的事情并满足“多条件覆盖”。一种是否比另一种更有效取决于所使用的语言。无论如何,两者在复杂性方面都是线性的,因此对于现代语言和硬件来说,差异是没有实际意义的。

    【讨论】:

    • 明白了,但是假设我们需要为满足“多条件覆盖”的代码 B 编写一个测试,我们是否需要同时运行这两种情况(a=0、b=1 和 a=0, b=0) ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 2021-03-28
    • 2010-10-15
    相关资源
    最近更新 更多