在下面所列举的逻辑测试覆盖中,测试覆盖最强的是(38),最弱的是(39)。 软件测试工具有多种,其中(40)对源程序的数据流和控制流进行分析,发现语义错误:(41)通过对程序的执行流进行探测,检查有关变量的逻辑值。 在下面的个人所得税程序中满足

admin2019-04-08  49

问题 在下面所列举的逻辑测试覆盖中,测试覆盖最强的是(38),最弱的是(39)。
   软件测试工具有多种,其中(40)对源程序的数据流和控制流进行分析,发现语义错误:(41)通过对程序的执行流进行探测,检查有关变量的逻辑值。
   在下面的个人所得税程序中满足语句覆盖测试用例的是(42),满足判定覆盖测试的用例是(43)。
   if  (income<800) taxrate=0;
   else if  (income<=1500) taxrate=0.05;
   else if  (income<2000) taxrate=0.08:
   else taxrate=0.1;

选项 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满足条件。
转载请注明原文地址:https://jikaoti.com/ti/GdJ7FFFM
0

最新回复(0)