A-A+
A.income=(799 1500 1999 2001)B.income=(799 150
问题详情
A.income=(799,1500,1999,2001)
B.income=(799,1501,2000,2001)
C.income=(800,1500,2000,2001)
D.income=(800,1499,2000,2001)请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
解析:语句测试是运行所测程序和测试用例,使得每一条可执行语句至少执行一次。判定覆盖是运行所测程序和测试用例,使得程序中每个判断的取“真”和取“假”分支至少经历一次。判定覆盖又称为分支覆盖。为了方便设计测试用例,一般需要画出程序流程图,本题的流程图如图9-9所示。根据图9-9,该程序有4个可执行语句(用矩形表示),使用语句覆盖的测试用例,必须要使这4个可执行语句各执行一次,显然,在(14)的4个选项中,只有D满足这个要求,因为A、B使语句taxrate=0得不到执行;C使语句taxrate=0.08得不到执行。同样,根据图9-9,该程序有3个判定(用菱形表示),6个分支。在试题(15)给出的4个选项中,B、C、D都包含用例(2000、2001),这两个用例在本程序中的作用是完全一样的,所以,可以排除B、C、D。因此,只有A满足条件。