软件工程导论(第六版)课后习题答案 下载本文

第三题

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。 语句覆盖测试用例

序号 1 2

1 F T

判定 输入 预期的输

语句覆盖的含义是,选择足够多的测试数据,使被测试程序中的每个语句至少执行一次。

2 3 A B C X Y Z F F 1 1 1 1 2 3 T T 20 40 60 10 20 30

序号 1 2 3 4 5 6 7 8

1 F F F F T T T T

第五题

5、某图书馆有一个使用CRT终端的信息检索系统,该系统有下列4个基本检索命令 要求:

(1) 设计测试数据以全面测试系统的正常操作;

判定 2 F F T T F F T T

3 F T F T F T F T A 1 1 1 1 20 20 20 20

输入 B 1 1 40 40 1 1 40 40

C 1 60 1 60 1 60 1 60

预期X 1 1 1 1 10 10 10 10