1、四级软件测试工程师-1 及答案解析(总分:63.50,做题时间:90 分钟)一、选择题(总题数:20,分数:39.50)1.场景测试方法是基于 IBM 推行的 RUP 的测试用例生成方法,该方法的出发点是_。(分数:2.00)A.事件流B.数据流C.控制流D.用例2.下列关于极限测试的说法中,正确的是(分数:2.00)A.极限测试中只需要进行单元测试B.极限测试是一种针对极限编程的软件测试C.极限测试中所有的测试均由编码人员完成D.与传统的软件测试相比,极限测试是一种更严格的测试3.单元测试的测试对象不包括_。(分数:1.00)A.设计单元B.各个操作C.内部消息序列D.场景4.下列不属于 G
2、UI 系统层次划分的是 _。(分数:2.00)A.界面层B.接口层C.窗口层D.功能层5.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试_。(分数:2.00)A.结构合理性B.软件外部功能C.程序的内部逻辑D.程序正确性6.单元测试时,用于代替被调用模块的是(分数:2.00)A.桩模块B.通信模块C.驱动模块D.代理模块7.下列测试中不属于类层次测试的是_。(分数:2.00)A.模态类测试B.非模态类测试C.递归函数测试D.不变式边界测试8.以下哪种软件测试属于软件性能测试的范畴(分数:2.00)A.易用性测试B.单元测试C.压力测试D.接口测试9.以下关
3、于软件可靠性与硬件的可靠性主要区别的说法中,正确的是_。(分数:2.00)A.软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别B.软件经常面临恶意的使用者,而硬件没有恶意的使用者C.软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区D.软件的失效都是逻辑错误引起的,而硬件的失效都不是逻辑错误引起的10.软件测试过程是一个输入输出的过程,测试过程的输入需要_。(分数:2.00)A.软件配置B.测试配置C.测试工具D.以上全部11.下列有关软件问题生命周期模型中状态定义的说法,正确的一项是(分数:2.00)A.“关闭”表示工程师已经完成修正,等待测试人员验证B
4、.“打开”表示软件问题已经被确认并分配给相关开发工程师处理C.“解决”表示确认为无效的软件问题D.“待验”表示软件问题已经被修复12.在面向对象软件的集成测试中,下列关于高频集成的叙述,不正确的是_。(分数:2.00)A.高频集成一般采用冒烟测试的方式B.高频集成不预测每个测试用例的预期效果,如果测试中未出现反常情况,就认为通过测试C.高频集成的优点:高效、可预测性、并行性、尽早查处错误、易进行错误定位但必须要桩模块D.高频集成的缺点:若测试包过于简单,可能难以发现问题;开始不能平稳集成;若没有建立适当标准可能会增加风险13.在健壮性测试中一般的方法是软件故障插入测试,这里插入故障的方法可以分
5、为两类:状态插入和代码插入。下面不属于实现状态插入方法的是(分数:2.00)A.基于进程的B.基于消息的C.基于程序的D.基于调试器的14.对于支撑系统类型的产品,通常测试人员和开发人员的比例_。(分数:2.50)A.1:2B.1:1C.2:1D.3:115.下列关于应用服务器的分类,叙述错误的是_。(分数:2.00)A.从面向的领域看,应用服务器可以分为两类:通用的应用服务器和专用的应用服务器B.通用的应用服务器能提供多方面服务,支持多个领域的开发和运行C.早前出现的 Tuxedo 和 MTS 遵循 J2EE 规范D.从遵循的规范角度来看,应用服务器可以分为两类:遵循 J2EE 规范的应用服
6、务器和其他服务器16.Web 应用系统一般分为 3 层,下列哪一层不属于 Web 应用系统的范畴_。(分数:2.00)A.应用层B.表示层C.业务层D.数据层17.集成测试时,能够较早发现高层模块接口错误的测试方法是 _。(分数:2.00)A.自底向上渐增式测试方法B.自顶向下渐增式测试方法C.非渐增式测试方法D.系统测试方法18.在黑盒测试中,着重检查输入条件的组合是 _。(分数:2.00)A.等价类划分法B.边界值分析法C.错误推测法D.因果图法19.设计阶段的测试对象来自设计文档,下列不属于这一阶段设计文档的是_。(分数:2.00)A.逻辑设计规格说明B.物理设计规格说明C.内部设计规格
7、说明D.外部设计规格说明20.测试构件的困难为_。(分数:2.00)A.异构性B.演化性C.源代码的可得性D.以上全部二、论述题(总题数:2,分数:24.00)以下是某 C 程序段,其功能是计算出某一天是一年中的第几天,请仔细阅读程序并完成要求。 # includestdioh struct days int year; int month; int date; day; void main() struct days *P; int nun=0,i; int met3=0,31,28,31,30,31,30,31,31,30,31,30,31; P=&day; printf(“please
8、input the day:/n“); scanf(“%d%d%d“,(P-year),(P-month),(P-date); for(i=0;i(p-month);i+) num+=mi; hum+=(p-date); if(p-year)%4=0&(P-year)%i00 1=0|(p-year)%400=0) if(p-month)2) num+: printf(“This day is%d day in the year/n“,hum); (分数:14.00)(1).画出此程序主函数的控制流程图。(分数:7.00)_(2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能
9、达到 100%。如果认为该程序的语句或分支覆盖率无法达到 100%,需说明为什么。(分数:7.00)_某邮件系统测试项目中的测试执行阶段按计划在 5 天后结束,将进入测试总结阶段。测试管理人员通过 QEsuite web Version 1.0 测试过程管理工具观察到以下测试项目信息: 子系统 功能区域 功能区域 测试用例设计数 量 测试用例执行状况 安装 10 全部执行通过 功能设置 15 10 个执行通过 5个未执行 邮件系统 欢迎界面 5 全部执行通过 客户端管理 0 通讯录管理 5 全部执行通过 写邮件 7 5 个执行通过 2 个执行失败 发送邮件 6 全部执行通过 收邮件 5 4 个
10、执行通过 1 个执行失败 邮件管理 邮件设置 19 9 个执行通过 10 个执行失败 (分数:10.00)(1).请依据以上表格中的内容,说明在测试用例设计和测试用例执行两方面存在的问题,并简要指明原因。(分数:5.00)_(2).已知软件问题处理状况如下: 测试项目当前处在“待验”状态的软件问题有 307 个,处在“新建”状态的软件问题有 35 个,处在“打开”状态的软件问题有 243 个,测试组的软件问题处理能力是 70 个软件问题/工作日,开发组处理问题的能力是 40 个软件问题/工作日。 请根据测试执行阶段剩余的天数与软件问题处理状况信息,说明开发和测试组在软件问题处理方面存在的问题,
11、并简要指明原因。(分数:5.00)_四级软件测试工程师-1 答案解析(总分:63.50,做题时间:90 分钟)一、选择题(总题数:20,分数:39.50)1.场景测试方法是基于 IBM 推行的 RUP 的测试用例生成方法,该方法的出发点是_。(分数:2.00)A.事件流B.数据流C.控制流 D.用例解析:解析 场景测试方法是基于 IBM 推行的 RUP 的测试用例生成方法。该方法从系统分析的结构用例出发,通过对每个用例的场景进行分析,逐步实现测试用例的构造。2.下列关于极限测试的说法中,正确的是(分数:2.00)A.极限测试中只需要进行单元测试B.极限测试是一种针对极限编程的软件测试 C.极限
12、测试中所有的测试均由编码人员完成D.与传统的软件测试相比,极限测试是一种更严格的测试解析:3.单元测试的测试对象不包括_。(分数:1.00)A.设计单元B.各个操作C.内部消息序列D.场景 解析:解析 单元测试的测试对象是实现了具体功能的程序单元,一般对应详细设计中所描述的设计单元。4.下列不属于 GUI 系统层次划分的是 _。(分数:2.00)A.界面层B.接口层C.窗口层D.功能层 解析:5.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试_。(分数:2.00)A.结构合理性B.软件外部功能 C.程序的内部逻辑D.程序正确性解析:解析 黑盒测试主要用于测
13、试软件的外部功能。6.单元测试时,用于代替被调用模块的是(分数:2.00)A.桩模块 B.通信模块C.驱动模块D.代理模块解析:解析 在单元测试时,程序员必须编写一个驱动模块,用来调用被测模块并向其传送测试数据,若该模块调用了其他模块,程序员必须编写一个桩模块,用来代替被调用的模块。7.下列测试中不属于类层次测试的是_。(分数:2.00)A.模态类测试B.非模态类测试C.递归函数测试 D.不变式边界测试解析:解析 面向对象软件很难对单个成员方法进行充分的测试,具有良好封装性的类成为单元测试的基本对象。类层次的测试主要包括不变式边界测试、模态类测试与非模态类测试,递归函数测试属于方法层次的测试。
14、8.以下哪种软件测试属于软件性能测试的范畴(分数:2.00)A.易用性测试B.单元测试C.压力测试 D.接口测试解析:解析 依据测试目的的不同,可以把软件性能测试及与性能有关的其他测试分为性能测试、并发测试、压力测试、可靠性测试、负载测试、配置测试、失效恢复测试。9.以下关于软件可靠性与硬件的可靠性主要区别的说法中,正确的是_。(分数:2.00)A.软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别 B.软件经常面临恶意的使用者,而硬件没有恶意的使用者C.软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区D.软件的失效都是逻辑错误引起的,而硬件的失效都不是逻
15、辑错误引起的解析:解析 软件可靠性和软件可靠性测试的研究在很大程度上借鉴了硬件可靠性的研究,但由于软件和硬件的不同特点导致软件可靠性和硬件可靠性也有很大的不同,这也是软件可靠性研究仍然很不成熟的重要原因。具体而言,软件可靠性和硬件可靠性的区别包括:唯一性。软件设计出来后,所有副本都是一模一样的;硬件设计出来后,每个按照设计生产的硬件都不可能完全相同;物理退化。一个正确的硬件器件会因为物理退化在某时刻失效,但正确的软件则不会因为物理退化而发生失效;逻辑复杂性。软件具有复杂的内部逻辑,而硬件的内部逻辑则相对简单;版本更新。硬件的版本更新通常很慢,而软件的版本更新比较频繁。 B 说法错误,硬件也有恶
16、意使用者。随着国际化的加深硬件的生产标准越来越统一,使用者也遍布很多地区,C 说法错误。硬件失效通常不是逻辑错误导致的,但也有例外,D 说法太过绝对。综合以上,本题应选 A。10.软件测试过程是一个输入输出的过程,测试过程的输入需要_。(分数:2.00)A.软件配置B.测试配置C.测试工具D.以上全部 解析:解析 软件测试信息流中,测试过程需要三类输入:软件配置、测试配置和测试工具。其中软件配置包括软件需求规格说明、软件设计规格说明、源代码等;测试配置包括表明测试工作如何进行的测试计划,给出测试数据的测试用例,控制测试进行的测试程序等;测试工具主要是为测试的实施提供某种服务,以减轻人们完成测试
17、任务中的手工劳动。11.下列有关软件问题生命周期模型中状态定义的说法,正确的一项是(分数:2.00)A.“关闭”表示工程师已经完成修正,等待测试人员验证B.“打开”表示软件问题已经被确认并分配给相关开发工程师处理 C.“解决”表示确认为无效的软件问题D.“待验”表示软件问题已经被修复解析:解析 软件问题生命周期模型中的状态定义如下: 新建(New)测试中新报告的软件问题。 打开(Open)软件问题已经被确认并分配给相关开发工程师处理。 关闭(Closed)确认为无效的软件问题。 待验(Pending)工程师已经完成修正,等待测试人员验证。 解决(Resolred)软件问题已被修复。12.在面向
18、对象软件的集成测试中,下列关于高频集成的叙述,不正确的是_。(分数:2.00)A.高频集成一般采用冒烟测试的方式B.高频集成不预测每个测试用例的预期效果,如果测试中未出现反常情况,就认为通过测试C.高频集成的优点:高效、可预测性、并行性、尽早查处错误、易进行错误定位但必须要桩模块 D.高频集成的缺点:若测试包过于简单,可能难以发现问题;开始不能平稳集成;若没有建立适当标准可能会增加风险解析:解析 高频测试的优点为:高效性、可预测性、并行性、尽早查处错误、易进行错误定位、对桩模块的需要是不必需的。也就是说有些软件的集成不需要桩模块就可以完成测试。13.在健壮性测试中一般的方法是软件故障插入测试,
19、这里插入故障的方法可以分为两类:状态插入和代码插入。下面不属于实现状态插入方法的是(分数:2.00)A.基于进程的B.基于消息的C.基于程序的 D.基于调试器的解析:解析 健壮性测试(Robustness Testing)又称容错测试,用于测试系统在出故障时,是否能自动恢复或者忽略故障继续运行。在健壮性测试中一般的方法是软件故障插入测试,这里插入故障的方法可以分为两类:状态插入和代码插入。状态插入是通过改变一个运行系统的状态和行为来实现,其中实现状态插入的方法主要有三种:基于进程的(Process Based)、基于调试器的(Debugger Based)和基于消息的(Message Base
20、d)。14.对于支撑系统类型的产品,通常测试人员和开发人员的比例_。(分数:2.50)A.1:2B.1:1 C.2:1D.3:1解析:解析 测试过程人员组织的一个方面是考虑测试团队的规模,测试团队的规模可以考虑在整个开发部门所占的比重,或相对开发人员所占的比例。从经验看,不同的应用,软件测试和软件开发人员的比例也是不同的,大致可分为 3 类: 操作系统类型的产品,对测试要求最高,测试人员和开发人员的比例为 2:1。 应用平台、支撑系统类型的产品,对测试要求比较高,通常测试人员和开发人员的比例以 1:1 为宜。 对于特定应用系统一类产品,由于用户对象清楚、范围小,甚至可对应用平台或应用环境加以限
21、制,所以测试人员可以再减少,但测试人员和开发人员的比例至少保证在 1:2 的水平以上。15.下列关于应用服务器的分类,叙述错误的是_。(分数:2.00)A.从面向的领域看,应用服务器可以分为两类:通用的应用服务器和专用的应用服务器B.通用的应用服务器能提供多方面服务,支持多个领域的开发和运行C.早前出现的 Tuxedo 和 MTS 遵循 J2EE 规范 D.从遵循的规范角度来看,应用服务器可以分为两类:遵循 J2EE 规范的应用服务器和其他服务器解析:解析 C 选项的说法是错误的,从遵循的规范角度看,应用服务器可以分为两类:遵循 J2EE 规范的应用服务器和其他服务器。大多数服务器都遵循 J2
22、EE 规范,但是早期出现的 Tuxedo 和 MTS 不遵循J2EE 规范。16.Web 应用系统一般分为 3 层,下列哪一层不属于 Web 应用系统的范畴_。(分数:2.00)A.应用层 B.表示层C.业务层D.数据层解析:解析 Web 应用系统一般分为三层,分别为表示层、业务层和数据层。应用层不应包含在其中,此处不要和网络中的 ISO 七层网络模型相混淆。17.集成测试时,能够较早发现高层模块接口错误的测试方法是 _。(分数:2.00)A.自底向上渐增式测试方法B.自顶向下渐增式测试方法 C.非渐增式测试方法D.系统测试方法解析:解析 由自顶向下测试的特点可知,该集成测试方法是能够较早发现
23、高层模块接口错误的。18.在黑盒测试中,着重检查输入条件的组合是 _。(分数:2.00)A.等价类划分法B.边界值分析法C.错误推测法D.因果图法 解析:解析 在黑盒测试中,这些测试策略基本上都要考虑输入条件的组合,但是基于因果图的方法就是着重检查输入条件组合的一种测试方法。19.设计阶段的测试对象来自设计文档,下列不属于这一阶段设计文档的是_。(分数:2.00)A.逻辑设计规格说明B.物理设计规格说明 C.内部设计规格说明D.外部设计规格说明解析:解析 设计阶段的测试对象设计文档,这里的设计文档包括:外部设计(用户界面设计,与其他元素的接口设计,系统构件部署设计)规格说明、内部设计(功能设计
24、,系统体系结构设计,数据设计)规格说明和逻辑设计(模块算法与数据结构设计)规格说明。20.测试构件的困难为_。(分数:2.00)A.异构性B.演化性C.源代码的可得性D.以上全部 解析:二、论述题(总题数:2,分数:24.00)以下是某 C 程序段,其功能是计算出某一天是一年中的第几天,请仔细阅读程序并完成要求。 # includestdioh struct days int year; int month; int date; day; void main() struct days *P; int nun=0,i; int met3=0,31,28,31,30,31,30,31,31,30
25、,31,30,31; P=&day; printf(“please input the day:/n“); scanf(“%d%d%d“,(P-year),(P-month),(P-date); for(i=0;i(p-month);i+) num+=mi; hum+=(p-date); if(p-year)%4=0&(P-year)%i00 1=0|(p-year)%400=0) if(p-month)2) num+: printf(“This day is%d day in the year/n“,hum); (分数:14.00)(1).画出此程序主函数的控制流程图。(分数:7.00)_正
26、确答案:()解析:主函数的控制流程图如下: (2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到 100%。如果认为该程序的语句或分支覆盖率无法达到 100%,需说明为什么。(分数:7.00)_正确答案:()解析:为了达到 100%的语句覆盖率,要设计测试用例,使其为闰年且月份大于 2,另外不满足此条件。由于此程序不包含输入出错处理,所以我们特意定义一个 month 小于 0 的情况。 用例编号 year month date num 1 2000 3 1 5 75 2 2003 -5 36 36 某邮件系统测试项目中的测试执行阶段按计划在 5 天后结束,将进入测试总结阶
27、段。测试管理人员通过 QEsuite web Version 1.0 测试过程管理工具观察到以下测试项目信息: 子系统 功能区域 功能区域 测试用例设计数 量 测试用例执行状况 安装 10 全部执行通过 功能设置 15 10 个执行通过 5个未执行 欢迎界面 5 全部执行通过 客户端管理 0 通讯录管理 5 全部执行通过 写邮件 7 5 个执行通过 2 个执行失败 发送邮件 6 全部执行通过 收邮件 5 4 个执行通过 1 个执行失败 邮件系统 邮件管理 邮件设置 19 9 个执行通过 10 个执行失败 (分数:10.00)(1).请依据以上表格中的内容,说明在测试用例设计和测试用例执行两方面
28、存在的问题,并简要指明原因。(分数:5.00)_正确答案:()解析:子系统下安装功能区域未指明,客户端管理功能区域没有设计测试用例,邮件系统的功能设置测试用例未执行完,其中还有五个用例未执行。 测试用例设计存在问题,功能区域划分不详细,客户端管理的测试用例没有覆盖到,用例覆盖不全面。测试执行存在问题:存在未执行的用例。(2).已知软件问题处理状况如下: 测试项目当前处在“待验”状态的软件问题有 307 个,处在“新建”状态的软件问题有 35 个,处在“打开”状态的软件问题有 243 个,测试组的软件问题处理能力是 70 个软件问题/工作日,开发组处理问题的能力是 40 个软件问题/工作日。 请根据测试执行阶段剩余的天数与软件问题处理状况信息,说明开发和测试组在软件问题处理方面存在的问题,并简要指明原因。(分数:5.00)_正确答案:()解析:存在问题数开发组和测试组不能在 5 天后完成工作,根据胚中描述的数据,开发组中要修改的问题数是 243+35=278,需要修改时间是 278/407 天;测试组即便新建的问题不需要修改,需要时间是(307+243)/708 天。