1、计算机新国家四级软件测试工程师模拟试卷 19及答案与解析 一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 下列关于软件质量模型的说法中正确的是 _。 A) 外部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力 B) 容错性,通用性,结构性和通信性不全属于软件的质量特性 C) 内部质量是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度 D) 使用质量是软件产品在 规定的使用环境中,规定的用户能实现规定目标的要求 2 软件验证和确认理论是测试过程的理
2、论依据,其中确认是检查我们是否在建成一个正确的产品,它强调的是 _。 A) 过程的正确性 B) 产品的正确性 C) 测试的正确性 D) 规格说明的正确性 3 根据软件体系结构的设计,按照一定顺序将经过单元测试的程序单元逐步组装为子系统或系统,这种测试是 _。 A) 系统测试 B) 单元测试 C) 集成测试 D) 验收测试 4 自顶向下单元测试的策略是首先对模块调用图上的哪一层模块进行测试 _。 A) 最底层 B) 下一层 C) 最高层 D) 上一层 5 一般来说,与设计测试用例无关的文档是 _。 A) 需求规格说明书 B) 程序的复杂程度 C) 源程序 D) 项目开发计划 6 在黑盒测试中,着
3、重检查输入条件的组合是 _。 A) 等价类划分法 B) 边界值分析法 C) 错误推测法 D) 因果图法 7 如果一个判定中的复合条件表达式为 (A 10) or (B =7),则为了达到 100%的判定覆盖率,至少需要设计多少个测试用例 _。 A) 1个 B) 2个 C) 3个 D) 4个 8 单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是_。 A) 系统功能 B) 局部数据结构 C) 重要的独立路径 D) 出错处理 9 下列关于逻辑覆盖,说法错误的是 _。 A) 满足条件覆盖并不一定满足判定覆盖 B) 满足条件组合覆盖的测试一定满足判定覆盖、条件覆盖和判定 /条件覆盖 C
4、) 满足路径覆盖也一定满足条件组合覆盖 D) 判定 /条件覆盖同时满足判定覆盖和条件覆盖 10 评审是对软件进行静态测试的一种方法,下列结论中, _是与软件评审无关的内容。 A) 尽量发现错误 B) 根据评审标准 C) 依靠测试信息 D) 检查软件文档 11 Myers提出的软件缺陷的群集现象指的是 _。 A) 在软件测试过程中,缺陷不会少量出现,而会成群出现 B) 在测试一个功能部件的过程中,通常一次会发现很多缺陷 C) 在测试的各个功能部件中,一般不是没有发现缺陷,就是发现许多缺陷 D) 一个功能部件已发现的缺陷越多,找到它的更多未发现的缺陷的可能性就越大 12 在北京某个银行的人事信息管
5、理软件中,系统允许用户输入 8位数字的北京市电 话号码。若使用等价类划分法设计测试用例,获得输入等价类,那么从保证测试效果的角度来看,下面最佳的测试用例选择应为 _。 A) 62570007, 80603805, 100080, 39103825 B) 62570007, 80603805 C) 62570007, 39103825, 8253324,空值, h? D) 3910, 3825, 8253324, , 1391092300 13 下列叙述中,说法错误的是 _。 A) 不应该采用模块化方法开发自动测试脚本 B) 自动测试一般要求被测试的应用系 统相对稳定 C) 应尽量使单元测试自动
6、化 D) 自动测试脚本可能包含错误,也需要进行维护 14 单元测试时,用于代替被调用模块的是 _。 A) 桩模块 B) 通信模块 C) 驱动模块 D) 代理模块 15 在实际测试中,软件性能的高低往往直接取决于 _。 A) 用户对响应时间的接受程度 B) 响应时间的绝对值 C) 系统响应时间 D) 所有功能的最大响应时间 16 在软件的各部件组成逻辑都相对简单的情况下,对其进行软件可靠性分析通常最好选择运用下面哪一种软件可靠性分析方法 _。 A) 故障树分析 B) 严酷度分析 C) 失效模式影响分析 D) 潜在线路分析 17 下列关于面向对象程序的测试组织问题的说法中,正确的是 _。 A) 在
7、面向对象程序测试中,通过执行程序代码完成的测试通常包括单元测试、集成测试和系统测试 3个主要方面 B) 在面向对象程序中的一个类可以作为被独立测试的单元 C) 在面向对象程序测试中,很容易对一个类中的单个成员方法进行充分的单元测试 D) 由于集成测试目标相同,结构化程序的集成测试技术都适用于对类的测试 18 下列不属于 Web应用软件的 特征的是 _。 A) 内容驱动 B) 开发周期短 C) 美观性要求较高 D) 安全性要求较低 19 下列关于 Web应用软件测试的说法中,正确的是 _。 A) 排版结构测试是 Web应用软件易用性测试的重要内容 B) 对于数据完整性的测试是 Web应用软件业务
8、层测试的重要内容 C) Cookie测试是 Web应用软件功能测试的重要内容 D) 对 Web应用软件进行系统测试时不必考虑性能测试 20 下列不属于兼容性要考虑的方面是 _。 A) 硬件兼容性 B) 软件兼容性 C) 程序兼容性 D) 数据兼容性 21 下列选项中,不属于软件功能易用性测试关注的内容是 _。 A) 软件是否能帮助用户减少重复的输入劳动 B) 软件是否能在耗时较长的操作期间提供反馈 C) 软件是否允许用户针对自己的使用习惯进行定制 D) 软件界面中文字的显示风格 22 下列关于极限测试,说法不正确的是 _。 A) 相对传统的软件开发方法,极限编程可以随时应对新增或改变的需求 B
9、) 极限编程的单元测试是由编码人员完成的测试 C) 极限编程要求在编码之前先设计测试 D) 验收测试由用户来完成,编码 人员不必在现场 23 下列有关软件问题生命周期模型状态定义的说法中,错误的是 _。 A) “新建 ”表示测试中发现并报告了新的软件问题 B) “打开 ”表示软件问题已经被确认并分配测试工程师处理 C) “关闭 ”表示软件问题已被确认为无效的软件问题 D) “解决 ”表示软件问题已被确认修复 24 软件测试过程可持续改进的根本是 _。 A) 度量与分析 B) 变更控制 C) 把握需求 D) 度量 25 在 QESuite Web Version 1.0中,测试管理人员可以使用
10、_视图 ,了解哪些模块存在严重的软件问题。 A) “按功能分类 ” B) “按状态 /子状态 ” C) “按子系统 /状态 ” D) “严重性 ” 二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 以下是某程序说明,请按要求回答问题。 程序说明:假设有一个把数字串转换为整数的函数。其中数字串要求长度为 1 6个数字构成,机器字长为 16位。 分析程序中出现的边界情况,采用边界值法为该程序设计测试用例。 26 简单谈一下你对穷举测试的理解,并按要求 回答问题。 27 穷举测试的方法对于所有项目程序都是可行的吗 ? 28 若是针
11、对小型的程序,穷举测试是可能的吗 ?若是,说明此时采用穷举测试能否保证程序是百分之百正确呢 ? 计算机新国家四级软件测试工程师模拟试卷 19答案与解析 一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 【正确答案】 D 【试题解析】 外部质量是针对要求的满足程度而言的,是表征软件产品在规定条件下使用时,满足规定的和隐含 的要求的程度,而内部质量则主要是根据软件产品的情况给出的,内部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体。故选项 A和
12、C叙述刚好颠倒,选项B中的性质都是属于软件的质量特性的,而选项 D中关于使用质量的叙述是完全正确的。 2 【正确答案】 B 【试题解析】 验证是检查软件开发的各个阶段过程活动的结果是否满足规格说明的描述,证实各阶段和阶段之间的逻辑协调性、完备性和正确性。确认是证实在一个给定的外部环境中软件的逻辑正确性,即是否满足用户的要求。 Bohem给出了 一个经典定义:验证是检查我们是否正在正确地建造一个产品,它强调的是过程的正确性。而确认是检查我们是否在建成一个正确的产品,它强调的是产品的正确性。 3 【正确答案】 C 【试题解析】 软件测试生存周期模型描述了软件测试的全过程:单元测试、集成测试、系统测
13、试、验收测试和回归测试等。 当一个程序单元编写出来之后,首先要做的就是及时对其进行单元测试,检查该程序单元中的各种缺陷,并通过调试改正它们,然后进行回归测试,检查这些缺陷是否确实得到修正。 集成测试是根据软件体系结构的设计,按照一定顺序将经过单元测试的程序单元逐步组装为子系统或系统,该过程可以与单元测试穿插进行。 系统测试是根据软件需求规格说明,在开发环境下对已经集成的软件系统进行测试,确认各项规定的需求是否在系统中实现,各种质量要求在系统中是否达到预期的标准, 验收测试是对已经确认的软件系统进行的测试,在实际使用环境中,与计算机系统的其他系统元素进行一系列系统级的集成测试和系统测试。 4 【
14、正确答案】 C 【试题解析】 自底向上测试与自顶向下测试策略都是增量式的测 试,软件是分层设计的,主模块调用子模块,子模块又依次调用更低层次的模块,以此类推。在自底向上单元测试的策略中,应首先测试最底层的模块,利用辅助的测试驱动模块调用它们并传递测试数据,然后再测试更高层次的模块,在较高层次的模块测试中可以直接调用已测试过的较低层次的模块。在自顶向下测试中,首先测试的则是顶层模块,无须编写驱动模块,但要使用桩模块,当顶层模块被证明无误后,再测试下一个高层次的模块。 5 【正确答案】 D 【试题解析】 在各个时期进行的软件测试,其依据都是不同的,测试用例的设计应该与各个时 期的文档有关,故测试用
15、例的设计与需求规格说明书、程序复杂程度、源程序都是有关的。而项目的开发计划是为程序的开发做准备的,与测试无关。 6 【正确答案】 D 7 【正确答案】 B 8 【正确答案】 A 9 【正确答案】 C 【试题解析】 考查各种逻辑覆盖的关系: 条件组合覆盖判定覆盖语句覆盖 (即如果达到条件组合覆盖,就达到判定覆盖和语句覆盖; 如果达到判定覆盖,就达到语句覆盖,下面类似理解 )。 条件组合覆盖条件覆盖。 条件覆盖不一定包含判定覆盖、语句覆 盖。 判定覆盖不一定包含条件覆盖。 路径覆盖判定覆盖语句 10 【正确答案】 C 11 【正确答案】 D 12 【正确答案】 D 13 【正确答案】 A 14 【
16、正确答案】 A 【试题解析】 增量测试策略首先要对程序的每个程序单元或程序部件单独进行测试,这种测试便是单元测试或模块测试或部件测试。在单元测试时,程序员必须编写一个驱动模块,用来调用被测模块并向其传送测试数据,若该模块调用了其他模块,程序员必须编写一个桩模块,用来代替被调用的模块。 15 【正确答 案】 A 【试题解析】 软件的性能是软件的一种非功能特性,响应时间是软件性能的指标之一,响应时间是指系统对请求做出响应的时间,对于单机的、没有并发操作的应用系统而言,人们普遍认为响应时间会是一个合理且准确的性能指标,但是要指出的是,在实际测试中,响应时间的绝对值并不能直接反映软件性能的高低,软件性
17、能的高低实际上取决于用户对响应时间的接受程度。 16 【正确答案】 C 【试题解析】 软件可靠性分析方法主要有:失效模式影响分析、严酷性分析、故障树分析、事件树分析和潜在线路分析。其中失效模式影响 分析 (FMEA) 的基本假设是产品本身的逻辑没有故障,但其各部件出现的故障可能会导致产品出现故障,所以,该方法的思路是通过分析产品与其各个部件的逻辑,从而分析出各个部件的故障对整个产品可靠性的影响。故当软件的各部件组成逻辑都相对简单的情况下,采用该方法是最适合的。 17 【正确答案】 A 【试题解析】 在面向对象程序测试中,通过执行程序代码完成的测试通常包括单元测试、集成测试和系统测试 3个主要方
18、面。其中单元测试的基本要求是被测单元被独立地测试,而在测试面向对象程序时,由于一个类的各个成员方法通常是相互联系的,因而很难对一个类中的单个成员方法进行充分的单元测试。面向对象程序中的一个类甚至也不能作为被独立测试的单元,主要原因一方面是由于继承的存在,一个类通常依赖于其父类和其他祖先类;另一方面由于面向对象程序经常出现多个类相互依赖。集成测试是针对程序的集成结构进行,在面向对象程序中,许多集成机制在传统结构化程序中没有,因而结构化程序的集成测试技术难以适用于对类的测试。 18 【正确答案】 D 19 【正确答案】 C 【试题解析】 Web应用软件的系统测试除了功能测试外还包括性能测试、易用性
19、测 试、内容测试、安全性测试和接口测试等。功能测试主要包括: 连接测试; 表单测试; Cookie测试。故选项 C正确,由排版结构的测试是 Web应用软件表示层的测试,故 A不正确。而对数据完整性的测试是 Web应用软件数据层的测试,故选项 B不正确。对于 Web应用软件而言,性能测试是一个至关重要的因素,所以对 Web应用软件进行系统测试时,必须考虑性能测试,故 D说法错误。 20 【正确答案】 C 21 【正确答案】 D 【试题解析】 功能易用性是指用户能否方便、快速、准确地使用软件提供地功能来完成需要完成的 任务。一般功能易用性测试涉及面很广,其主要内容有: 业务符合度; 功能定制性;
20、功能的关联度; 数据的共享度; 用户约束的合理性; 反馈的及时性。 22 【正确答案】 D 【试题解析】 极限编程强调灵活的分析和设计,极限编程与传统软件开发方法相比,有 4个主要特征: 简单的分析设计; 频繁的客户交流; 增量式开发; 连续的测试。这些特征决定了极限编程可以随时应对新增或改变的需求。单元测试是极限编程中最重要的发现缺陷的手段,主要由编码人员来完成,验收测试主要由用户来完成,但编码人员也必须在场,以便与用 户进行交流。另外极限编程要求在编码之前先设计测试,因为这样可提高编码人员测试自己编写代码的效率。 23 【正确答案】 B 【试题解析】 软件问题的状态定义如下: 新建 (Ne
21、w)测试中新报告的软件问题; 打开 (Open)软件问题已被确认并分配给相关开发工程师处理; 关闭 (Closed)确认为无效的软件问题; 待验 (Pending)工程师已完成修正,等待测试人员验证; 解决 (Resolred)软件问题已被修复。 24 【正确答案】 A 【试题解析】 在软件系统开发过程中,度量与分析同样体现的是 “全过程测试 ”理念,对测试过程的度量有利于及时把握项目情况,对过程数据进行分析,很容易发现优势和劣势,找出需要改进的地方,及时调整测试策略。所以说度量与分析是软件测试过程可持续改进的根本。 25 【正确答案】 A 【试题解析】 在 QESuite Web Versi
22、on 1.0中,可以监控软件问题报告处理过程和软件系统各模块软件问题分布状况,测试管理人员使用 “按功能分类 ”视图查看软件问题分布情况,可以了解哪些模块存在严重的软件问题。使用 “按状态 /子状态 ”视图可以了解当前所有软件问题的处理状态。使用 “按子系统 /状态 ”视图可以了解各个部分软件问题的数量情况,及时调整开发人员修复和测试人员验证的工作方向。使用 “严重性 ”视图可以了解当前软件问题的严重性分布。 二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 【正确答案】 分析该程序的说明和功能,显然可以划分 4组测试等价类
23、:有效输入等价类、无效输入等价类、合法输出等价类和非法输出等价类。在考虑该程序的合法输出和非法输出时需要考虑计 算机的字长,这时要进行边界值法设计测试用例,以补充等价类法设计的测试用例。具体采用边界值法设计的测试用例如下: (1)使程序输入刚好等于最小的负整数: 输入: -32768 输出: -32768 (2)使程序输入刚好等于最大的正整数: 输入: 32767 输出: 32767 (3)使程序输入刚好小于最小的负整数: 输入: -32769 输出:错误 (4)使程序输入刚好大于最大的正整数: 输入: 32768 输出:错误 27 【正 确答案】 不是。穷举测试的方法并不是对所有程序都可以实现。 28 【正确答案】 对小程序进行穷举测试,也不见得能保证程序百分之百正确。所谓穷举测试,是拿所有可能的输入数据来作为测试用例 (黑盒测试 ),或覆盖程序中所有可能的路径 (白盒测试 )。对于小程序来说,实际上并不能真正做到穷举测试。 【试题解析】 在黑盒测试中,测试数据完全来源于软件的规格说明,即不需要了解程序的内部结构。若要用这种方法来发现程序中的所有错误,可行的途径就是穷举测试。但在实际情况下,该方法仅对一些小型简单的程序适用,而对于一些大型 或稍微复杂的程序都是不可能实现的。