1、计算机新国家四级软件测试工程师模拟试卷 31及答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 软件验证和确认是保证软件质量的重要措施,它的实施应该针对 _。 ( A)程序编写阶段 ( B)软件开发的所有阶段 ( C)软件调试阶段 ( D)软件设计阶段 2 以下关于 Web应用软件测试的说法中,正确的是 _。 ( A) Web应用软件安全性测试只关注用户能否绕开访问控制使用 超越访问权限的内容 ( B) Web应用软件的性能不仅与 Web应用软件自身的代码有关,还可能
2、与所用的 Web服务器、中间件服务器以及数据库服务器有关 ( C)测试 Web应用软件是否支持不同的浏览器是 Web应用软件表示层测试关注的一项主要内容 ( D)对于没有使用数据库的 Web应用软件,不需要进行性能测试 3 为了提高测试的效率,正确的做法是 _。 A) 选择发现错误可能性大的数据作为测试用例 B) 在完成程序的编码之后再制定软件的测试计划 C) 随机选取测试用例 D) 取一切可能的输入数据作为测试用 例 4 下列引用表,不能直接从表中查出说明 /使用错误的是 _。 ( A)循环层次表 ( B)等价表 ( C)变量交叉引用表 ( D)标号交叉引用表 5 下列不属于关键模块具有的特
3、性的是 _。 ( A)处于程序控制结构的底层 ( B)本身是复杂的或是容易出错的 ( C)含有确定的性能需求 ( D)被频繁使用的模块 6 下列关于 a测试的描述中正确的是 _。 ( A) a测试需要用户代表参加 ( B) a测试不需要用户代表参加 ( C) a测试是系统测试的一种 ( D) a测试不属于验 收测试 7 当软件的各部件组成逻辑都相对简单的情况下,对其进行软件可靠性分析通常最好选择运用下面哪一种软件可靠性分析方法 _。 ( A)故障树分析 ( B)严酷度分析 ( C)失效模式影响分析 ( D)潜在线路分析 8 制定技术方案、配置测试数据是在测试阶段 _活动中进行的。 ( A)测试
4、策划 ( B)测试设计与实现 ( C)测试执行 ( D)测试总结 9 关于测试的策划,说法不正确的是 _。 ( A)测试设计的任务是执行测试用例,需要时也可以将测试用例设计与执行并行开展 ( B)若系统对质量要求很高,则需要开展多次的回归测试验证 ( C)在实际软件项目中,一个测试团队可能大都是骨干人员 ( D)测试团队的规模与被测系统规模、测试方资源调配情况有关 10 在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档是 _。 ( A)用户手册 ( B)外部设计规格说明 ( C)内部设计规格说明 ( D)测试计划手册 11 等价类划分和边界值分析是常用的两种黑盒测试方法,采用这两种方
5、法,可以大幅度减少测试用例的数量,那么,它们的局限性是 _。 ( A) 在设计测试用例时不能将这两种方法结合在一起同时使用 ( B)不同输入变量之间可能存在约束关系,它们不能处理这类约束关系 ( C)不能用于大型信息系统的测试用例的设计 ( D)不能用于单元测试和集成测试 12 下列选项中,不属于桌上检查的检查项目的是 A)功能检查 B)风格检查 C)等价性检查 D)检查子程序、宏、函数 13 下列不属于易用性测试范围的是 A)安装与卸载测试 B)系统故障频率 C)窗口风格的一致性 D)功能的关联度 14 以下说法错误的是 _。 A) 软件产品的质量越高,发布后维护成本就越低 B) 在软件测试
6、中一般只需要运行预先设计的所有测试用例 C) 通常应该在需求阶段设计系统测试用例,以此作为需求检查的辅助手段 D) 发现和修复产品中的软件缺陷越早,开发费用就会越低 15 下列关于软件测试自动化,说法正确的是 _。 A) 无法依靠人工完成的测试活动均可以通过测试自动化完成 B) 输出结果不明确的测试不适合自动化 C) 是否采用测试自动化与所开发的应用软件项目的性质无 关 D) 与手工测试相比,采用自动化测试可以明显提高测试质量 16 场景测试方法是基于 IBM公司推行的 RUP的测试用例生成方法,该方法的出发点是 A)用例 B)事件流 C)控制流 D)数据流 17 下列关于软件缺陷产生的原因的
7、叙述中,不属于技术问题的是 A)语法错误 B)系统结构不合理 C)文档错误,内容不正确或拼写错误 D)接口参数传递不匹配,导致模块集成出现问题 18 下列接口测试中,要延续到系统测试阶段来完成的是 A)系统外部 接口 B)系统内部接口 C)类接口 D)函数或方法接口 19 以下哪种软件测试属于软件性能测试的范畴 A)易用性测试 B)单元测试 C)压力测试 D)接口测试 20 系统测试分析通过以下层次进行分析 _。 (1)用户层 (2)应用层 (3)功能层 (4)子系统层 (5)协议 /指标 A) (1)(2)(3)(4) B) (2)(3)(4)(5) C) (2)(3)(4) D) (1)(
8、2)(3)(4)(5) 21 由于面向对象软件中可独立被测 试的单元通常是一个类族或最小是一个独立的类,所以面向对象的单元测试可以分为几个层次,下列不在其分层内的选项为_。 A) 方法层次的测试 B) 类层次的测试 C) 类树层次的测试 D) 系统层次的测试 22 “成熟度 ”这一概念来源于美国 Carneigie Mellon大学软件工程研究所的软件能力成熟度模型 (SW-CMM),在测试支持度模型 (Testability Support Model)中,分为三个级别。下列哪项不属于此级别分类 _。 A) 弱 (weak) B) 基本 (basic) C) 正常 (normal) D) 强
9、 (stron 23 在软件开发的过程中,参与各个活动的评审和阶段的正式技术评审是软件质量保证实施活动步骤的 _。 A) 计划 B) 实施 C) 检查 D) 行动 24 下列哪种情况下可以进行单元测试 _。 A) 每个模块的代码编制完成,并经过评审和验证确认没有语法错误 B) 每个模块的代码编制完成,不需经过评审和验证确认没有语法错误 C) 部分模块的代码编制完成,并且已完成模块已经过评审和验证确认没有语法错误 D) 主要模块的代码编制完成,并且已完 成模块已经过评审和验证确认没有语法错误 25 以下哪一项不属于兼容性测试关注的范畴 ( A)操作系统是否能运行于不同的硬件平台 ( B)杀毒软件
10、在清除病毒时是否会影响办公软件的正常工作 ( C) Web应用软件是否支持不同的关系型数据库 ( D)软件用户手册中的功能说明与实际功能是否一致 二、二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 论述题 1:以下是某应用程序的输入条件限制,请按要求回答问题 某应用程序的输入条件组合为: 姓名: 填或不填 性别:男或女 状态:激活或未激活 (1)对该应用程序采用正交试验设计法设计测试用例。 (2)谈一下正交实验设计法设计测试用例好在哪里 ? 26 关于软件测试过程,请回答以下问题。 27 软件测试过程模型主要有哪些 ?各有
11、何特点 ? 28 应当如何正确选取过程模型 ? 29 根据你对单元测试的理解,谈谈在任何情况下单元测试都是可能的吗 ?都是需要的吗 ? 29 以下是某 C语言程序,此程序根据输入的学生成绩得出成绩的等级,请仔细阅读程序并完成要求。 int scorelevel(int score) int level; if(score 100 | score 0)level=-1; else if(score =90)level=1; else if(score =80)level=2; else if(score =70)level=3; else if(score =60)level=4; else l
12、evel=5: return level; 30 画出上面程序的控制流图。 31 给出满足基本路径覆盖的路径集合。 32 设计覆盖基本路径的测试用例集合。 33 根据你对单元测试的理解,谈谈在任何情况下单元测试都是可能的吗 ?都是需要的吗 ? 33 设计黑盒测试的测试用例 某图书出租商店欲开发一个租书信息管理系统,管理图书的租借业务。 该系统的数据流图如下:34 根据系统的数据流图,画出对应的程序功能图。 (提示;在程序功能图中不考虑文件和与文件交互的数据流,并可用状态和迁移来描述。 ) 35 计算该程序功能图的 McCabe复杂性度量。 36 给出该程序功能图的基本测试路径集合。 37 38
13、 计算机新国家四级软件测试工程师模拟试卷 31答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 【正确答案】 B 【试题解析】 软件验证和确认理论是测试过程的理论依据,验证是检查软件开发的各个阶段过程活动的结果是否满足规格说明的描述,证实各阶段和阶段之间的逻辑协调性、完备性和正确性。确认是证实在一个给定的外部环境中软件的逻辑正确性,即是否满足用户的要求。 2 【正确答案】 B 【试题解析】 对 Web应用软件而言, Web服务器、中间服务器和数据库服务器的配置都可能影
14、响其性能。 3 【正确答案】 A 【试题解析】 由测试用例的原则第 5条 (设计测试用例时应该充分注意测试中的群集现象,即测试后程序中残存的错误数与已发现的错误数目成正比 ),故在测试时应当对错误群集的程序段进行重点测试,以提高测试的效率及测试投资的效益。目前,在软件测试领域流行一个 “80-20原则 ”,认为 80%的错误是在 20%的模块中发现的,所以在测试时如果发现某一程序模块似乎比其他 程序模块有更多的错误倾向时,则应当花费较多的时间和代价测试这个程序模块,从而提高测试的效率。 【知识模块】 软件测试的基本概念 4 【正确答案】 B 【知识模块】 代码检查、走查与评审 5 【正确答案】
15、 A 【知识模块】 单元测试和集成测试 6 【正确答案】 A 【知识模块】 系统测试 7 【正确答案】 C 【知识模块】 软件性能测试和可靠性测试 8 【正确答案】 B 【知识模块】 软件测试过程和管理 9 【正确答案】 C 【知识模块】 软件 测试实践 10 【正确答案】 A 【试题解析】 软件的外部设计是从用户的角度对产品进行描述的,外部设计规格说明是在外部设计期间产生的文档,用户手册是另一种文档,与外部设计规格说明不同的是,它是在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档。 11 【正确答案】 B 【试题解析】 等价类划分和边界值分析的局限性表述正确的就是选项 B,不同输入
16、变量之间可能存在约束关系,它们不能处理这类约束关系。 12 【正确答案】 A 【试题解析】 程序员进行桌上检查的目的是进行代码检查 ,主要检查项目包括:检查变量的交叉引用表,检查标号的交叉引用表,检查子程序、宏、函数,等价性检查,常量检查,标准检查,风格检查,比较控制流,选择、激活路径,补充文档。选项 A不在桌上检查的检查项目之中。 13 【正确答案】 B 【试题解析】 易用性测试包括对用户文档的测试、易安装性测试、功能易用性测试和用户界面测试。系统故障频率不属于易用性测试的范围。 14 【正确答案】 B 15 【正确答案】 B 【试题解析】 对于软件自动化测试的理解。当输出结果不明确的情况时
17、,是不适合采用自动化测 试的。自动化测试不是万能的,只有当某项测试需要频繁运行时才需要自动化。人工无法完成的测试活动并不一定能通过自动化测试完成。是否采用测试自动化与软件项目的性质有关,测试很少运行,软件不稳定,测试结果容易人工验证,但是难于把这类测试自动化,涉及物理交互的测试都不适合使用自动化测试。同时,自动化测试对测试质量的依赖性极大。它把测试任务变成了验证期望输出的正确性,并不能完全提高测试的质量。 16 【正确答案】 A 【试题解析】 场景测试方法是基于 IBM公司推行的 RUP的测试用例生成方法。该方法从系统分析的 结果 用例出发,通过对每个用例的场景进行分析,逐步实现测试用例的构造
18、。 17 【正确答案】 C 【试题解析】 C选项属于软件本身的问题而非技术问题。 18 【正确答案】 A 【试题解析】 在实际环境中,接口可划分为两类:系统内部接口 (系统内部各模块交互的接口 )、系统外部接口 (外部系统与系统进行交互的接口 )。其中对系统外部接口的测试一般要延续到系统测试阶段来完成。系统内部接口主要包括:函数或方法接口、消息接口、类接口和其他接口。 19 【正确答案】 C 【试题解析】 依据测试目 的的不同,可以把软件性能测试及与性能有关的其他测试分为性能测试、并发测试、压力测试、可靠性测试、负载测试、配置测试、失效恢复测试。 20 【正确答案】 D 21 【正确答案】 D
19、 22 【正确答案】 C 23 【正确答案】 C 24 【正确答案】 A 25 【正确答案】 D 【试题解析】 兼容性测试包括:与操作系统的兼容性;与数据库的兼容性;与浏览器的兼容性;与中间件的兼容性;与其他软件的兼容性;与平台软件的兼容性。 二、二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色 钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 【正确答案】 问题 1:采用常用方法设计测试用例如下:对于该程序的输入条件,因为每个条件分别有两个输入参数,如果要全部覆盖它们的输入组合,则需设计 8个测试用例,分别是: 1填写姓名、选择男性、状态设置为激活。 2填写姓名、选择女
20、性、状态设置为激活。 3填写姓名、选择男性、状态设置为未激活。4填写姓名、选择女性、状态设置为未激活。 5不填写姓名、选择男性、状态设置为激活。 6不填写姓名、选择女性、状态设置为激活。 7不填写姓名、选择男性、状态设置为 未激活。 8不填写姓名、选择女性、状态设置为未激活。问题2:下面采用正交试验设计法设计测试用例步骤 1:确定有哪些因素,即输入的条件。该应用程序有姓名、性别、状态三个因素。步骤 2:每个因素有哪几种参数,即输入条件的参数。该应用程序中的因素都有两种参数,如姓名有填写和不填写两个参数。步骤 3:选择一个合适的正交表。对上述应用程序,我们可以选用 L4,构造正交表,如表 171
21、所示。 步骤4:将变量的值映射到表中,即把表中的 0和 l映射成条件和参数,则上表转换为表 17-2。 步骤 5:把上表中每一行各种因素组合,即作为 一个测试用例。由上表有 4行,故用正交试验法设计的该应用程序的测试用例有 4个,分别是: 1)填写姓名、性别为男,状态设置为激活。 2)填写姓名、性别为女,状态设置为未激活。 3)不填写姓名、性别为男,状态设置为未激活。 4)不填写姓名、性别为女,状态设置为激活。正交试验设计法的好处:简化测试用例,是一种可以用最少的测试用例获得较为全面的测试覆盖率的设计方法,尤其对于较为复杂的程序,该方法优点显著。 【试题解析】 首先考虑程序的输入条件组合,根据
22、路径覆盖需要 8个测试用例,然后根据正交实验设计测试用例方法步骤,通过 构造正交表设计测试用例。最后通过结果比较总结出正交实验设计法设计测试用例的好处。 27 【正确答案】 V模型: V模型反映出测试活动与分析设计活动的关系。指出单元测试和集成测试应检测程序的执行是否满足软件设计的要求。系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标。验收测试确定软件的实现是否满足用户需要或合同的要求。 W模型: W模型指出软件各开发阶段中应同步进行的验证和确认活动,即测试与开发也应是同步进行的。 W模型有利于尽早和全面地发现问题。 H模型: V模型 与 W模型有不妥,即它们都把软件的开发视为需求
23、、设计和编码等一系列串行的活动,而事实上,这些活动是可以交叉进行的。 H模型揭示一点:软件测试是一个独立的流程,贯穿于产品的整个生命周期中,与其他流程并发进行。 其他模型: 除了上面几种常见模型外,还有 X模型、前置测试模型等。 28 【正确答案】 在实践中,应当尽可能地运用各个模型中对项目有实用价值的方面,不能强行地为使用模型而使用模型。建议采用的方法是:以 W模型作为框架,及早、全面地开展测试,同时灵活运用 H模型独立测试的思想,在达到恰当的就绪点时就 应该开展独立的测试工作,同时将测试工作进行迭代,最终保证完成测试目标。 29 【正确答案】 单元测试又称模块测试,是针对软件设计的最小单位
24、 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。 单元测试是在编码阶段完成的,每编写出一个程序模块,就开始做这个模块的单元测试,所以只要采用模块化方法设计开发的软件,单元测试都是必需的。这时单元测试通常由编写程序的人来完成。因为它需要根据程序的内 部逻辑结构设计测试用例,对于那些不了解程序内部细节的人,单元测试无法进行。 30 【正确答案】 程序的控制流图如下图所示 31 【正确答案】 由控制流图的圈复杂度 V(G)=6(图中的区域数,或者 V(G)=E-N+2),所以基本路径集
25、合应包含六条独立的路径。分别为:32 【正确答案】 测试用例的设计如下: Score=188, 95, 85, 75, 63, 26; 33 【正确答案】 单元测试又称模块测试,是针对软件设计的最小单位 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部 可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。 单元测试是在编码阶段完成的,每编写出一个程序模块,就开始做这个模块的单元测试,所以只要采用模块化方法设计开发的软件,单元测试都是必需的。这时单元测试通常由编写程序的人来完成。因为它需要根据程序的内部逻辑结构设计测试用例,对于那些不了解程序内部细节的人,单元测试无法进行。 34 【正确答案】 35 【正确答案】 依据有向图 G环路复杂性公式: V(G)=m-n+2,其中, V(G)是环路个数, m是 有向弧个数, n是结点个数,从上图可知, m=10, n=9,则 V(G)=m-n+2=10-9+2=3,即该程序功能图的 McCabe复杂度为 3 36 【正确答案】 测试路径集合如下:37 【正确答案】 38 【正确答案】