1、计算机新国家四级软件测试工程师模拟试卷 14及答案与解析 一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 关于对软件测试定义的理解,下边哪句话是正确的 _。 A) 应用系统开发完毕,再对它进行测试 B) 软件开发中产生的错误都源于编码阶段的错误代码 C) 测试是我们考察并理解与发布的软件系统有关的利益和风险状况的过程 D) 完备的测试能够详尽地表明软件中不存在的错误 2 “成熟度 ”这一概念来 源于美国 Carneigie Mellon大学软件工程研究所的软件能力成熟度模型 (SW
2、-CMM),在测试支持度模型 (Testability Support Model)中,分为三个级别。下列哪项不属于此级别分类 _。 A) 弱 (weak) B) 基本 (basic) C) 正常 (normal) D) 强 (stron 3 基于各种方式获取的需求和建立的业务对象模型和分析模型,编写系统和软件需求规格说明,提交管理机构进行需求评审,这是软件生存周期中 _阶段的主要任务。 A) 软件设计 B) 制订 计划 C) 系统与软件需求定义 D) 集成和系统测试 4 敏感测试属于下面哪种测试 _。 A) 容量测试 B) 压力测试 C) 备份测试 D) 安全性测试 5 下列能表达程序未按照
3、预期运行,但不会导致整体失效的是 _。 A) 故障 B) 异常 C) 缺点 D) 失效 6 阅读以下程序,采用逻辑覆盖进行测试,下列测试用例 (a, b, c)的输入值,可以达到条件覆盖的是 _。 Int func(int a, b, c) Int k=1: If(a O)| (b 0)|(a+c 0)k=k+a; Else k=k+b: If(c 0)k=k+c: Return k A) (1, 1, 1), (-1, 1, 1) B) (1, 1, 1), (-1, -1, -1) C) (1, 1, -1), (1, 1, 1) D) (1, 1, -1), (-1, 1, 1) 7 下
4、列语句通常不是作为定义结点的是 _。 A) 输入语句 B) 过程调用语句 C) 赋值语句 D) 输出语句 8 针对逻辑覆盖,下列叙述不正确的是 _。 A) 达到 100%CC要求就一定能够满足 100%DC的要求 B) 达到 100%CDC要求就一定能够满足 100%DC的要求 C) 达到 100%MCDC要求就一定能够满足 100%DC的要求 D) 达到 100%路径覆盖要求就一定能够满足 100%DC的要求 9 单元测试首先对通过模块接口的数据流进行测试。接口测试主要从如下几个方面考虑 _。 模块的形参和其驱动模块送来的参数的个数、类型、次序是否一致 模块传送给被调用模块的参数与其桩模块的
5、参数的个数、类型和次序是否一致 模块传送给库函数的变量个 数、类型次序是否正确 全局变量的定义和用法在各个模块中是否一致 所使用的外部文件的属性是否正确,打开文件的语句是否正确,缓冲区大小是否与记录长度相匹配 , 文件结束判断处理是否一致 A) B) C) D) 10 单元测试与集成测试的区别,下列选项正确的是 _。 测试对象不同 测试时间不同 测试地点不同 测试方法不同 测试内容不同 A) B) C) D) 11 容量测试 (Volume Testing)的主要目标是 _。 A) 测试各种资源在超负荷的情况下的运行情况 B) 检测系统可以处理目标内确定的数据容量 C) 度量系统的性能和预先定
6、义的目标有多大差距 D) 验证系统从软件或者硬件失效中恢复的能力 12 软件可靠性测试过程的正确顺序为 _。 A) 定义软件运行剖面、设计测试用例、确定可靠性目标、实施可靠性测试、分析测试结果 B) 确定可靠性目标、定义软件运行剖面、设计测试用例、实施可靠性测试、分析测试结果 C) 设计测试用例、定义软件运行剖面、确定可靠 性目标、实施可靠性测试、分析测试结果 D) 确定可靠性目标、设计测试用例、定义软件运行剖面、实施可靠性测试、分析测试结果 13 对计算机的系统有用的系统测试类型有 _。 恢复测试 安全测试 应力测试 性能测试 A) B) C) D) 14 下列关于面向对象分析的测试策略的陈
7、述,说法错误的是 _。 A) 面向对象的分析直接映射问题空间,将问题空间中的实例抽象为对象 B) 面向对象的分析用对象的结构反映问题空间的复杂实例和复 杂关系 C) 面向对象中用属性和操作表示实例的特性和行为 D) 面向对象的分析是一个功能分解的过程,是把一个系统看成可以分解的功能的集合 15 由于面向对象软件中可独立被测试的单元通常是一个类族或最小是一个独立的类,所以面向对象的单元测试可以分为几个层次,其中类层次的测试中常用的测试技术有 _。 等价类划分测试 组合功能测试 递归函数测试 多态消息测试 不变式边界测试 模态类测试 非模态类测试 多态服务测试 展平测试 A) B) C) D) 1
8、6 在面向对象软件的集成测试中,下列关于高频集成的叙述,不正确的是_。 A) 高频集成一般采用冒烟测试的方式 B) 高频集成不预测每个测试用例的预期效果,如果测试中未出现反常情况,就认为通过测试 C) 高频集成的优点:高效、可预测性、并行性、尽早查处错误、易进行错误定位但必须要桩模块 D) 高频集成的缺点:若测试包过于简单,可能难以发现问题;开始不能平稳集成;若没有建立适当标准可能会增加风险 17 关于 C/S结构和 B/S结构的比较,下列说法中不正确的是 _。 A) 两种结构所描述的都是远程应用访问的模式,从客户端程序向服务器发起请求的方式来看,并没有很大的不同 B) 从应用模式的发展来看,
9、 B/S结构的应用范围越来越广,但 C/S仍旧拥有 B/S所无法替代的优势 C) C/S对于传输协议没有特定的要求,相对 HTTP协议,底层协议的通信效率更高 D) B/S的缺点在于业务扩展方式比较麻烦,不能像 C/S那样增加网页即可增加服务 18 Web应用软件的三层体系结构是:表示层、业务层和数据层。三者的位置依次是 _。 A) 客户端服务器端客户端 B) 客户端服务 器端服务器端 C) 服务器端 客户端 服务器端 D) 客户端 客户端 服务器端 19 关于软件的兼容性,以下说法错误的是 _。 A) 数据兼容性包括不同版本间的兼容性 B) 软件兼容性测试应包括与整机的兼容性 C) 平台软件
10、的兼容性测试通常比应用软件的兼容性测试更为复杂和困难 D) 软件兼容性应考虑与其他同类软件的兼容性 20 下列关于极限编程的说法中,不正确的是 _。 A) 极限编程的主要优点是可以随时应对新增或改变的需求 B) 极限编程的主要缺点是编码人员的自由度过大 C) 极限编程的单元测试由专门的测试人员完成,编码人员不参与其中 D) 验收测试主要由用户完成 21 有利于尽早和全面发现问题的模型为 _。 A) W模型 B) V模型 C) H模型 D) X模型 22 下面有关软件缺陷的说法中错误的是 _。 A) 缺陷就是软件产品在开发中存在的错误 B) 缺陷就是软件维护过程中存在的错误、毛病等各种问题 C)
11、 缺陷就是导致系统程序崩溃的错误 D) 缺陷就是系统所需要实现的某种功能的失效和违背 23 测试项目的输出标准包括 _。 A) 测试执行标准、测试分析 B) 缺陷描述和处理标准 C) 文档标准和模板、质量评估标准等 D) 以上全是 24 测试项目的输出标准包括 _。 A) 测试执行标准、测试分析 B) 缺陷描述和处理标准 C) 文档标准和模板、质量评估标准等 D) 以上全是 25 可能给项目成本、进度和质量带来坏的影响的事情被称作 _。 A) 灾难 B) 意外 C) 风险 D) 缺陷 二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效
12、。 25 关于软件测试过程,请回答以下问题。 26 软件测试过程模型主要有哪些 ?各有何特点 ? 27 应当如何正确选取过程模型 ? 27 针对以下 C语言程序,请按要求回答问题。 以下是一个用来求解一元二次方程的 C语言程序: 1 main() 2 3 float a,b,c,x1,x2,delta; 4 scanf(“%f*f%f“, 5 if(a!=0) 6 7 delta=b*b-4*a*c; 8 if(delta 0) 9 10 x1=(-b+sqrt(delta)/(2*a); 11 x2=(-b-sqrt(delta)/(2*a); 12 printf(“x1=%f,x2=%fn
13、“, x1,x2); 13 14 else 15 16 if delta=0) 17 18 x1=-b/(2*a); 19 printf(“x1=%fn“, x1); 20 21 else 22 23 printf(“no real solutionn“); 24 25 26 27 28 画出 main()函数的控制流图。 29 采用基本路径测试法设计一组测试用例,保证每个基本独立路径都至少执行一次。 29 以下是一软件规格说明,请按照要求回答问题。 软件规格说明:某学校的学生公寓有 14栋楼,用 A N这 14个大写字母的其中一个代表楼号。每栋楼的层数为 6层,代号为 1 6。每层楼有 40
14、个房间,编号为01 40。具体表示一个宿舍房间时,用一个字母加 3位数字表示,例如: “C527”表示 C楼第五层的 27室。软件运行时,如果输入的房间号不在上述范围内,将不予接受,并显示输入无效。 30 请根据规格说明,划分等价类。 31 使用等价类划分方法为该软件设计测试用例。 计算机新国家四级软件测试工程师模拟试卷 14答案与解析 一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 【正确答案】 C 2 【正确答案】 C 3 【正确答案】 C 4 【正确答案】 B 5 【正确答案
15、】 B 6 【正确答案】 B 7 【正确答案】 D 8 【正确答案】 A 9 【正确答案】 D 10 【正确答案】 C 11 【正确答案】 B 12 【正确答案】 B 13 【正确答案】 D 14 【正确答案】 D 15 【正确答案】 D 16 【正确答案】 C 17 【正确答案】 D 18 【正确答案】 B 19 【正确答案】 B 【试题解析】 所谓兼容性测试,是指针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行。通常,兼容性测试主要考虑硬件、软件和数据三个方面。而软件兼容性测试的内容有:与操作系统的兼容性、与数据库的兼容性、与浏览器的兼容性、与中间件的兼容 性、
16、与其他软件的兼容性、与平台软件的兼容性。 20 【正确答案】 C 21 【正确答案】 A 22 【正确答案】 C 23 【正确答案】 D 24 【正确答案】 A 25 【正确答案】 C 二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 【正确答案】 V模型: V模型反映出测试活动与分析设计活动的关系。指出单元测试和集成测试应检测程序的执行是否满足软件设计的要求。系统测试应检测系统功能、性能的质量特性是否达 到系统要求的指标。验收测试确定软件的实现是否满足用户需要或合同的要求。 W模型: W模型指出软件各开发阶段中应同步进行的
17、验证和确认活动,即测试与开发也应是同步进行的。 W模型有利于尽早和全面地发现问题。 H模型: V模型与 W模型有不妥,即它们都把软件的开发视为需求、设计和编码等一系列串行的活动,而事实上,这些活动是可以交叉进行的。 H模型揭示一点:软件测试是一个独立的流程,贯穿于产品的整个生命周期中,与其他流程并发进行。 其他模型: 除了上面几种常见模型外,还有 X模型、前置测 试模型等。 27 【正确答案】 在实践中,应当尽可能地运用各个模型中对项目有实用价值的方面,不能强行地为使用模型而使用模型。建议采用的方法是:以 W模型作为框架,及早、全面地开展测试,同时灵活运用 H模型独立测试的思想,在达到恰当的就
18、绪点时就应该开展独立的测试工作,同时将测试工作进行迭代,最终保证完成测试目标。 28 【正确答案】 根据程序的源代码,容易画出对应的控制流图,如下图所示 (其中圈中的数字代表的是语句的行号 )。 29 【正确答案】 第一步,根据上述控制流图计算该程序的环路复杂性。 由 图可以看出,判定结点数为 3,边数为 9,结点总数为 7,故 V(G)=9-7+2=4 或 V(G)=3+1=4 或 V(G)=4 第二步,根据环路复杂度为 4,可确定 4条基本独立路径。 Path1: 527 Path2: 582627 Path3: 5816182627 Path4: 5816232627 第三步,设计测试用
19、例。 根据上面 4条基本独立路径,可以设计测试用例如下: 测试用例 1: 输入数据: a=0, b=1, c=1 预期输出结果:程序结束 (这时方程不是二元一次方程 ) 测试用例 2: 输入数据: a=1, b=3, c=2 预期输出结果: x1=-1, x2=-2 测试用例 3: 输入数据: a=1, b=-2, c=1 预期输出结果: x1=1 测试用例 4: 输入数据: a=1, b=1, c=1 预期输出结果: no real solution 30 【正确答案】 根据题意,划分等价类。 根据题中宿舍号的表示方法及范围,可以将输入划分为 4个有效等价类和 10个无效等价类,具体如表 16所示31 【正确答案】