结束
第七章
7-2:
解:⑴ 程序流程图(如图2.1所示)
⑵ 此程序是非结构化的,它有一个GOTO语句,并且是从一个循环体内转到循环体外的一个条件语句内部。
⑶ 修改后的伪码如下:
⑷ 程序中的错误:
① 语句“IF WORD=KEYWORD”里的变量“WORD”没有预先赋值。 ② 程序中没有预先输入T的值 ③ “N=0”应该是“MATCH=0”
7-4:回答下列问题。
(1) 什么是模块测试和集成测试?它们各有什么特点? (2) 假设有一个由1000行FORTRAN语句构成的程序(经编译后大约有5000条机器指令),估计在对它进行测试期间将发现多少个错误?为什么?
(3) 设计下列伪码程序的语句覆盖和路径覆盖测试用例。 START INPUT(A,B,C) IF A>5 THEN X=10 ELSE X=1 END IF
IF B>10 THEN Y=20 ELSE Y=2 END IF IF C>15 THEN Z=30 ELSE Z=3 END IF
PRINT(X,Y,Z) STOP 解答:
(1)模块测试:保证每个模块能完成一个清晰定义的子功能而且和其他模块的功能之间没有相互依赖的关系。 其特点是:主要应用白盒测试的技术,对多个模块的测试可以并发的进行。
集成测试:又称为组装测试,就是将软件产品中各个模块组装起来,检查其接口是否存在问题,以及组装后的整体功能、性能表现。特点是:可能发生接口问题。