软件工程导论(第六版)课后习题答案汇总

MATCH=0 DO WHILE I≤T I=I+1

IF WORD=KEYWORD THEN MATCH=MATCH+1 STORE IN BUFFER END

IF MATCH=N THEN GOTO OUTPUT END END IF N=0 THEN PRINT ″NO MATCH″

OUTPUT:ELSE CALL SUBROUTINE TO PRINT BUFFER INFORMATION END

第三题

3、在第2题得设计中若输入得N值或KEYWORD不合理,会发生问题。 (1) 给出这些变量得不合理值得例子。 (2) 将这些不合理值输入程序会有什么后果?

(3) 怎样在程序中加入防错措施,以防止出现这些问题? (1)答:N=1,KEYWOED=#。 (2)答:无法打印出任何信息。 (3)答:加入循环 第四题

4、(1)什么就是模块测试与集成测试?它们各有什么特点?

答:模块测试就是对每个单独得模块,分别用黑盒与白盒测试技术,测试它得功能就是否正确, 检查模块控制结构中得特定路径并发现最大数量得错误。

其特点就是:主要应用白盒测试得技术,对多个模块得测试可以并发得进行。 集成测试就是把模块装配在一起形成完整得软件包,在装配得同时进行测试。 特点就是:可能发生接口问题。

(2)假设有一个由1000行FORTRAN语句构成得程序,估计在对它进行测试期间将发现多少个错误?为什么?

答:月25至100个错误,美国得一些统计数字告诉我们通常这个比值在0、005~0、02之间,也就就是说,测试之前每1000条指令中大约有5~20个错误。假设测试之前每1000条指令中有10个错误,则估计对它进行测试期间将发现得错误数为:5000*10/1000=50。 (3)设计下列伪码程序得语句覆盖与路径覆盖测试用例: START INPUT(A,B,C) IF A>5 THEN X=10 ELSE X=1 END IF IF B>10 THEN X=20 ELSE X=2 END IF IF C>15 THEN X=30 ELSE X=3 END IF PRINT (X,Y,Z) STOP

答:此程序得语句覆盖用例:①A=5,B=10,C=15;②A=6,B=11,C=16 条件覆盖用例为:①A=5,B=10,C=15;②A=6,B=11,C=16。 语句覆盖测试用例

语句覆盖得含义就是,选择足够多得测试数据,使被测试程序中得每个语句至少执行一次。 第五题 要求:

5、某图书馆有一个使用CRT终端得信息检索系统,该系统有下列4个基本检索命令 (1) 设计测试数据以全面测试系统得正常操作; 序序号 号 1 1 2 2 3 4 5 6

1 1 F F T F F F T T

判定 输入 预期得输判定 输入 预期2 3 A B C X Y Z 2 3 A B C X F F 1 1 1 1 2 3 F F 1 1 1 1 T 20 40 10 20 F T T 1 60 1 60 30 1 T F 1 40 1 1 T T 1 40 60 1 F F 20 1 1 10 F T 20 1 60 10

(2) 设计测试数据以测试系统得非正常操作

解:⑴测试系统正常操作得测试数据 ①顺序执行下列3个命令:

b(KEYWORD) s(L) d(N)

其中,KEYWORD就是正确得关键字;L就是执行命令b后在屏幕上显示得约20个行号中得一个(至少应该使L分别为第一个、最后一个与中央一个行号);N就是执行命令s后列出得索引号中得一个(至少应该使N分别为第一个、最后一个与中央一个索引号)。 针对若干个不同得KEYWORD重复执行上述命令序列。 ②顺序执行下列2个命令:

f(NAME) d(N)

其中,NAME就是已知得作者姓名;N就是执行命令f后列出得索引号中得一个(至少应该使N分别为第一个、最后一个与中央一个索引号)。

针对若干个不同得NAME重复执行上述命令序列。 ⑵测试系统非正常操作得测试数据

①用过长得关键字作为命令b得参数:例如,b(reliability software and hardware combined) 预期得输出:系统截短过长得关键字,例如,上列命令中得关键字可能性被截短为reliability software ②用不正确得关键字作为命令b得参数:例如,b(AARDVARK) 预期得输出:显示出最接近得匹配结果,例如,执行上列命令后可能显示 1.AARON,JULES(book)

③用比执行命令b后列出得最大行号大1得数作为命令s得参数 预期得输出:“命令s得参数不在行号列表中” ④用数字与标点符号作为命令b与命令f得参数

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4