2016-02-28 68 views
-1

我想知道是否有可能实现以下代码的100%条件覆盖率的一组测试输入。测试 - 使用嵌套if实现条件覆盖?

bool a = ...; 
bool b = ...; 
if (a == True){ 
    if (b == True && a == False){ 
     ... 
    } else{ 
     ... 
    } 
} else{ 
    ... 
} 

然而,大多数的资源,我发现只有一个条件处理。因此我不知道如何处理嵌套的ifs。具体而言,我不知道如何处理第二条if语句。由于给定外部if语句时“a == False”不应该是真的,所以说这段代码永远不会有100%的条件覆盖测试用例是正确的吗?

回答

1

不,这是不可能的:(b == True && a == False)将永远是真实的,因为它是一个块

if (a == True) 

一个不能真假在同一时间内。要么有一个错误,要么你有死的代码只能被删除。然后,你可以有100%的覆盖率。

+0

这是我看到的第一件事...... –

+0

从技术上讲,不应该100%条件覆盖率只需要测试输入,其中a和b在某点是真实的和虚假的?或者如果在算法中每个都必须分别处理? – Pig