1、1. 某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从 7201 至 7299。外线号码先拨 9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100 到 300 中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552 中任意一个号码。分局号是任意长度为 4 的数字串。要求:写出在数据字典中,电话号码的数据流条目的定义即组成。电话号码=分机号|外线号码分机号=7201.7299 外线号码=9+市话号码| 长话号码长话号码=区号+ 市话号码 区号=100.300 市话号码=局号+ 分局号 局号=455|466|888|552分局号=4数
2、字4数字0|1|2|3|4|5|6|7|8|92. 为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。开始( x 1 ) A N D ( y = 0 )( x = 2 ) O R ( z 1 )语句段 1语句段 2结束FFTTabcde(1)语句覆盖测试用例令 x=2,y=0,z=4 作为测试数据,程序执行路径为 abcde。(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1 分) (通过路径 abce) ; x=2,y=1,z=2(1 分) (通过路径 acde) 。或者x=2,y=1,z=1;覆盖路径 acde x=1,y=1,z=1;覆盖路
3、径 ace x=3,y=0 ,z=1;覆盖路径 abce(注意:本题也还可以有其他答案)3. 请用判定表画出以下问题的行为逻辑。人们往往根据天气情况决定出门时的行装。天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。下雨 不下雨天气情况变冷 不变冷 变冷 不变冷带雨伞 Yes Yes No No穿大衣 Yes No Yes No4. 对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y1) and (z=0) then x:=x/y;if (
4、y=2) or (xl) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。完成下列各题:(1)画出程序流程图。(2)用条件组合覆盖设计测试用例,并写出其中一组测试用例。答:(1)程序流程图( y 1 ) A N D ( z = 0 )( y = 2 ) O R ( x 1 )x = x / yx = x + 1NNYY(2)用白盒法中条件组合覆盖设计测试用例: y=2, z=0, x=4; y=2, z=1, x=1; y=1, z=0, x=2; y=1, z=1, x=1. (注:也可有其它答案)5. 选择排序的伪代码如下,请根据代码画出其
5、 PAD 图。select_sort(a1,a2,an)for(i=1;i 3 ) A N D ( B = 1 ) ?( A = 1 ) O R ( M 1 ) ?M = M / 2M = M - 5FFTTb e g i nR e t u r nM = M + 5bcde题 44 图假设几种可能的条件是:T1: A3 F1:A1 F4: M1填写下表数据 覆盖路径 覆盖条件 M 值T1,T2,F3,F4F1,F2,T3,T4答:数据 覆盖路径 覆盖条件 M 值A=4,B=1,M=2 cd T1,T2,F3,F4 6A=1,B=2,M=4 be F1,F2,T3,T4 -117. 设计一个软件
6、的开发成本为 50000 元,寿命为 3 年。未来 3 年的每年收益预计为 22000元24000 元226620 元。银行年利率为 10%,不计复利。试对此项目进行成本效益分析,以决定其经济可行性。解:三年后,50000 万的价值为50000*(1+3*10%)=65000 元 三年软件总获利为22000*(1+2*10%)+24000*(1+1*10%)+26620=79420 元 而 79420 元65000 元 所以此项目盈利,经济可行。18. 如图 1 和图 2 所示是某公司员工工资管理的一部分,他们分别是同一功能的两个不同设计方案,你认为那种设计方案较好?请陈述理由。如图 2 所示
7、的设计方案 2 好。利用衡量模块独立性的两个标准耦合性和内聚性(模块划分时应尽量做到高内聚、低耦合,提高模块独立性)判断设计方案优劣。图 1 中模块 B 的功能是取平均工资或最高工资,可见模块 B 包含两个功能,故模块 B 内聚弱,而模块 B 与模块 A 的耦合是控制耦合,耦合程度较高,模块的相对独立性差。而在图 2 中,模块 B 分解成两个相对独立的模块 B1 和 B2,模块 B1 和 B2 内聚程度高,模块 B1 和 B2 与模块 A 之间的耦合是数据耦合,耦合程度较低,因此模块的独立性好,所以图 2 的设计方案 2 好。19. 某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同
8、(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。划分等价类:输入条件 合理等价类 不合理等价类职称教授副教授讲师四种职称之外任意一种职称兼工龄 助教兼工龄大于 2 年助教兼工龄等于两年 助教兼工龄小于两年设计测试用例: 输入数据 预期结果 覆盖范围教授 输入有效,进行调整工资处理 副教授 输入有效,进行调整工资处理 讲师 输入有效,进行调整工资处理 助教 3 输入有效,进行调整工资处理 A 取某部门员工工资表B 取平均工资或最高工资C 取员工个人工资部门工资总汇平均 / 最高工资员工编号工资题 4 2 图 1 设计方案 1题 4 2 图 2 设计方案 2A 取某部门员工工资表B 1 取平均工资 B 2 取最高工资C 取员工个人工资平均工资工资员工编号员工编号工资最高工资部门工资总汇