77范文网 - 专业文章范例文档资料分享平台

软件工程(第五版)--习题及答案(8)

来源:网络收集 时间:2019-06-11 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

11、白盒测试方法一般适合于(A)测试。

A、单元 B、系统 C、集成 D、确认 12、为了提高测试的效率,应该(D)。 A、随机地选取测试数据

B、取一切可能的输入数据作为测试数据 C、在完成编码以后制定软件的测试计划

D、选择发现错误可能性大的数据作为测试数据 13、不属于白盒测试的技术是(D)。

A、语句覆盖 B、判定覆盖 C、条件覆盖 D、边界值分析

14、下列逻辑覆盖标准中,差错能力最强的是(D)。 A、语句覆盖 B、判定覆盖 C、条件覆盖 D、条件组合覆盖

15、在黑盒法中,着重检查输入条件组合的测试方法是(D)。 A、等价类划分法 B、边界值分析法 C、错误推测法 D、因果图法

三、简答题

1、 为什么要进行软件测试?软件测试要以什么目标和原则?

答:软件测试的目的是为了发现软件产品中存在的软件缺陷,进而保证软件产品的质量。软件测试是软件开发过程中的一个重要阶段,是软件产品正式投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试的结果也是分析软件可靠性的重要依据。

在软件测试中,应注意以下指导原则: (1)所有测试都应追溯到需求

(2)坚持“尽早地和不断地进行软件测试”。

(3)测试用例应由输入数据和预期的输出结果两部分组成。 (4)程序员应避免测试自己的程序。

(5)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。 (6)充分注意测试中的群集现象。

(7)严格执行测试计划,排除测试的随意性。 (8)应当对每个测试结果做全面检查。

(9)在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。

(10)应长期保留所有测试用例。保留测试用例有助于以后修改程序后的回归测试。

2、软件测试包括哪几个过程?测试过程中包括哪些数据源?

答:测试过程分为4个步骤,即单元测试、组装测试、确认测试和系统测试。 数据源有:

(1)软件配置:包括软件需求规格说明、软件设计规格说明、源代码等。 (2)测试配置:包括测试计划、测试用例、测试驱动程序等。 (3)测试工具:测试工具为测试的实施提供某种服务,以减轻测试过程中的手工劳动,提高测试效率。

3、黑盒测试法与白盒测试法的本质区别是什么?它们的使用场合有何不同。

答:黑盒测试法与白盒测试法的根本区别是设计测试用例的方法不同。前者是测试产品

36

的功能,后者是测试产品的内部结构和处理过程。

通过黑盒测试主要发现以下错误: (1)是否有不正确或遗漏了的功能。

(2)界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。 (3)是否有数据结构或外部数据库访问错误。 (4)性能是否满足要求。

(5)是否有初始化或终止性错误。

白盒测试法是一种程序级的微观上的测试,不适合于大单元、大系统的测试,主要用于很小单元的测试,以及从事软件底层工作、生产构件的测试人员使用。

4、试比较测试与调试的异同。

答:软件测试的目的是尽可能多地发现程序中的错误,而调试的目的是根据测试时发现的错误,找出错误的原因和具体位置,并改正错误。测试与调试的不同如下表所示。

测试与调试的不同 测试 (test) 目的是发现错误 有计划 以已知条件开始,使用预先定义的程序,有预知的结果 由独立的测试组,在不了解软件设计的条件下完成 被动的 以不可知内部条件开始,结果一般不可预见 由程序作者进行,谁开发的程序就由谁来调试 调试 (debug) 目的是找出错误位置并排除 5、试叙述面向对象的单元测试、组装测试、确定测试的内涵。 (1)面向对象的单元测试

面向对象的单元测试是进行面向对象集成测试的基础。面向对象的单元测试以类或对象为单位。由于类包含一组不同的操作,并且某些特殊的操作可能被多个类共享,因此,单元测试不能孤立地测试某个操作,而是将操作作为类的一部分来测试。

(2)面向对象的集成测试

因为在面向对象的软件中没有层次的控制结构,并且构成类的成分彼此之间存在着直接或间接的交互作用,所以,传统意义上的自顶向下和自底向上的集成策略将不再适用。

(3)面向对象的确认测试

在确认测试层次,不需要再考虑类的实现和交互的具体细节,只要验证交互过程及功能,包括提供的用户界面,用户可见的操作,软件的反应和输出的结果等情况,其中测试用例的选择主要是依据动态模型和系统的脚本描述。

四、应用题

1、使用等价类划分方法,为一元二次方程求解程序设计足够的测试用例。该程序要求分别打印出:不是一元二次方程,有实数根和有复数根三种信息。

测试用例表 测试内容 是一元二次方程且有实根 是一元二次方程且有复根 不是一元二次方程 测试数据 a=1 b=-5 c=6 a=1 b=1 c=2.5 a=0 b=1 c=1 期望结果 x1=2 x2=3 x1=-0.5+1.5i x2=-0.5-1.5i x=-1 2、早期DOS操作系统对文件名的命名要求如下:文件名由基本文件名和扩展名组成,扩展名可以省略,两部分文件名以小数点分隔。基本文件名至少为1位,

37

至多为8位长度,且首字符必须为非数字字符(如字母或部分特殊符号,文件名中不能包括空格、+号、?号、*号、圆点符号。大小写字母无区别);扩展名最多为3位长度。

请用等价类划分法设计对文件名命名要求的测试用例。

等价类划分表 输入条件 基本文件名长度 基本文件名首字符 其他字符 扩展名长度 合理等价类 (1)1-8个字符 (2)字母或部分特殊字符 (3)字母、数字、部分特殊字符 (4)0-3个字符

测试用例表 测试数据 abcd1234.123 .abc abcd12345.123 1234abcd.123 a b a*b a?b a+b abc.1234 有效 无效 无效 无效 无效 无效 无效 期望结果 (5) (6) (7) (8) (8) (8) (8) (9) 测试范围 (1)(2)(3) (4) 不合理等价类 (5)少于1个字符 (6)多于8个字符 (7)不是字母也不是部分特殊字符 (8)包含空格,+,?,*,. (9)多于3个字符 3、对于例9-2,仿照表9-5,请重新设计六种逻辑覆盖的测试用例,并重新填写表格内容,要求测试数据要尽量少。

逻辑覆盖测试用例 输入数据 覆盖类型 A 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 3 3 3 0 2 2 1 2 2 1 1 2 3 0 4 B 0 0 1 0 2 0 2 0 2 0 1 0 1 1 0 X 3 0 3 3 1 3 0 3 0 2 1 2 2 1 1 2 0 4 0 2 4 1 2 1 3 1 3 3 1 0 预期 结果 X 测试 路径 ①②④ ①②⑤ ①③④ ① ④ ①③④ ①②④ ①③⑤ ① ④ ① ④ ① ④ ① ⑤ ① ②③④⑤ ①③④ ①③⑤ ①②⑤ 判定 A>1且B=0 T T F F F T F T F F F T F F T 38

判定 A=2或X>1 T F T F T T F T T T F T T F F 条件 A>1 F T T F T T F F 条件 B=0 T F T F T F T F 条件 A=2 F T T F T T F F 条件 X>1 T F T F T F T F 路径覆盖

第10章 一、判断题

1、(√)在需求分析阶段,就应该考虑软件可维护性问题。 2、(×)在完成软件测试工作后,可删除源程序中的注释,以缩短程序的长度。 3、(√)尽可能在软件生产过程中保证各阶段文档的正确性。 4、(×)编码时要尽可能使用全局变量。

5、(×)应选择时间效率和空间效率尽可能高的算法。 6、(×)应尽可能利用计算机硬件的特点。 7、(×)应使用软件维护工具或支撑环境。 8、(×)在概要设计时应加强模块间的联系。 9、(×)应尽可能使用低级语言编写程序。

10、(×)为加快维护作业的进程,应尽可能增加维护人员。

二、选择题

1、(A)。由于在开发过程中测试的不彻底、不完全而造成的维护是(A)。 A、改正性维护 B、完善性维护 C、适应性维护 D、预防性维护

2、为适应软硬件环境变化而修改软件的过程是(C)。 A、改正性维护 B、完善性维护 C、适应性维护 D、预防性维护

3、为增加软件功能和性能而进行的软件维护过程是(B)。 A、改正性维护 B、完善性维护 C、适应性维护 D、预防性维护 4、软件维护的困难主要原因是(D)。

A、人员少 B、费用低 C、开发方法的缺陷 D、维护难 5、维护阶段需由用户填写的维护文档是(C)。

A、软件需求说明 B、软件修改报告 C、软件问题报告 D、测试分析报告 6、软件的可维护性是指(A)。

A、软件能被修改的难易程度 B、软件可理解的难易程度 C、软件可移植性和可使用性 D、软件维护文档的完整性 7、软件维护工作中最主要部分是(A)。

A、完善性维护 B、改正性维护 C、适应性维护 D、预防性维护

8、维护中,因误删除一个标识符而引起的错误是(C)副作用。 A、文档 B、数据 C、编码 D、设计 9、维护中,因修改全局变量或公用数据而引起的错误是(B)副作用。 A、文档 B、数据 C、编码 D、设计 10、软件维护工作过程中,第一步是先确定(B)。

39

A、环境维护 B、维护类型 C、维护要求 D、维护者

11、在软件生存周期中,工作量所占比例最大的阶段是(D)阶段。 A、需求分析 B、设计 C、测试 D、维护

12、软件工程对维护工作的主要目标是提高(C),降低维护的代价。 A、软件的生产率 B、软件的可靠性 C、软件的可维护性 D、维护的效率 13、软件维护的副作用是指(C)。

A、开发时的错误 B、隐含的错误 C、因修改软件而造成的错误 D、运行时的误操作

14、一般来说,在软件维护过程中,大部分工作是由(C)引起的。 A、适应新的软件环境 B、适应新的硬件环境 C、用户的需求改变 D、程序的可靠性

三、简答题

1.为什么要进行软件维护?软件维护通常有几种类型?

对软件进行维护的根本目的是为了延长软件的生存期。软件维护的原因除了软件在开发过程中的错误需要修改外,根本的原因是变化,使用软件的机构的工作流程、组织机构、软件工作的软硬件环境等都在变化,要求使用的软件也跟着变化,所以必须对软件进行维护。

维护的类型有四种(1)改正性维护(2)适应性维护(3)完善性维护(4)预防性维护

2. 请说明软件维护组织中各种人员及其职责。

答:维护组织机构内一般设修改负责人、维护管理员、系统监督员、配置管理员、维护人员等。各自的职责是:

修改负责人是维护的行政领导,管理维护的人事工作。 维护管理员负责接受维护申请,他把申请转交给系统监督员(或称系统管理员)去评价。并负责向上级报告维护工作。

系统监督员对维护任务做出评价。

配置管理员严格把关程序修改过程,控制修改的范围,对软件配置进行审计。 维护人员负责分析程序的维护要求并进行程序的修改工作。

3.请说明软件维护的流程。

答:(1)确定维护的类型及维护要求(2)根据不同维护类型确定维护的时机和策略(3)实施维护任务。(4)维护复审。

4.什么是软件的可维护性。

答:软件可维护性是指维护人员理解、改正和改进这个软件的难易程度。

5. 简述决定软件可维护性的因素。

答:1)可理解性2)可测试性3)可修改性4)可靠性5)可移植性6)可使用性7)效率

6.简述提高软件可维护性的方法。

答:1)建立明确的软件质量目标2)使用先进的软件开发技术和工具3)进行明确的质量保证审查4)选择可维护的程序设计语言5)改进程序文档。

7.软件维护的副作用有哪些?

答:代码的副作用,数据的副作用,文档的副作用。

第11章

40

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库软件工程(第五版)--习题及答案(8)在线全文阅读。

软件工程(第五版)--习题及答案(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/653125.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: