软件工程第七章习题

*1. 下面给出的伪码中有一个错误。请仔细阅读这段伪码,说明该伪码的语法特点,找出并改正伪码中的错误。字频统计程序的伪码如下

大致就是读取文本,然后读取单词,词表有该单词就+1,没有就插入到词表

  • 错误:但是插入之后少了将单词的occurrence count 初始化为1
  • 语法特点:循环嵌套了循环,在嵌套的循环中又嵌套了IF-ELSE
INITIALIZE the Program 
READ the first text record 
DO WHILE there are more words in the text record 
	DO WHILE there are more words in the text record 
		EXTRACT the next text word 
		SEARCH the word-table for the extracted word 
		IF the extracted word is found 
			INCREMENT the word’s occurrence count 
		ELSE 
			INSERT the extracted word into the table 
		END IF 
		INCREMENT the words-processed count 
	END DO at the end of the text record 
	READ the next text record 
END DO when all text records have heen read 
PRINT the table and summary information 
TERMINATE the program

第二题感觉东西有点多,不太可能考,因为GOTO,所以他不是结构化。
第三题与第二题捆绑,咱们也赌一赌,


*4. 回答下列问题

4.1 什么是模块测试和集成测试?它们各有什么特点?

  1. 模块测试是对每个单独的模块,分别用黑盒和白盒测试技术,测试它的功能是否正确,检查模块控制结构中的特定路径并发现最大数量的错误。
  2. 集成测试是把模块装配在一起形成完整的软件包,在装配的同时进行测试。
  3. 模块测试的特点是:主要应用白盒测试的技术,对多个模块的测试可以并发的进行。
  4. 集成测试的特点是:测试过程可能发生接口问题。

4.2 假设有一个由 1000 行 FORTRAN 语句构成的程序(编译后大概5000条机械指令), 估计在对它进行测试期间将发现多少个错误?为什么?

  • 1000条机械指令在测试期间将发现5~20个错误,所以1000行代码大概有25-100个错误
  • 这是因为统计表明,单位长度错误 E T / L T E_T/L_T ET/LT为常数, 0.005 < = E T / L T < = 0.02 0.005<=E_T/L_T<=0.02 0.005<=ET/LT<=0.02

4.3 设计下列伪码程序的语句覆盖和路径覆盖测试用例

语句覆盖:只要每个语句都有经过就行,不用每种组合,所以只需要两个,例如全真全假即可
路径覆盖:需要覆盖不同的组合,所以有2^3=8种

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

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

在这里插入图片描述

5.1 设计测试数据以全面测试系统的正常操作

读上图,直到有两个途径,顺序执行这些路径,同时保证数据正确

  • 查关键字,选关键字,显示
  • 查作者,显示
    在这里插入图片描述

5.2 设计测试数据以测试系统的非正常操作

用错误的数据和运行顺序去进行测试
在这里插入图片描述
在这里插入图片描述

6 根据下述事实设计验收测试的输入数据,解释你选取这些数据的理由。

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


第七题感觉东西有点多,不太可能考,赌一把,不看了
后面三道题,都考到了MTTF(平均无故障时间),以及错误总数估计,和关系曲线的绘制,我们选一两道题来看看就行


*8. 画图计算

对一个包含 10000 条机器指令的程序进行一个月集成测试后, 总共改正了 15 个错误, 此时 MTTF=10h ;经过两个月测试后,总共改正了 25 个错误(第二个月改正了 10 个错误),MTTF=15h 。
要求:

8.1 根据上述数据确定 MTTF 与测试时间之间的函数关系,画出 MTTF 与测试时间 τ的关系曲线。在画这条曲线是做了什么假设?

学习辅导给的是基于两者关系是线性的,计算画出了以下曲线
在这里插入图片描述
另一个参考答案,给出的是下面的曲线:
这个应该是基于曲线必须过原点【我觉得不一定】,但是这样的话,后面的时间比较难计算。

在这里插入图片描述

8.2 为做到 MTTF=100h ,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中?

考虑之后,还是觉得学习辅导适合一点,也好记,时间也直接求出来。
在这里插入图片描述
在这里插入图片描述

第十题注意一下,第一小题,估计总错误:(乙/交叉部分)*甲
其他的利用公式
在这里插入图片描述

  • 8
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值