当前位置:首页 > 软件工程一
五、应用题
1.一个程序片段如下,请设计其程序流程图及符合判定覆盖的测试用例。 if(a>=5)&&(b<0) c=a+b; else
c=a-b; if(c>5)||(c<1)
printf(“c不在计算机区域\\n”); else
printf(“%d\\n”,c);
程序流程图如下所示: 入口 s
判定覆盖要求每个分支至少执行一次,故能够分别覆盖路径sabdfk(真真)和sacdek(假假)两组测试数据。
故符合判定覆盖的测试用例为:a=5 b=-1 c=6(sabdfk)
a=1 b=2 c=3(sacdek)
k 出口 f d c>5||c<1 F T a a>=5&&b<0 Y N c=a+b c b c=a-b printf(“c不再计算区域\\n”); e
printf(“%d\\n”,c); 2.根据伪代码程序画出N—S图和PAD图 Start a; IF x1
While x2
b;
else
c; endif
Repeat Until x3
d; e; End repeat f; end
N-S图为:
a a F x1 T while x2
x2 c
b x3 d
e
f
PAD图为:
x1 b
c
Until x3 d e
f 3.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。
(1) a=5 b=1 (2) a=5 b=-1 (3) a=5 b=1 (4) a=5 b=1 a=-5 b=-1 a=0 b=-1 (5) a=5 b=-1 (6) a=5 b=1 a=-5 b=1 a=0 b=0 a=-5 b=-1 a=-5 b=-1 (7) a=5 b=1 (8) a=5 b=1 a=0 b=1 a=0 b=-1 a=0 b=-1 a=-5 b=1 a=-5 b=1 a=-5 b=-1 流程图如下:
解答:
达到判定覆盖为(4),覆盖真真和假假;
达到条件覆盖为(3),覆盖a>=0 b>=0 a-b>=3 a-b>-3(真真)
a<0 b<0 a-b<3 a-b<-3(假真);
达到判定/条件覆盖为(6),覆盖a>=0 b>=0 a-b>=3 a-b>-3(真真)
a<0 b<0 a-b<3 a-b<-3(假真) a=0 b=0覆盖真假;
达到条件组合覆盖为(8),覆盖a>=0 b>=0和a>=0 b<0和a<0 b<0和a<0 b>=0; 达到路径覆盖为(7),覆盖a=5 b=1真真, a=0 b=1真假,a=0 b=-1假假
a=-5 b=1假真 。
4.某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。请用判定表描述上述问题。 解答: 判定表:
教授 副教授 讲师 助教 讲座 50 30 25 20 15
1 T ╳ 2 T F F F F ╳ 3 F T F F F ╳ 4 F F T F F ╳ 5 F F F T F ╳
共分享92篇相关文档