综合应用例题
1、有下列伪码程序: START
INPUT (M,N) IF M〉=10 THEN X:=10 ELSE X:=l ENDIF IF N>=20
THEN Y:=20 ELSE Y:=2 ENDIF
PRINT(X,Y) STOP
设计该程序的语句覆盖和路径覆盖测试用例. 解:
语句覆盖测试用例为 ①M=9(或〈l0),N=l9(或<20); ②M=l0(或〉=10),N=20(或〉=20) 路径覆盖的测试用例为 ①M=9,N=19; ②M=9、N=20; ③M=l0,N=l9; ④M=10,N=20
2、根据伪码程序画出程序流程图、程序流图,并计算其McCabe复杂度. START a
IF x1 THEN
REPEAT UNTIL x2 b
END REPEAT
ELSE BLOCK
c d
END BLOCK END IF STOP
解:(1) 程序流程图
STARTax1TTbx2FSTOPdFc (2) 程序流图:略
McCabe复杂度=3
3、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 解:
订书学生发书P1教材科订书发书书店收款通知应付款F1教材库存通知P2会计
4、画出下列伪码程序的程序流程图、程序流图,并计算其McCabe复杂度。 START
IF p THEN WHILE q DO
F
END DO ELSE BLOCK
g n
END BLOCK END IF STOP 解:
程序流程图:
STARTFpTgnqTFFSTOP
程序流图:略 McCabe复杂度=3 5. 对以下程序进行测试:
PROCEDURE EX(A,B:REAL;VAR X:REAL); BEGIN
IF(A=3)OR(B〉 1)THEN X:=A×B IF(A〉2)AND(B=0)THEN X:=A-3 END
要求:先画出程序流程图。 再按语句覆盖法设计测试数据。 解:
开始A=3 OR B>1FTX=A+BTA>2 AND B=0FX=A-3结束 语句覆盖 A=3 B=0
6、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。
如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
要求:
1.对以上问题画出数据流程图。
2。画出该培训管理的软件结构图的主图. 解:
7、请使用程序流程图描述在数组A(1)~A(10)中找最大数的算法. 解:
8、画出下面程序流程图所对应的程序流图,并计算其环形复杂度V(G)。
STARTabcdegfhijSTOP
解: (1)程序流图如下所示:
(2)计算其环形复杂度:V(G)=E –N +2=13 –10 +2=5
abcdeijgfh
9.把事务型数据流图映射成软件结构图:
f2 B f1 A + C f3 f4 f5 f1 主模块 f1 Read f1 A f2 B f3 C f5
Write f5 f4 Write f4 10.把变换型数据流图映射成软件结构图:
f1 A f2 B f3 C f4
f2 主模块 f3 B Get f3 f3 f4 f4 Write f4Get f2 f1 f1 Read f1f2 A C
11、下面是两个程序流程图,试分别画出程序流图,并计算它们的McCabe复杂度。
解: (1)
McCabe复杂度V(G)=3
(2)
McCabe复杂度V(G)=3
12、:输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出\"不能构成三角形\". 要求:1。用程序流程图表示该问题的算法;2.计算程序复杂度; 3。设计路径覆盖的测试用例。
答:
① ②Ⅰ
开始 输入A,B,C ① A+B>C ② T A+C>B ③ T B+C>A ④ 输出ABC ⑤
⑦ Ⅳ
结束 T ⑤ 不能构成三角形 F F F ③Ⅱ
④Ⅲ
⑥ 路径:
1.①—②—③—④—⑥-⑦
⑦ 2.①—②—⑤-⑥—⑦
3.①-⑤-⑥—⑦
4.①—②—③-⑤—⑥—⑦
程序复杂度=3+1=4
测试用例
路径 1 2 3 4 测试用例(A,B,C) A=3,B=4,C=5 A=5,B=8,C=2 A=2,B=2,C=5 A=5,B=2,C=2 结果 A=3,B=4,C=5 不能构成三角形 不能构成三角形 不能构成三角形
13、根据下面程序流程图,给出测试用例:
入口TA>1 AND B=0FA=2 AND X>1X=X/ATX=X+1返回入口TA>1 AND B=0FA=2 OR X>1F返回X=X/ATX=X+1
路径覆盖,可使用测试用例:
⑴【A=1,B=1,X=1】 执行路径:1—2—3 ⑵【A=1,B=1,X=2】 执行路径:1-2—6—7 ⑶【A=3,B=0,X=1】 执行路径:1-4—5-3 ⑷【A=2,B=0,X=4】 执行路径:1—4—5-6-7 边覆盖,可使用测试用例:
⑴【A=3,B=0,X=3】 执行路径:1-4—5—3 ⑵【A=2,B=1,X=1】 执行路径:1-2—6—7 判定覆盖的测试用例: ⑴【(A=3,B=0,X=3)】 ⑵【(A=2,B=1,X=1)】 语句覆盖,可使用测试用例: 【 A=2,B=0,X=3 】
14、某考试报名过程中有个“记录报名单\"的加工.该加工主要是根据报名表(姓名、 性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证
给报名者,同时记录到考生名册中(准考证号、姓名、课程)。请绘制该加工的DFD图,并写出数据词典中的数据流条目. 答:
数据流词典 数据流条目: 报名单 = 姓名 + 性别 + 身份证号 + 课程名 开考课程 = 课程名 + 开考时间 考生名册 = 准考证号 + 姓名 + 课程
15、“决定比赛名单”这个加工,根据“运动员名单\"和“比赛项目”产生 “项目参加者”,
如下图所示,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。请写出这三个数据流条目。
答:
运动员名单=队名+运动员号+姓名+{项目} 项目=项目名
项目参加者=项目名+{运动员号}
16、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据流的映射方式。 答:
变换型 事务型
17、学校拟开发一套实验上机安排系统,可以帮助教师的安排上机.系统的主要功能有以下
几个方面:
教师可提交课程实验项目,安排实验机房,查询实验安排结果,打印实验安排报表等. 学生可查询实验项目,查询课程实验安排等.
管理员可管理教师、学生、课程等基本信息,同时还能管理新闻公告、查询实验安排等。 所有用户均有修改密码,查看新闻公告等功能. 要求:
分析从教师提交实验项目,到形成实验安排报表的数据流图。(注:安排实验时首先需要提交实验项目,然后选择有空闲的机房,再查询学生的空余时间。安排好每次的实验时间后,经过汇总形成实验安排报表)
18、请使用程序流程图、N-S图、PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。 解:
PDL语言: N=1
WHILE N〈=10 DO IF A(N)〈=A(N+1) MAX =A(N+1); ELSE MAX =A(N) ENDIF; N=N+1; ENDWHILE; PAD图:
因篇幅问题不能全部显示,请点此查看更多更全内容