1、计算机新国家四级软件测试工程师模拟试卷 30及答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 下列属于变量异常的是 _。 A) 变量被定义,但没有被使用 B) 所使用的变量未被定义 C) 变量在使用前被重复定义 D) 以上全部 2 下列引起软件缺陷的因素属于技术问题的是 _。 A) 内容不正确 B) 算法错误 C) 语法错误 D) 系统结构不合理 3 以下叙述中正 确的是 _。 A) 可跟踪性分析是在整体上分析整个资源的分配策略 B) 关键性分析是标志原始需求和相应
2、开发结果之间关系的能力 C) 接口分析必须关注三种接口:用户接口,硬件接口和软件接口 D) 评估全在软件开发的最后阶段进行,以确认产品是否符合规格说明 4 在软件开发的过程中,参与各个活动的评审和阶段的正式技术评审是软件质量保证实施活动步骤的 _。 A) 计划 B) 实施 C) 检查 D) 行动 5 下列测试用例设计方法中,不会在协议一致性测试中使用的是 _。 ( A)等价类 测试 ( B)基于风险的测试 ( C)规范导出法 ( D)边界值测试 6 在面向对象软件测试模型中,面向对象编程的测试可以细分为 _。 ( A)单元测试和集成测试 ( B)单元测试和系统测试 ( C)单元测试、集成测试和
3、系统测试 ( D)系统测试和验收测试 7 下列不属于面向对象集成测试策略的是 _。 ( A)不变式边界测试 ( B)协作集成测试 ( C)大突击集成测试 ( D)高频集成测试 8 下列应用服务器中,不遵循 J2EE规范的是 _。 ( A) MTS ( B) Weblogic ( C) Oracal9iApplication Server ( D) WebSpere 9 下列不属于极限测试的实施要注意的是 _。 ( A)单元测试用例如何生成 ( B)单元测试工具的选择使用 ( C)集成测试方法的选择 ( D)模拟对象的使用 10 下列软件属性中,软件产品首要满足的应该是 _。 ( A)功能需求
4、( B)性能需求 ( C)可扩展性和灵活性 ( D)容错、纠错能力 11 下列有关软件质量的叙述中,错误的是 A)软件的功能和性能必须结合在一起 考虑 B)软件质量不仅包括软件产品的质量,还包括软件过程的质量 C)明确的软件质量属性是指在合同或行业标准中规定必须实现的质量要求 D)隐舍的软件质量属性在合同或行业标准中没有规定,因此在产品开发时不必专门考虑 12 场景测试方法是基于 IBM公司推行的 RUP的测试用例生成方法,该方法的出发点是 A)用例 B)事件流 C)控制流 D)数据流 13 CMU SEI的 watts Humphrey指出:软件产品必须首先提供用户所需要的 A)可靠性 B)
5、可操作性 C)特点 D)功能 14 对采用迭代或增量开发过程模型开发的产品进行集成测试时,最适合采用的集成策略是 A)传统的集成测试策略 B)基于集成测试策略 C)高频集成测试策略 D)基于使用的集成测试策略 15 软件可靠性分析方法通常不依赖于概率统计的方法,下面属于软件可靠性分析方法的是 _。 A) 失效模式影响分析法 (FMEA法 ) B) 故障树和事件树分析法 C) 潜在线路分析法 D) 以上全部 16 仅根据规格说明书描述的程序 功能来设计测试用例的方法称为 _。 A) 白盒测试法 B) 黑盒测试法 C) 静态分析法 D) 人工分析法 17 不需要运行程序,通过收集有关代码的结构信息
6、来对程序进行测试的是 A)静态分析 B)动态测试 C)白盒测试 D)黑盒测试 18 在面向对象软件的集成测试中,集成策略反应了集成测试中如何选择每轮测试的对象,实际测试中为保证测试充分,常考虑测试类间的连接,常用技术有_。 (1)类关联的多重性测试 (2)受控异常测试 (3)往返场景测试 (4)模态机测试 A) (1)(2)(3) B) (2)(3)(4) C) (1)(3)(4) D) (1)(2)(3)(4) 19 指出单元测试和集成测试应检测程序的执行是否满足软件设计的要求,反应测试活动与分析设计活动关系的模型为 _。 A) W模型 B) V模型 C) H模型 D) X模型 20 关于面
7、向对象软件开发过程和测试过程的说法,不正确的是 _。 A) 面向对象的软件开发过程通常是一个迭代与渐进的过程 B) 面向对象的软件测试过程通常是一个迭代与渐进的过程 C) 测试活动之间是一系列相关测试任务的集合,时间上并不一定是连贯的 D) 测试活动之间是首尾相接的而非穿插交错的 21 下列选项中不属于覆盖率对软件测试作用的是 _。 A) 得知测试是否充分 B) 协助找出代码中的语法错误 C) 指导设计能够增加覆盖率的测试用例 D) 了解测试的弱点在哪里 22 集成测试中使用的主要测试方法为 _。 A) 黑盒测试 B) 灰盒测试 C) 回归测试 D) 白盒测试 23 ( A) 57.1% (
8、B) 78.6% ( C) 90% ( D) 100% 24 以下不属于集成测试层次的是 A) 应用环境集成测试 B) 模块内集成测试 C) 子系统内集成测试 D) 子系统间集成测试 25 下列关于开始软件测试工作应具备的条件中,错误的是 ( A)具有测试合同 (或项目计划 ) ( B)软件测试文档齐全、符合规范 ( C)所提交的被测软件受控 ( D)软件源代码正确通过编译或汇编 二、二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 25 以下是一软件规格说明,请按要求回答问题。 软件规格说明:某工厂招工规定,报名者年龄应该在 1
9、6周岁到 35周岁之间 (到2011年 12月 31日为止 ),即出生年月不在上述范围内的人员将不予接受,并显示“年龄不合格 ”的出错信息。 26 请根据规格说明,划分等价类。 27 使用等价类划分方法为该软件设计测试用例。 28 在 QESlJite web Version 1 0中,已知 Version 1 0 FTP系统测试项目的部分信息如下: (1)测试版本共有两个,按日期排序为 V1 0, V1 1。 (2)功能分类视图部分待测区域及人员分配定义如下表所示:28 针对以下 C语言程序,请按要求回答问题。 下面是一个简单的 C语言程序: int funcl(int a,b,c) int
10、 k=1; if(a 0 | b 0) k=k+a; else k=k+b; if(c 0) k=k+c; return k; 29 画出该函数的程序流程图。 30 设计测试用例,分别使函数的各种逻辑覆盖率尽量达到 100%。如果认为该函数的某种逻辑覆盖率无法达到 100%,需要说明原因。 31 设计特殊的测试用例,说明各种逻辑覆盖之间的关系。 31 以下是班级成绩处理平台的程序流程图,请仔细阅读程序并完成要求。 该平台允许最多输入 100个学生的成绩,以 -1作为输入结束标志。 N2存放输入的学生成绩个数, N1存放输入成绩中有效成绩的个数, sum存放成绩总和。初始化 N2=N1=O, s
11、um=0。计算其中有效的学生分数的个数、总分数和平均值。请针对该程序流程图进行基本路径覆盖测试用例设计。 32 导出过程的控制流图。 33 确定基本测试路径集合。 33 关 于软件测试过程,请回答以下问题。 34 软件测试过程模型主要有哪些 ?各有何特点 ? 35 应当如何正确选取过程模型 ? 36 37 37 以下是学生选课系统中 “学生查询成绩 ”交互行为的描述,请按要求回答问题。 交互开始时终端上显示首页,用户选择 “查询 ”请求后,显示 “请输入学号 ”。 在用户输入学号后,系统核对学生学号:若输入的学号不正确,则显示 “输入的学号不正确 ”,此次查询取消,回到首页;若输入学号正确,出
12、现 “请输入课程名 ”。 一旦输入课程名,就开始核对课程名称:若输入的 课程名不正确,则显示 “输入的课程名不正确 ”,此次查询取消,回到首页;若输入的课程名正确,则根据 “学号 ”和 “课程名 ”,查询学生成绩。 若查询学生成绩成功,则显示查询到的成绩,系统询问是否继续查询:当用户选择 “继续查询 ”后回到 “请输入学号 ”;当用户选择 “结束查询 ”后回到首页。 若查询学生成绩失效,则显示 “查询失效 ”后回到首页。 38 请画出该系统以上交互行为的状态图 (应满足功能图的要求,不可画成流程图 )。 39 使用基本路径测试方法确定该状态图的测试路径。 40 下图是该测试项目的测试 用例执行
13、文档界面,有几个测试用例没有执行 ?有几个测试用例最近一次执行通过 ?有几个测试用例最近一次执行失败 ? 计算机新国家四级软件测试工程师模拟试卷 30答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 【正确答案】 D 【试题解析】 数据流测试是路径测试的一种,它主要关注一条路径上变量在何时定义、何时使用,通过变量的定义和使用异常来检查程序错误。通常将变量异常分为三类: 第 一类定义与使用异常 变量被定义,但没有被使用; 第二类定义与使用异常 所使用的变量未被定义; 第
14、三类定义与使用异常 变量在使用前被重复定义。 【知识模块】 覆盖率 (白盒 )测试 2 【正确答案】 A 【试题解析】 在软件开发的过程中,造成软件缺陷的主要因素有:技术问题、团队合作和软件本身。其中技术问题主要有:算法错误、语法错误、计算和精度问题、系统结构不合理、算法选择不科学、接口参数传递不匹配。而选项 A属于软件本身造成的缺陷。 【知识模块】 软件测试的基本概念 3 【正确答案】 C 【试题解析】 可跟踪性分析是标识原始需求和相应开发结果之问关系的能力。关键性分析是在整体上分析整个资源的分配策略。 A、 B选项说法应互换。评估不仅仅要对最终的软件产品进行评估,而是软件开发各个阶段都需要
15、进行的, D说法错误。 【知识模块】 软件测试的基本概念 4 【正确答案】 B 【知识模块】 软件测试的基本概念 5 【正确答案】 B 【知识模块】 系统测试 6 【正确答案】 A 【知识模块】 面向对象软件的测试 7 【正确答案】 A 【知识模块】 面向对象软件的测试 8 【正确答案】 A 【知识模块】 Web应用软件测试 9 【正确答案】 C 【知识模块】 其他测试 10 【正确答案】 A 【试题解析】 软件产品质量的属性有很多,其中软件产品首先要满足的就是客户的功能需求。性能需求包括处理和响应时间,约束条件则是标识外部硬件、可用存储或其他现有系统对软件的限制。功能、性能和约束必须在一起进
16、行评价。另外软件产品还应具备一定的可扩展性和灵活性,应能够有效的处理例外或异常情况,具有一定的容错、纠错能力。总之, 软件质量实际上是各种特性的复杂组合。 11 【正确答案】 D 【试题解析】 软件质量是各种特性的复杂组合,定义一个软件的质量就等于为该软件定义一系列质量属性, D选项叙述不准确。 12 【正确答案】 A 【试题解析】 场景测试方法是基于 IBM公司推行的 RUP的测试用例生成方法。该方法从系统分析的结果 用例出发,通过对每个用例的场景进行分析,逐步实现测试用例的构造。 13 【正确答案】 D 【试题解析】 CMU SEI的 watts Humphrey指出: “软件产品必须首先
17、提供用户所需要的功能,如果做不到这一点,什么产品都没有意义;其次,这个产品必须能够正常工作。如果产品中有很多缺陷,不能正常工作,那么不管这种产品性能如何,用户也不会使用它。 ” 14 【正确答案】 C 【试题解析】 高频集成是指在软件开发过程中频繁地将新开发的代码与已有代码集成。最适用于对采用迭代或增量开发过程模型开发的产品进行集成测试。 15 【正确答案】 D 16 【正确答案】 B 【试题解析】 仅根据规格说明书描述的程序功能来设计测试用例的方法称为黑盒测试法。白盒测试是对程序的逻辑结构进 行检查,从中获取测试数据。静态分析又称静态测试不必运行程序,目的是收集有关程序代码的结构信息而非查错
18、。人工分析与自动化测试相对,与具体的测试方法不是同一个概念。 17 【正确答案】 A 【试题解析】 软件测试的分类方法比较多,针对测试时是否要运行程序,可分为静态测试和动态测试,其中静态测试也称为静态分析。它不必运行程序,目的仅仅是收集程序代码的结构信息而不用查错。相反,动态测试则是要执行程序,目的是查出程序的错误而非检查程序代码的结构信息。 18 【正确答案】 D 19 【正确答案】 B 20 【正确答案】 D 21 【正确答案】 B 22 【正确答案】 A 23 【正确答案】 A 【试题解析】 覆盖率公式: DDP覆盖率 =被评价到的判定路径数量 /程序中判定路径总数 100%=4/710
19、0%=57.1%。由图可以看出,图中一共有七条判定路径,而该测试用例覆盖了判定路径 A、 B、 E、 H四条。所以该测试用例的判定路径覆盖率为 4/7=57.1%。 24 【正确答案】 A 25 【正确答案】 B 【试题解析】 软件测试工作一般应具备的条件为:具有测试合同 (或项目计划 );具有软件测试所需的各种文档;所提交的被测软件受控;软件源代码正确通过编译或汇编。 二、二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 【正确答案】 根据题意,划分等价类。 假定已知出生年月由 6位数字字符表示,前 4位代表年,后两位代表
20、月,则可以划分 3个有效等价类和 7个无效等价类。具体如下: 有效等价类: 出生年月: (1)6位数字 对应数值: (5)197603 199512 月份对应数值: (8)在 1 12之间 无效等价类: 出生年月: (2)含非数字字符 (3)少于 6个数字字符 (4)多于 6个数字字符 对应数值: (6)小于 197003 (7)大于 198912 月份对应数值: (9)小于 0 (10)大于 12 27 【正确答案】 28 【正确答案】 29 【正确答案】 30 【正确答案】 经过分析不难知,上面这个程序包含: 1)5个语句:每行一个语句; 2)3个条件: a 0; b 0; c 0; 3)
21、4个分支:有两个 if语句,每个 if语句有两个分支; 4)6个条件组合:条件表达式 (a 0) | (b 0)共有两个条件 a 0和 b 0,故有 4个条件组合;条件表达式 (c 0)只有一个条件 c 0,故有两个条件组合。所以该程序共有 6个条件组合; 5)4条路径:从程序的入口到出口的路径共有 4条,分别是: Path1: 123568 Path2: 123578 Path3: 124568 Path4: 124578 31 【正确答 案】 这个程序有 3个输入: a、 b、 c,其输入数据组合是非常大的。下面对该程序分别应用不同的逻辑覆盖准则,设计测试用例。 首先根据源程序画出程序流图
22、比较容易,然后分析学过的所有的逻辑覆盖 (如语句覆盖,分支覆盖,路径覆盖等 ),分析针对每种逻辑覆盖的标准来设计测试用例。通过设计测试用例来体现各种逻辑覆盖之间的关系。 1语句覆盖 根据语句覆盖准则,只需要采用两个输入数据组合: (a, b, c)=(1, 1, 1)、 (-1,1, 1),便可以把该程序的所有 5个语句执行一遍。 2分支覆盖 (判定覆盖 ) 根据分支覆盖准则,只需要采用两个输入数据组合: (a, b, c)=(1, 1, -1)、 (-1, 1, 1),便可以把该程序的所有 4个分支走遍。但未考虑 b 0的情况,故不满足条件覆盖。说明满足分支覆盖的测试用例未必满足条件覆盖。
23、3条件覆盖 根据条件覆盖准则,只需要采用两个输入数据组合: (a, b, c)=(1, 1, -1)、 (-1, -1, 1),便可以把该程序的 3个条件的真假情况都覆盖到。由于表达式 (a 0)|(b 0)的计算值都为真,不会执行 else语句,即不满足分支覆盖和语句覆盖。说明满足条件覆盖的 未必满足分支覆盖和语句覆盖。 4条件组合覆盖 根据条件组合的覆盖准则,只需要采用 4个输入数据组合: (a, b, c)=(1, -1,1)、 (1, 1, 1)、 (-1, 1, -1)、 (-1, -1, -1),便可以把该程序的 6个条件组合情况覆盖到。但执行的路径数只有 2个,故不满足路径覆盖。
24、说明满足条件组合的覆盖不一定满足路径覆盖。 5路径覆盖 根据路径覆盖的准则,只需要采用 4个输入数据组合: (a, b, c)=(1, 1, 1)、(1, 1, -1)、 (-1, 1, 1)、 (-1, 1, -1),便可以把该程序的所有 4条路径都覆盖。路径覆盖是最强的覆盖准则。 32 【正确答案】 该程序的过程控制流图如下。 33 【正确答案】 该过程该过程控制流图的圈复杂性度量 G(V)为 4(区域数,或者G(V)=E N+2) 所以基本路径集合包含四条独立的路径: 1-2-6-7-9 1-2-6-8-9 1-2-3-4-5-2-6-7-9 1-2-3-4-10-2-6-7-9 34
25、【正确答案】 V模型: V模型反映出测试活动与分析设计活动的关系。指出单元测试和集成测试应检测程序的执行是否满 足软件设计的要求。系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标。验收测试确定软件的实现是否满足用户需要或合同的要求。 W模型: W模型指出软件各开发阶段中应同步进行的验证和确认活动,即测试与开发也应是同步进行的。 W模型有利于尽早和全面地发现问题。 H模型: V模型与 W模型有不妥,即它们都把软件的开发视为需求、设计和编码等一系列串行的活动,而事实上,这些活动是可以交叉进行的。 H模型揭示一点:软件测试是一个独立的流程,贯穿于产品的整个生命周期中,与其他流程并发进行。
26、 其他模型: 除了上面几种常见模型外,还有 X模型、前置测试模型等。 35 【正确答案】 在实践中,应当尽可能地运用各个模型中对项目有实用价值的方面,不能强行地为使用模型而使用模型。建议采用的方法是:以 W模型作为框架,及早、全面地开展测试,同时灵活运用 H模型独立测试的思想,在达到恰当的就绪点时就应该开展独立的测试工作,同时将测试工作进行迭代,最终保证完成测试目标。 36 【正确答案】 37 【正确答案】 38 【正确答案】 根据系统的规格说明,画出状态图,如下图所示。其中, M1:选 择 “查询 ”请求 M2:输入学号 M3:输入了正确的学号 M4:输入了错误的学号 M5、 M9、 M13
27、:回归首页 M6:输入课程名 M7:输入了正确的课程名 M8:输入了错误的课程名 M10:选择查询成绩 M11:查询成绩成功 M12:查询成绩失败 M14:系统询问是否继续查询 M15:用户选择 “继续查询 ” M16:用户选择 “结束查询 ” 39 【正确答案】 根据系统的规格说明,画出控制流图,如下图所示。由控制流图可以看出:程序中有四个判定结点,故该程序的环路复杂度 V(G)=5,所以可以确定五条独立的测试路径 ,即: Path1: 1-2-4 Path2:1-2-3-6 Path3: 1-2-3-5-8 Path4: 1-2-3-5-7-9 Path5: 1-2-3-5-7-10以下是
28、 QESuite Web Version 1.0中某测试项目的部分界面,请按要求回答问题。 40 【正确答案】 QESuite Web Verslon 1.0提供一系列的功能辅助测试管理人员控制测试过程的运行,其中一方面是监控测试用例执行文档的执行过程,这里测试管理人员可以通过观察执行测试视图组来查看当前测试任务下、某个功能分类下测试执行 文档的执行情况。其中不同颜色的灯泡代表不同的执行状态:绿色代表执行通过,红色代表执行失败,蓝色代表未执行等。 下面观察本题目的测试用例执行文档界面,可以看出,有 2个蓝色灯泡,故代表有2个测试用例没有执行;有 4个绿色灯泡,故代表有 4个测试用例最近一次执行通过;有 1个红色灯泡,故代表有 1个测试用例最近一次执行失败。