判定覆盖白盒测试java_白盒测试方法–逻辑覆盖法 | 学步园

本文目的主要为软考准备的复习内容。

实例代码:

int method(bool a, bool b, bool c)

{

1  int x;

2  x=0;

3  if(a && (b || c))

4    x=1;

5  return x;

}

1、语句覆盖:每条语句都至少执行一次。即1,2,3,4,5都要被执行。

可选测试用例:

a=1, b=1, c=1 【1,2,3,4,5】

2、判定覆盖:每个分支都要至少执行一次,即if判定为真,为假各一次。

可选测试用例:

a=1, b=1, c=1 【1,2,3,4,5】

a=0, b=1, c=1 【1,2,3,5】

3、条件覆盖:每一个单独条件至少为真,为假各一次。这里条件指a,b,c

可选测试用例:

a=1, b=1, c=1 【1,2,3,4,5】

a=0, b=0, c=0 【1,2,3,5】

4、条件判定覆盖:判定覆盖 + 条件覆盖 - 重复用例

可选测试用例:

a=1, b=1, c=1 【1,2,3,4,5】

b=0, b=0, c=0 【1,2,3,5】

5、条件组合覆盖:各条件之间的真假值交叉组合一次;若有n各条件,则有2的n次方个组合用例。

测试用例组合:

a=1, b=1, c=1

a=1, b=1, c=0

a=1, b=0, c=1

a=1, b=0, c=0

a=0, b=1, c=1

a=0, b=1, c=0

a=0, b=0, c=1

a=0, b=0, c=0

6、修正条件判定覆盖:在条件判定的基础上进行完善,对单个条件的真假值对应的判定结果也有要求。即a为真时,总的判定条件为真,a为假时整个判定条件为假;而且两次取值中b、c的真假值保持原值不变。即一个条件改变影响总的结果。

可选测试用例:

a=1, b=1, c=1, a&&(b||c)=1

a=1, b=1, c=0, a&&(b||c)=1

a=1, b=0, c=1, a&&(b||c)=1

a=1, b=0, c=0, a&&(b||c)=0

a=0, b=1, c=1, a&&(b||c)=0

a=0, b=1, c=0, a&&(b||c)=0

a=0, b=0, c=1, a&&(b||c)=0

a=0, b=0, c=0, a&&(b||c)=0

上述用例中符合条件a的用例组合为:{1,5},{2,6},{3,7}中的任意一组

符合条件b的用例组合为:{2,4}

符合条件c的用例组合为:{3,4}

所以总的用例组合为:{1,2,3,4,5}

选择标准以a为例:

a=1时,a&&(b||c)=1;符合此条件的用例有:1,2,3

a=0时,a&&(b||c)=0;符合此条件的用例有:5,6,7,8

a=1与a=0时b和c的真假值对应相等的条件有:

{1,5};b1=b5=1,c1=c5=1

{2,6};b2=b6=1,c2=c6=0

{3,7};b3=b7=0,c3=c7=0

你可能感兴趣的:(判定覆盖白盒测试java)