问题
单项选择题
下面的程序段中,[ (1) ]是语句覆盖测试用例,[ (2) ]是判定覆盖测试用例。
If(a<80)b=0;
else if(a<=150)b=5;
else if(a<200)b=8;
else b=1;
A.a=(79,150,199,200)
B.a=(79,151,200,201)
C.a=(80,150,200,201)
D.a=(80,149,200,201)
答案
参考答案:A
解析:
需要理解白盒测试中的几种覆盖标准:语句覆盖是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次。判定覆盖(也称为分支覆盖)是设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次。
本题中的4条赋值语句分别在a<80、80<=a<=150、150<a<200、a>=200的条件下各执行一次才能满足语句覆盖的标准,备选项中只有D满足条件。
为了满足判定覆盖标准,需要a<80、a>=80、a<=150、a>150、a<200、a>=200的数据至少都出现一次才行,备选项中只有A满足条件。