问题
单项选择题
条件覆盖的基本思想是设计若干测试用例,执行被测程序,使得每个判断的每个条件的可能取值至少满足一次。那么对于如下的C语言程序段if(a>0&&b>0)c=c/a;iI(a>1||c>1)c=c+1;如果采用适用于条件覆盖的两个测试用例,其输入值分别为a=2,b=-1,c=-2和a=-1,b=2,c=3,则以下叙述中正确的是
A.执行测试后,4个条件a>0,b>0,a>1,c>1的所有取值都至少执行一次
B.执行测试后,除b>0取真和c>1取假外其他条件取值都至少执行一次
C.执行测试后,除b>0取假和c>1取真外其他条件取值都至少执行一次
D.执行测试后,除b>0取真和c>1取真外其他条件取值都至少执行一次
答案
参考答案:B
解析: 根据与“&&”、或“||”的“短路”运行特性,结合两组输入值分析可知,第一个判断条件b>0取真,第二个判断条件c>1取假没有被执行,其他条件的取值都被至少执行了一次。