第三题
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
(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的参数不在行号列表中”