白盒测试之测试覆盖率浅析

1、语句覆盖,SC(Statement  Coverage),每个判断的语句执行一次即可;

2、判定覆盖,DC(Decision  Coverage),判断语句输出结果为真为假各一次即可;

3、条件覆盖,CC(Condition  Coverage),所有出现的判断条件,为真为假各出现一次;

4、修正判定条件覆盖,MCDC(Modified Coverage Decision Coverage),一条判断语句中,保证其他变量不变的情况下,只改变其中一个变量的值(改变输入),会对输出结果产生影响;

#include 
void main()
{
    int a,b,c;
    String s1="hello";
    String s2="world";
    if(a>1&&((b=0)||(c<-1)))
        printf("%s",s1);
    else
        printf("%s",s2);
}

语句覆盖

a>1

b=0

c<-1

T

T

×

F

×

×

 

判定覆盖

a>1

b=0

c<-1

T

T

×

F

×

×

 

条件覆盖

a>1

b=0

c<-1

T

T

T

F

F

F

 

修正条件覆盖

a>1

b=0

c<-1

T

T

F

F

T

×

T

T

F

T

F

F

T

F

T

T

F

F

 

"×"表示可以取真或者取假,该测试用例不会影响输出结果;

“删除线”表示可以删除该测试用例,重复使用了;

你可能感兴趣的:(软件测试)