int function(bool a,bool b,boolc){intx;
x=0;if(a&&(b||c)){
x=1;returnx;
}
}
1、语句覆盖(SC)
选择足够多的测试数据,使得被测程序中的每条语句至少执行一次。
测试用例:a=T,b=T,c=T
2、判断覆盖(DC)
设计足够的测试用例,使得程序中的每个判定至少都获得一次真值或假值。或者使得程序中的每一个取真分支和取假分支至少经历一次,因此判定覆盖又称为分支覆盖。
序号
a
b
c
a&&(b||c)
a||(b||c)
判定覆盖率
1
T
T
T
T
T
50
2
F
F
F
F
F
50
上述两组测试用例不仅满足了判定覆盖,而且满足了语句覆盖,从这一点看,判定覆盖要比语句覆盖更强一些,但是同样的,假如这一程序段中判定的逻辑运算有问题。判定的第一个运算符 && 错写成运算符 || 。或者第二个运算符 || 错写成运算符 &&