软件工程导论第六版 张海藩 牟永敏课后习题答案 下载本文

集成测试是把模块装配在一起形成完整的软件包,在装配的同时进行测试。 特点是:可能发生接口问题。

(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 3 A B C X Y Z 序号 判定 输入 预期1 F F F 1 1 1 1 2 3

1 2 3 A B C X

第五题

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

要求:

(1) 设计测试数据以全面测试系统的正常操作; (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的参数 预期的输出:“参数类型错”

⑤用字母字符作为命令s和命令d的参数 预期的输出:“参数类型错”

⑥用0和负数作为命令s和命令d的参数 预期的输出:“参数数值错”

⑦命令顺序错:例如,没执行命令b就执行命令s,或没执行命令s就执行命令d

预期的输出:“命令顺序错”

⑧命令语法错:例如,遗漏命令名b、s、d或f;或命令参数没用圆括号括起来

预期的输出:“命令语法错”

⑨命令参数空:例如,b()、s()、d或f() 预期的输出:系统提供默认参数或给出出错信息 ⑩使用拼错了的作者姓名作为f的参数 预期的输出:“找不到这们作者的著作” 第六题

6、航空公司A向软件公司B订购了一个规划飞行路线的程序。假设你是软件公司C的软件工程师,A公司已雇用你所在的公司对上述程序进行验收测试。任务是,根据下述事实设计验收测试的输入数据,解释你选取这些数据的理由。 领航员向程序输入出发点和目的地,以及根据天气和飞机型号而初步确定的飞行高度。程序读入途中的风向风力等数据,并且制定出3套飞行计划(高度,速度,方向及途中的5个位置校核点)。所制定的飞行计划应做到燃料消耗和飞行时间都最少。

用正常的输入数据作为测试数据

① 向程序输入常规的出发点,目的地,飞机型号,5个位置校核点,高度和速度。

② 输入3~5组出发点和目的地,重复执行步骤1

③ 输入固定的出发点、目的地、飞机型号、5个位置校核点和高度,分别输入3~5个不同的速度,重复执行步骤1

④ 输入固定的出发点、目的地、飞机型号、5个位置校核点和速度,分别输入3~5个不同的高度,重复执行步骤1

⑤ 输入固定的出发点、目的地、飞机型号、速度和高度,分别输入3~5组不同的位置校核点,重复执行步骤1

⑥ 输入固定的出发点、目的地、5个位置校核点和高度,分别输入3~5个不同的飞机型号,重复执行步骤1

⑦ 输入固定的目的地、5个位置校核点和高度,分别输入3~5个不同的飞机型号,重复执行步骤1

⑧ 输入固定的出发点、5个位置校核点和高度,分别输入3~5个不同的目的地,重复执行步骤1

(2) 用特殊的数据值作为测试数据

① 分别输入非常高和非常低的数据组合测试 ② 用负数测试 ③ 输入数字0进行测试

④ 分别输入相距非常远和非常近的出发点和目的地测试

ay和size,size小于数组的大小,并给出需要查找的值,该值在somearray中;