软件工程导论第五版第七章.docx

上传人:b****1 文档编号:3138765 上传时间:2023-05-05 格式:DOCX 页数:12 大小:235.39KB
下载 相关 举报
软件工程导论第五版第七章.docx_第1页
第1页 / 共12页
软件工程导论第五版第七章.docx_第2页
第2页 / 共12页
软件工程导论第五版第七章.docx_第3页
第3页 / 共12页
软件工程导论第五版第七章.docx_第4页
第4页 / 共12页
软件工程导论第五版第七章.docx_第5页
第5页 / 共12页
软件工程导论第五版第七章.docx_第6页
第6页 / 共12页
软件工程导论第五版第七章.docx_第7页
第7页 / 共12页
软件工程导论第五版第七章.docx_第8页
第8页 / 共12页
软件工程导论第五版第七章.docx_第9页
第9页 / 共12页
软件工程导论第五版第七章.docx_第10页
第10页 / 共12页
软件工程导论第五版第七章.docx_第11页
第11页 / 共12页
软件工程导论第五版第七章.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件工程导论第五版第七章.docx

《软件工程导论第五版第七章.docx》由会员分享,可在线阅读,更多相关《软件工程导论第五版第七章.docx(12页珍藏版)》请在冰点文库上搜索。

软件工程导论第五版第七章.docx

软件工程导论第五版第七章

第7章实现

7。

1编码

7。

1。

1选择程序设计语言

7.1。

2编码风格

1。

程序内部的文档

2。

数据说明

3。

语句构造

4。

输入输出

5。

效率

7。

2软件测试基础

7。

2。

1软件测试的目标

7。

2.2软件测试准则

7。

2。

3测试方法

7。

2.4测试步骤

1。

模块测试

2.子系统测试

3.系统测试

4。

验收测试

5。

平行运行

7。

2。

5测试阶段的信息流

图7。

1测试阶段的信息流

7.3单元测试

7.3。

1测试重点

1.模块接口

2.局部数据结构

3.重要的执行通路

4.出错处理通路

5。

边界条件

7.3.2代码审查

7.3.3计算机测试

图7.2正文加工系统的层次图

7。

4集成测试

7.4。

1自顶向下集成

图7.3自顶向下结合

7.4.2自底向上集成

图7。

4自底向上结合

7.4.3不同集成测试策略的比较

7.4。

4回归测试

7.5确认测试

7。

5.1确认测试的范围

7。

5。

2软件配置复查

7.5。

3Alpha和Beta测试

7.6白盒测试技术

7。

6.1逻辑覆盖

1。

语句覆盖

图7.5被测试模块的流程图

2.判定覆盖

3。

条件覆盖

4.判定/条件覆盖

5.条件组合覆盖

6。

点覆盖

7.边覆盖

8。

路径覆盖

7。

6.2控制结构测试

1.基本路径测试

图7。

6求平均值过程的流图

2.条件测试

3.循环测试

图7。

73种循环

7。

7黑盒测试技术

7。

7。

1等价划分

7。

7。

2边界值分析

7.7。

3错误推测

7.8调试

7。

8.1调试过程

图7。

8调试过程

7.8。

2调试途径

1。

蛮干法

2。

回溯法

3.原因排除法

7.9软件可靠性

7。

9.1基本概念

1.软件可靠性的定义

2.软件的可用性

7.9。

2估算平均无故障时间的方法

1。

符号

2。

基本假定

3。

估算平均无故障时间

4。

估计错误总数的方法

7.10小结

习题7

1。

下面给出的伪码中有一个错误。

仔细阅读这段伪码,说明该伪码的语法特点,找出并

改正伪码中的错误。

字频统计程序的伪码如下:

2。

研究下面给出的伪码程序,要求:

(1)画出它的程序流程图.

(2)它是结构化的还是非结构化的?

说明理由。

(3)若是非结构化的,则

(a)把它改造成仅用3种控制结构的结构化程序;

(b)写出这个结构化设计的伪码;

(c)用盒图表示这个结构化程序。

(4)找出并改正程序逻辑中的错误。

3.在第2题的设计中若输入的N值或KEYWORD不合理,会发生问题。

(1)给出这些变量的不合理值的例子。

(2)将这些不合理值输入程序会有什么后果?

(3)怎样在程序中加入防错措施,以防止出现这些问题?

4。

回答下列问题。

(1)什么是模块测试和集成测试?

它们各有什么特点?

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

为什么?

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

5。

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

要求:

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

(2)设计测试数据以测试系统的非正常操作.

6.航空公司A向软件公司B订购了一个规划飞行路线的程序。

假设自己是软件公司C的软件工程师,A公司已雇用自己所在的公司对上述程序进行验收测试.任务是,根据下述事实设计验收测试的输入数据,解释选取这些数据的理由。

领航员向程序输入出发点和目的地,以及根据天气和飞机型号而初步确定的飞行高度.程序读入途中的风向风力等数据,并且制定出3套飞行计划(高度,速度,方向及途中的5个位置校核点)。

所制定的飞行计划应做到燃料消耗和飞行时间都最少。

7。

严格说来,有两种不同的路径覆盖测试,分别为程序路径覆盖和程序图路径覆盖。

这两

种测试可分别称为程序的自然执行和强迫执行.所谓自然执行是指测试者(人或计算机)读入

程序中的条件表达式,根据程序变量的当前值计算该条件表达式的值(真或假),并相应地分

支。

强迫执行是在用程序图作为程序的抽象模型时产生的一个人为的概念,它可以简化

测试问题.强迫执行的含义是,一旦遇到条件表达式,测试者就强迫程序分两种情况(条件

表达式的值为真和为假)执行。

显然,强迫执行将遍历程序图的所有路径,然而由于各个条

件表达式之间存在相互依赖的关系,这些路径中的某一些在自然执行时可能永远也不会进入。

为了使强迫执行的概念在实际工作中有用,它简化测试工具的好处应该超过它使用额外的不可能达到的测试用例所带来的坏处.在绝大多数情况下,强迫执行的测试数并不比自然执行的测试数大很多,此外,对强迫执行的定义实际上包含了一种技术,能够缩短在测试含有循环的程序时所需要的运行时间。

程序的大部分执行时间通常用于重复执行程序中的DO循环,特别是嵌套的循环。

因此必

须发明一种技术,使得每个DO循环只执行一遍.这样做并不会降低测试的功效,因为经验表明第一次或最后一次执行循环时最容易出错.

Laemmel教授提出的自动测试每条路径的技术如下.

当编写程序时每个DO循环应该写成一种包含测试变量T和模式变量M的特殊形式,因

DOI=1TO38

应变成

DOI=1TOM*38+(1-M)*T

可见,当M=0时处于测试模式,而M=1时处于正常运行模式。

当处于测试模式时,令T=0则该循环一次也不执行,令T=1则该循环只执行一次。

类似地应该使用模式变量和测试变量改写IF语句,例如

IFX+Y>0THENZ=X

ELSEZ=Y

应变成

IFM*(X+Y)+T>0THENZ=X

ELSEZ=Y

正常运行时令M=1和T=0,测试期间令M=0,为测试THEN部分需令T=+1,测试ELSE部分则令T=—1。

要求:

(1)选取一个包含循环和IF语句的程序,用Laemmel技术修改这个程序,上机实际测试这个程序并解释所得到的结果。

(2)设计一个程序按照Laemmel技术自动修改待测试的程序。

利用这个测试工具修改上一问中人工修改的程序,两次修改得到的结果一致吗?

(3)怎样把Laemmel技术推广到包含WHILEDO和REPEATUNTIL语句的程序?

(4)试分析Laemmel技术的优缺点并提出改进意见.

8。

对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,

此时MTTF=10h;经过两个月测试后,总共改正了25个错误(第二个月改正了10个错误),MTTF=15h。

要求:

(1)根据上述数据确定MTTF与测试时间之间的函数关系,画出MTTF与测试时间τ的关

系曲线。

在画这条曲线时做了什么假设?

(2)为做到MTTF=100h,必须进行多长时间的集成测试?

当集成测试结束时总共改正了

多少个错误,还有多少个错误潜伏在程序中?

9.如对一个长度为100000条指令的程序进行集成测试期间记录下下面的数据:

(a)7月1日:

集成测试开始,没有发现错误。

(b)8月2日:

总共改正100个错误,此时MTTF=0.4h

(c)9月1日:

总共改正300个错误,此时,MTTF=2h

据上列数据完成下列各题.

(1)估计程序中的错误总数.

(2)为使MTTF达到10h,必须测试和调试这个程序多长时间?

(3)画出MTTF和测试时间τ之间的函数关系曲线。

10.在测试一个长度为24000条指令的程序时,第一个月由甲、乙两名测试员各自独立测

试这个程序。

经一个月测试后,甲发现并改正20个错误,使MTTF达到10h.与此同时,乙发现24个错误,其中6个甲也发现了。

以后由甲一个人继续测试这个程序。

问:

(1)刚开始测试时程序中总共有多少个潜藏的错误?

(2)为使MTTF达到60h,必须再改正多少个错误?

还需用多长测试时间?

(3)画出MTTF与集成测试时间τ之间的函数关系曲线.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2