1、软件工程基础练习试卷 3及答案与解析 1 在图 7-2所示的流程图中,如果标记为 b的运算执行了 m次 (m 1),那么标记为a的运算的执行次数为 _。 ( A) 1 ( B) m-1 ( C) m ( D) m+1 2 软件的复杂性与许多因素有关。 _不属于软件的复杂性参数。 ( A)源程序的代码行数 ( B)程序的结构 ( C)算法的难易程度 ( D)程序中注释的多少 3 _不是良好的编程风格。 ( A)变量名采用单字母符号或单字母加数字串 ( B)程序代码采用缩进格式 ( C)为变 量设置初始值 ( D)程序中包含必要的注释 4 下列叙述中,良好编程风格的正确叙述,是 _。 ( A)使用
2、括号以改善表达式的清晰性。 ( B)对递归定义的数据结构不要使用递归过程。 ( C)应尽可能多输出中间结果。 ( D)尽可能对程序代码进行优化。 5 下列叙述中,良好编程风格的正确叙述,是 _。 ( A)可以尽量使用标准文本以外的语句 ( B)对所有输入数据进行校验 ( C)用计数方法而不是用文件结束符来判别输入的结束。 ( D)可以显式说明变量,也可以隐式说明 6 编制一个 好的程序首先要确保它的正确性和可靠性,除此以外,通常更注重源程序的 (1)。此外,还应强调良好的编程风格,例如,选择标识符的名字时应考虑(2);在书写语句时应考虑 (3);在书写功能性注解时应考虑 (4)。 源程序中应包
3、含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和 (5)。 ( A)易使用性、易维护性和效率 ( B)易使用性、易维护性和易移植性 ( C)易理解性、易测试性和易修改性 ( D)易理解性、安全性和效率 ( A)名字长度越短越好,以减少源程序的输入量 ( B)多个变量共用一个名字,以减少变量名的数目 ( C)选择含义明确的名字,以正确提示所代表的实体 ( D)尽量用关键字作名字,以使名字标准化 ( A)把多个短的语句写在同一行中,以减少源程序的行数 ( B)尽量使用标准文本以外的有特殊功效的语句,以提高程序的功效 ( C)尽量消除表达式中的括号,以简化表达
4、式 ( D)避免使用测试条件 “非 ”,以提高程序的可读性 ( A)仅为整个程序作注解 ( B)仅为每个模块作注解 ( C)为程序段作注解 ( D)为每个语句作注解 ( A)程序的视觉组织 ( B)尽量不用或少 用 GOTO语句 ( C)检查输入数据的有效性 ( D)设计良好的输出报表 11 对建立良好的程序设计风格,下面描述正确的是 _。 ( A)程序应简单、清晰、可读性好 ( B)符号名的命名只要符合语法即可 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 12 若程序中使用的变量未设置初始值,则 _。 ( A)编译时一定出错 ( B)运行时一定会出错 ( C)链接时一定出错
5、( D)运行结果可能出错 13 系统测试计划应该在软件开发的 _阶段制定。 ( A)需求分 析 ( B)概要设计 ( C)详细设计 ( D)系统测试 14 从工程管理角度,软件设计一般分为两步完成,它们是 _。 ( A)概要设计与详细设计 ( B)数据设计与接口设计 ( C)软件结构设计与数据设计 ( D)过程设计与数据设计 15 在软件开发的各个阶段中,对软件开发成败影响最大的是 _。 ( A)需求分析 ( B)概要设计 ( C)详细设计 ( D)编码 16 _是算法的一种图形化表示。 ( A)拓扑结构图 ( B)流程图 ( C)伪代码 ( D)数据流图 17 通常在软件开发的 _活动中无需
6、用户参与。 ( A)需求分析 ( B)维护 ( C)编码 ( D)测试 18 在软件开发过程中, _。 ( A)增加更多的程序员可以加快软件开发速度 ( B)只有对目标的一般描述还不能立即开始编码 ( C)若项目需求有变化,应先在编码中进行处理以不耽误开发进度 ( D)程序的质量只能在用户使用之后才能进行评估 19 采用结构化方法开发软件时,常使用数据流图来描述系统数据处理过程,它是_阶段产生的。 ( A)系统分析 ( B)概要设计 ( C)详细设计 ( D)编码 20 软件 “做什么 ”和 “怎么做 ”是软件开发过程中需要解决的关键问题,其中 “怎么做 ”是在 _阶段解决的。 ( A)需求分
7、析 ( B)文档设计 ( C)软件编码 ( D)测试 21 软件设计活动中的 _设计指定各个组件之间的通信方式以及各组件之间如何相互作用。 ( A)数据 ( B)接口 ( C)结构 ( D)组件 22 通常,在软件的输入输出设计中,合理的要求是: _。 ( A)数据尽量由用户来输入,以便给用户提供更大的自主性 ( B)输入过程 应尽量容易,以减少错误的发生 ( C)不能在输入过程中检验数据的正确性 ( D)在输入过程中,为了不干扰用户,应尽量避免提示信息 23 以下关于程序测试的叙述,正确的是 _。 ( A)程序测试的目的是为了证明程序的正确性 ( B)白盒测试也称为功能测试 ( C)黑盒测试
8、也称为结构测试 ( D)程序测试要注意检验程序是否有多余的功能 24 在进行单元测试时,常用的方法是 _。 ( A)采用白盒测试,辅之以黑盒测试 ( B)采用黑盒测试,辅之以白盒测试 ( C)只使用白盒测试 ( D)只 使用黑盒测试 25 软件测试分为黑盒测试和白盒测试,其中, _方法属于黑盒测试。 ( A)等价类划分和边界类划分 ( B)循环覆盖以及基本路径测试 ( C)错误推测和逻辑覆盖 ( D)因果图和路径覆盖 26 白盒测试方法一般适合用于 _测试。 ( A)单元 ( B)系统 ( C)集成 ( D)确认 27 软件测试通常可分为白盒测试和黑盒测试。 白盒测试是根据程序的 (1)来设计
9、测试用例,黑盒测试是根据软件的规格说明来设计测试用例。 常用的黑盒测试方法有边值分析、等价类划 分、错误猜测、因果图等。其中, (2)经常与其他方法结合起来使用。 软件测试的步骤主要有单元测试、集成测试和确认测试。如果一个软件作为产品被许多客户使用的话,在确认测试时通常要经过 测试和 测试的过程。其中, 测试是 (3)进行的一种测试。 在软件设计和编码时,采取 (4)等措施都有利于提高软件的可测试性。 ( A)功能 ( B)性能 ( C)内部逻辑 ( D)内部数据 ( A)边值分析 ( B)等价类划分 ( C)错误猜测 ( D)因果图 ( A)在开发者现场由开发方的非本项目开发人员 ( B)在
10、开 发者现场由用户 ( C)在用户现场由开发方的非本项目开发人员 ( D)在用户现场由用户使用 ( A)不使用标准文本以外的语句,书写详细正确的文档 ( B)不使用标准文本以外的语句,采用良好的程序结构 ( C)书写详细正确的文档,信息隐蔽 ( D)书写详细正确的文档,采用良好的程序结构 31 检查软件产品是否符合需求定义的过程称为 _。 ( A)确认测试 ( B)集成测试 ( C)验证测试 ( D)验收测试 32 用黑盒技术测试用例的方法之一为 _。 ( A)因果图 ( B)逻辑覆盖 ( C)循环覆盖 ( D)基本路径测试 33 软件测试中的 测试由用户在软件开发者指导下完成,这种测试属于
11、_阶段的测试活动。 ( A)单元测试 ( B)集成测试 ( C)系统测试 ( D)确认测试 34 在了解程序内部结构和流程后,通常采用 (1)验证程序内部逻辑是否符合设计要求,此时可使用 (2)技术设计测试案例。 ( A)黑盒测试 ( B)白盒测试 ( C)等价类划分 ( D)边界值分析 ( A)等价类划分 ( B)边界值分析 ( C)因果图 ( D)逻辑覆盖 软件工程基础练习试卷 3答 案与解析 1 【正确答案】 D 【试题解析】 根据题目所给的流程图,只有当标记为 a的运算返回 Y(真 )时, b运算才会得以执行,而后继续返回到 a运算。而当 a运算返回 N(假 )时,整个流程执行完毕。由
12、此可见,如果 b运算执行了 m次,则 a运算必定执行并返回了 m次Y。而在第 m+1次执行 a运算时,返回了 N,执行完毕。故 a运算执行次数为m+l。 【知识模块】 软件工程基础 2 【正确答案】 D 【试题解析】 注释是程序员对程序某部分的功能和作用所做的说明,对编译和运行不起作用。所以,注释跟软件的复杂性 无关。所以选项 D为正确答案。 【知识模块】 软件工程基础 3 【正确答案】 A 【试题解析】 程序的设计风格,指编写程序时源程序的格式。良好的编程风格,可以帮助人们理解程序,查找错误。在编程过程中,要注意养成良好的习惯,比如:选择含义明确的名字,使它能正确提示标识符所代表的实体,而且
13、,名字中应当避免使用易混淆的数字。显然,选项 A的说法是错误的,为本题答案。在程序要添加空格、空行和缩进,帮助人们在视觉上看清程序结构。选项 B符合这个要求。显式说明一切变量。选项 C的为变量设置初始值,也是良好的编程 习惯。程序中包含必要的注释,可以帮助人们理解程序。选项 D符合这个要求。 【知识模块】 软件工程基础 4 【正确答案】 A 【试题解析】 选项 A说法正确,使用括号,可以清晰地表达逻辑表达式和算术表达式的运算次序,可提高程序的可理解性。本题正确答案为选项 A。选项 B说法错误,对递归定义的数据结构可以使用递归过程。选项 C说法错误,适当输出中间结果是可以的,无须过多输出中间结果
14、。选项 D说法错误,如果对程序代码过度优化,会降低程序的可理解性。 【知识模块】 软件工程基础 5 【正确答案】 B 【试题解析】 选项 A说法正确,使用括号,可以清晰地表达逻辑表达式和算术表达式的运算次序,可提高程序的可理解性。本题正确答案为选项 A。 选项 B说法错误,对递归定义的数据结构可以使用递归过程。 选项 C说法错误,适当输出中间结果是可以的,无须过多输出中间结果。 选项 D说法错误,如果对程序代码过度优化,会降低程序的可理解性。 【知识模块】 软件工程基础 6 【正确答案】 B 【知识模块】 软件工程基础 7 【正确答案】 C 【知识模块】 软件工程基础 8 【正确 答案】 D
15、【知识模块】 软件工程基础 9 【正确答案】 C 【知识模块】 软件工程基础 10 【正确答案】 A 【试题解析】 第 1空分析如下: 编制一个好的程序,首先要确保它的正确性和可靠性,除此以外,通常更注重源程序的易使用性、易维护性和易移植性。本题第 1空的正确答案为选项 B。 第 2空分析如下: 要强调良好的编程风格,选择标识符的名字时应考虑: 标识符包括模块名、变量名、常量名、标号名、子程序名等。这些名字应能反映它所代表的实际东西,应有一定实际意义, 使其能顾名思义。第 2空的正确答案为选项 C。 在模块名、变量名、常量名、标号名、子程序名中使用下划线是一种风格。使用这一技术的一种命名规则就
16、是匈牙利命名法 (变量类型由一个或两个字符表示,并且这些字符将作为变量名的前缀 )。 重要的是保持一致性 在整个程序中使用相同的命名规则。小组成员应该制定一种命名规则,并自始至终使用。还要与程序中用到的第三方库所使用的风格保持一致。如果可能的话,应该尽量使用与第三方库相同的命名规则,这将加强程序的可读性和一致性。 第 3空分析如下: 源程序清单的书 写建议有: 每行只写一条语句。 用分层缩进的写法显示嵌套结构层次,这样可使程序的逻辑结构更加清晰,层次更加分明。 书写表达式时适当使用空格或圆括号作隔离符。 在注释段周围加上边框。 注释段与程序段、以及不同的程序段之间插入字行。 避免使用测试条件
17、“非 ”,以提高程序的可读性。第 3空的正确答案为选项 D。 第 4空分析如下: 程序中的注释是程序设计者与程序阅读者之间通信的重要手段。注释能够帮助读者理解程序,并为后续测试维护提供明确的指导信息。注释分为功能性 注释和序言性注释。 功能性注释。功能性注释在源程序中,用以描述其后的语句或程序段是在做什么工作,也就是解释下面要做什么,而不是解释下面怎么做。对于书写功能性注释,要注意以下几点:第一描述一段程序,而不是每一个语句。第二利用缩进和空行,使程序与注释容易区别。第三注释要准确无误。第 4空的正确答案为选项 C。 序言性注释。序言性注释通常位于每个程序模块的开头部分,它给出程序的整体说明,
18、对于理解程序具有引导作用。有些软件开发部门对序言性注释做了明确 而严格的规定,要求程序编制者逐项列出。有关内容包括 :程序标题;有关该模块功能和目的的说明;主要算法;接口说明:包括调用形式,参数描述,子程序清单;有关数据描述;模块位置 (在哪一个源文件中,或隶属于哪一个软件包 );开发简历:模块设计者、复审考、复审日期。 第 5空的分析如下: 源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和程序的视觉组织。第 5空的正确答案为选项A。 【知识模块】 软件工程基础 11 【正确答案】 A 【试题解析】 B选项错误,符号名应该能反映出它所代表的实
19、际东西, 应有一定的意义,不是简单的符合语法就可以。 C选项不对,应该在保证程序正确的情况下再考虑程序的执行效率。 D选项错误,程序的注释有益于对程序的理解和维护,好的程序必不可少。 A选项正确。为本题正确答案。 【知识模块】 软件工程基础 12 【正确答案】 D 【试题解析】 如果程序中使用的变量未设置初始值,那么,如果在编程过程中,不赋值而使用其值进行计算,那么,该值会由系统随机赋值,结果将可能出错。选项 D为正确答案。 【知识模块】 软件工程基础 13 【正确答案】 A 【试题解析】 在需求分析阶段,就开始制定系统测试计划,并在设计阶段进行完善。所以选项 A为正确答案。 【知识模块】 软
20、件工程基础 14 【正确答案】 A 【试题解析】 从工程管理的角度,软件设计可分为概要设计和详细设计两大步骤。概要设计是根据需求确定软件和数据的总体框架;详细设计是将其进一步精化成软件的算法或表示和数据结构。而在技术上,概要设计和详细设计又由若干活动组成,包括总体结构设计,数据设计和过程设计。因此,本题的正确答案是A。 【知识模块】 软件工程基础 15 【正确答 案】 A 【试题解析】 在需求分析阶段,要确定系统的功能、性能、数据、界面等要求,从而确定系统的逻辑模型。需求分析的好坏,会影响整个系统的质量、开发费用,甚至项目成败。所以选项 A为正确答案。 【知识模块】 软件工程基础 16 【正确
21、答案】 B 【试题解析】 对于选项 A,拓扑结构图经常用于表示网络中结点之间的连接方式。对于选项 B,流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。为了描述复杂的软件系统的信息流向和加工,可采用分层的 DFD来描述 ,分层 DFD有顶层,中间层、底层之分。选项 B为正确答案。对于选项 C,伪代码实际上是计算机代码的简略形式,它比流程图更像计算机代码。对于选项 D,数据流图 (DFD)是 SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图是从
22、数据的角度来描述系统。 【知识模块】 软件工程基础 17 【正确答案】 C 【试题解析】 为确保软件符合用户需求,在各种软件开发过程中,用户有着非常重要的作用。对于选项 A,进 行需求分析时,需要用户和软件人员共同讨论,并且只有用户参与,才能有助于软件人员了解用户的知识、管理和技能等背景。对于选项 B,维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,这一部分同样需要用户的参与。对于选项 C,编码是程序员依据详细设计的结果,用计算机语言实现所要完成的功能。对于选项 D,测试是软件质量的保证性手段,因为用户是软件的直接或间接使用者,这一群体能对软件系统成果产生重大影响,不同
23、种类的用户可以以不同形式参与系统测试活动。综上所述,本题应该选择 C。 【知识模块】 软件工 程基础 18 【正确答案】 B 【试题解析】 对于选项 A,软件开发过程中,如果增加程序员,可能会更加延误项目。原因是,编写程序,需要有一个熟悉过程,原有程序员需要向新添加的程序员解释工资以及交流思想,使得实际开发时间更少,而且,项目新手可能会产生新的错误,使项目混乱。选项 A的说法不正确。对于选项 C,软件需求发生变化时,应当及时修改程序设计和代码,保证文档与代码的一致。选项 C的说法错误。对于选项 D,软件质量的评估,需要在需求分析、设计等重要阶段,由专家和用户共同参与。选项 D说法错误。选项 B
24、的说法正确 ,是本题正确答案。 【知识模块】 软件工程基础 19 【正确答案】 A 【试题解析】 结构化分析方法将系统分析视为工程项目,有计划、有步骤地进行工作。它采用自顶向下、逐层分解的开发策略,其分析结果有:数据流图、数据字典和加工逻辑说明。数据流图描述数据流从输入到输出的变换流程。本题正确答案为选项 A。 【知识模块】 软件工程基础 20 【正确答案】 C 【试题解析】 软件需求分析阶段必须清楚软件的各种需求,解决软件 “做什么 ”的问题。而解决 “怎么做 ”是在软件设计编码阶段解决的问题, 此阶段需要确定软件体系结构,处理方式和定义数据结构等,最后用源代码实现软件。选项 C正确。 【知
25、识模块】 软件工程基础 21 【正确答案】 B 【试题解析】 从技术观点来看,软件设计活动包括系统结构设计、数据设计和过程设计。系统结构设计需求确定构成整个系统的各组件 (模块 )结构及关系,其中接口设计需要确定组件之间的接口,选项 B正确;数据设计需要确定软件涉及的文件系统结构、数据库模式、子模式,并进行数据完整性、安全性和保护性设计;组件 (模块 )设计需要确定各组件 (模块 )的规定功能应该如何实现。 【知识模块】 软件工程基础 22 【正确答案】 B 【试题解析】 在输入设计中,应尽量保证在满足处理要求的前提下,使输入量最小。所以选项 A的说法不正确。在输入设计中,应对输入数据进行校验
26、,且尽量接近源数据发生点,使错误能及时得到改正。因此选项 C的说法也不正确。为了使用户更好地理解输入的要求,在输入过程中应尽量提供相应的帮助。故选项 D的说法也是错误的。选项 B的说法正确,为所选答案。 【知识模块】 软件工程基础 23 【正确答案】 D 【试题解析】 程序测试的目的是发现程序错误,不 是证明程序正确。所以选项 A的说法不正确。黑盒测试是在不了解程序结构的情况下,根据使用说明书,输入所需的数据,检查其输出结果的正确性。黑盒测试也叫做功能测试。所以,选项B的说法错误。白盒测试根据程序内部结构进行测试,也叫做结构测试。所以,选项 C的说法错误。选项 D的说法正确,为所选答案。 【知
27、识模块】 软件工程基础 24 【正确答案】 A 【试题解析】 单元测试的步骤如下: 理解需求和设计。清楚被测试模块在整个软件中所处的位置。一个原则是:好的设计,各模块只负责完成自己的事情,层次与分工 明确。单元测试时,可以不测试不属于被测模块所负责的功能,以减少测试用例的冗余。 概览源代码。浏览源代码,初步检查源代码的编码风格与规范,大致估算测试工作量,确定模块的复杂程度,初步制定测试的优先级等。 精读源代码。认真阅读和分析代码,理解代码的业务逻辑,检查代码与设计是否相符,仔细研究逻辑复杂的模块,可采用一些检查列表来检查程序可能会出现的问题。 设计测试用例。综合运用白盒测试方法 (并结合黑盒测
28、试方法 )设计测试用例,包括功能测试、性能测试等,要达到一定的测试覆盖率。本题正确答案为选项A。 搭建单元测试环境。这个阶段主要就是写桩模块和驱动模块,然后驱动模块想办法获取被测试模块对数据的处理结果,并判定返回的实际结果与测试用例的预 期结果是否一致,通过测试框架来记录执行的结果,对于出现的错误,还需统计错误的信息,供执行完之后分析。 执行测试。运行写好的驱动模块完成对被测试模块的测试。 补充和完善测试用例。在测试过程中不断补充测试用例,直到满足要求为止。 分析结果,给出评价。根据测试的结果分析、查找错误的原因,并找到解决的办法。测试结束之后,根据测试过程的数据统 计,给出被测试对象评价。
29、【知识模块】 软件工程基础 25 【正确答案】 A 【试题解析】 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。白盒技术有:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。选项 A中的等价类划分和边界类划分都是黑盒测试,为本题正确答案。 【知识模块】 软件工程基础 26 【正确答案】 A 【知识模块】 软件工程基础 27 【正确答案】 C 【知识模块】 软件工程基础 28 【正确 答案】 A 【知识模块】 软件工程基础 29 【正确答案】 B 【知识模块】 软件工程基础 30 【正确答案】 D 【试题解析】 白盒是针对系统的内部逻辑结
30、构进行测试的。第 1空的正确答案为选项 C。长期的测试工作经验表明,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此,针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况,应当选取正好等于、刚刚大于或刚 刚小于边界的值作为测试数据。将边界值分析方法与其他方法结合使用,更容易发现软件错误。第 2空的正确答案为选项 A。如果一个软件作为产品被许多客户使用的话,在确认测试时通常要经过。测试和 测试的过程。其中, 测试是在开发者现场由用户进行的一种测试。 有选择地请一些最
31、终用户实际使用,将发现的问题反馈回来再进行修改。第 3空的正确答案为选项B。书写详细正确的文档,采用良好的程序结构,可提高程序的可理解性,有利于程序的可测试性。第 4空的正确答案为选项 D。有关标准文本使用的问题,涉及到程序的可移植性。 【知识模块】 软件工程基础 31 【正确答案】 A 【试题解析】 确认测试是要检查已实现的软件是否满足了需求规格说明书中确定了的各种需求,以及软件配置是否完全、正确。软件需求规格说明书是软件确认测试的基础。本题正确答案为选项 A。 【知识模块】 软件工程基础 32 【正确答案】 A 【试题解析】 黑盒测试主要方法有等价值划分法、边界值分析法、错误推测法、因果图
32、法等。白盒测试的主要方法有逻辑覆盖、基本路径测试循环覆盖等。只有A属于黑盒测试。 【知识模块】 软件工程基础 33 【正确答案】 D 【试题解析】 测试过程按 4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。单元测试又称模块测试,是针对软件设计的最小单位程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体
33、系结构的构造进行测试。 通常,在单元测试的基础上,需要将所有模块按照设计要求组装成 为系统。这时需要考虑的问题是:在把各个模块连接起来的时侯,穿越模块接口的数据是否会丢失;一个模块的功能是否会对另一个模块的功能产生不利的影响;各个子功能组合起来,能否达到预期要求的父功能;全局数据结构是否有问题等等。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。确认测试又称有效性测试。任务是验证软件的功能和性能及其他特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中 已经明确规定它包含的信息就是软件确认测试的基础。确认测试是在模拟的环境
34、 (可能就是开发的环境 )下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求确认测试需要用户的参与,通常使用 测试、 测试等方式,发现目前仍然没有发现的错误。所以,本题正确答案为选项D。 系统测试把已经经过确认的软件纳入实际运行环境中,与其他系统成分组合在一起进行测试。系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运 行环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。 【知识模块】 软件
35、工程基础 34 【正确答案】 B 【知识模块】 软件工程基础 35 【正确答案】 D 【试题解析】 黑盒测试也称功能测试或数据驱动测试,它是对已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只 检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件 )的完整性。黑盒测试方法主要有等价类划分、边界值分析、因果图、错误推测等,主要用于软件确认测试。 “黑盒 ”法着眼于程序外部结构、不考虑内部逻
36、辑结构、针对软件界面和软件功能进行测试。 “黑盒 ”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 “白盒 ”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。 “白盒 ”法是穷举路径测试。所以,对于第 1个空,正确答案为选项 B。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字 。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。第 2空的选项:等价类划分、边界值分析、因果图,这些都是黑盒测试方法,逻辑覆盖、基本路径测试是白盒测试的测试用例设计方法。第 2空的正确答案为选项D。 【知识模块】 软件工程基础