1、计算机四级软件测试工程师-40 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:25,分数:50.00)1.下列关于软件测试过程管理的原则,说法错误的是_。(分数:2.00)A.有关测试需求,应当有一个经各方同意的、完整的、清楚的、详细的、整体的、可实现和可测试性的需求并文档化,尽可能坚持最初的原则B.最后再测试由 W 模型中抽象出来的理念C.全面测试由 W 模型中抽象出来的理念D.独立的、迭代的测试由 H 模型中得到的理念2.测试的复用包括_。(分数:2.00)A.测试用例的复用B.软件缺陷报告的复用C.软件过程信息的复用D.以上全是3.不准确的手册容易导致用户误用
2、软件,因此手册的测试必须测试手册的准确性,这方面检查范围不包括_。(分数:2.00)A.检查手册对相关概念和术语的使用B.检查手册对约束条件的约束C.检查手册对功能的描述D.检查是否有未在手册中出现的功能4.一般认为 80%的问题存在于 20%的程序中。例如美国 IBM 公司的 OS/370 操作系统中,47%的错误仅与该系统的 4%的程序模块有关。这种现象被称作_。(分数:2.00)A.错误的群集B.错误的二八法则C.少数服从多数D.错误的潜在危机5.下列选项中不属于覆盖率对软件测试作用的是_。(分数:2.00)A.得知测试是否充分B.协助找出代码中的语法错误C.指导设计能够增加覆盖率的测试
3、用例D.了解测试的弱点在哪里6.渐增式开发方法有利于_。(分数:2.00)A.获取软件需求B.快速开发软件C.大型团队开发D.商业软件开发7.测试执行标准,缺陷描述和处理标准,文档标准和模板,测试分析、质量评估标准等应当是_所包含的内容。(分数:2.00)A.测试计划的整体目标B.测试项目输入标准C.测试项目输出标准D.测试实施策略8.集成测试中使用的主要测试方法为_。(分数:2.00)A.黑盒测试B.灰盒测试C.回归测试D.白盒测试9.针对下面的程序段,对于(MaxNum,Type)的取值,至少需要_个测试用例才能够满足判定覆盖的要求。while(MaxNum-0)If(10=Type)x=
4、y*2;Else if(100=Type)x=y+20;(分数:2.00)A.5B.4C.3D.210.面向对象集成测试的目的是_。(分数:2.00)A.测试系统的各个组成部分放在一起是否能够协调一致B.检查测试用例生成,测试用例执行,测试结果判断是否正确C.选择哪些实体集成D.确定每个类及其实例是否能正常工作11.Web 应用系统的安全测试与防护主要包括_。(1)入侵检测 (2)漏洞扫描(3)安全策略 (4)安全管理策略(分数:2.00)A.(1)(2)(3)B.(2)(3)(4)C.(1)(3)(4)D.(1)(2)(3)(4)12.面向对象软件很难对单个成员方法进行充分的测试,具有良好封
5、装性的类称为单元测试的基本对像。下列内容,不属于类层次测试内容的为_。(分数:2.00)A.不变式边界测试B.多态服务测试C.模态类测试D.非模态类测试13.下列测试用例设计中既适用于失效恢复测试用例设计又适用于健壮性测试用例设计的方法为_。(分数:2.00)A.规范导出法B.错误猜测法C.基于故障的测试D.基于风险的测试14.软件测试活动主要包括_。(分数:2.00)A.测试设计与开发B.测试执行C.D.都是 D) 测试总结15.在软件交付使用之后,用户将如何实际使用它,对于开发者来说是无法预测的,关于 测试和 测试,叙述不正确的是_。(分数:2.00)A. 测试由用户在开发者的场所进行B.
6、 测试由软件的最终用户们在一个或多个客户场所进行C. 测试是在不受控的环境中进行的D. 测试是软件在一个用户自我使用的“真实”的环境中的应用16.下列不是面向对象主要特征的选项为_。(分数:2.00)A.封装B.继承C.实效D.多态17.白盒测试方法的缺点是_和_。(1)不可测试软件的特定部位(2)不能发现功能需求中的错误(3)无法检验软件的外部特征(4)无法测试未实现功能需求的软件的内部缺陷(分数:2.00)A.(1) (2)B.(2) (3)C.(1) (4)D.(3) (4)18.下列关于文档测试的说法中,不正确的是_。(分数:2.00)A.在软件系统的开发和维护工作中,文档编写与维护所
7、占到的比重是 10%25%B.如果文档出现了与当前系统不符的问题,测试人员应作为错误上报C.有缺陷的程序通常会导致有缺陷的结果,而有缺陷的文件可能不会D.有缺陷的文件即使存在了,也不会导致系统被不当更改或系统的输出使用不当19.按照数据库应用系统生命周期模型,在开发某数据库应用系统时,对系统采用的软硬件及技术方案等作出合理的评估并提出选择建议的工作属于_。(分数:2.00)A.规划与分析阶段的系统规划与定义B.规划与分析阶段的可行性分析C.需求分析阶段的业务规则需求分析D.系统设计阶段的总体设计20.通常测试用例很难 100%覆盖测试需求,因为_。(1)输入量太大(2)输出结果多(3)软件实现
8、途径多(4)测试依据没有统一标准(分数:2.00)A.(1) (2) (3)B.(2) (3)C.(1) (2) (3) (4)D.(1) (3)21.软件性能测试的目标不仅仅是发现性能缺陷,具体软件性能测试不包括下述中的_。(分数:2.00)A.发现缺陷B.性能调优C.能力检测与规划D.安全入侵检测22.下述软件测试过程管理特点的叙述,不正确的是_。(分数:2.00)A.软件质量标准定义不准确、任务边界模糊B.软件测试项目的变化控制和预警分析要求高C.要求测试人力资源丰富,有快速的变动调整以适应D.测试任务分配难23.选取足够多的测试数据,使得判定表达式中的每个条件的所有可能取值至少执行一次
9、,而且每个判定表达式的所有可能的判定结果至少执行一次。这种覆盖测试方法为_。(分数:2.00)A.逻辑覆盖B.语句覆盖C.判定覆盖或分支覆盖D.判定一条件覆盖24.不考虑程序内部结构和内部特性的情况下,测试者依据该程序功能上的输入输出关系,或是程序的外部特性来设计和选择测试用例,推断程序编码正确性的测试方法是_。(分数:2.00)A.动态测试B.静态测试C.黑盒测试D.灰盒测试25.以下哪种应用服务器不遵循 J2EE 规范_。(分数:2.00)A.Oracle 9i Application ServerB.PKUASC.WebLogicD.Tuxedo二、论述题(总题数:3,分数:50.00)
10、26.请仔细阅读以下程序并完成要求。If(a2&b3)&(c4|d5)Flag=1;ElseFlag=0;请分别按照语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖测试用例。(分数:10.00)_以下是某 C 语言程序段,其功能是计算输入数据是否为水仙花数,请仔细阅读程序并完成要求。# includestdiohvoid main()int i,a,b,c;scanf(“%d“,i);a=i/100:b=i/10%10:c=i%10:if(i=a*a*a+b*b*b+c*c*c)printf(“%d/n“,i);(分数:20.00)(1).画出此程序主函数的控制流程图。(分数:10.00)_(2)
11、.设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到 100%。如果认为该程序的语句或分支覆盖率无法达到 100%,需说明为什么。(分数:10.00)_以下是 QESuite Web Version 1.0 操作手册的部分内容,请按要求回答问题。(分数:20.00)(1).下图是 QESuite Web Version 1.0 中问题报告的管理过程。请描述在什么情况下对问题报告进行修复操作。(分数:10.00)_(2).请给出修复一个问题报告的操作步骤。(分数:10.00)_计算机四级软件测试工程师-40 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:
12、25,分数:50.00)1.下列关于软件测试过程管理的原则,说法错误的是_。(分数:2.00)A.有关测试需求,应当有一个经各方同意的、完整的、清楚的、详细的、整体的、可实现和可测试性的需求并文档化,尽可能坚持最初的原则B.最后再测试由 W 模型中抽象出来的理念 C.全面测试由 W 模型中抽象出来的理念D.独立的、迭代的测试由 H 模型中得到的理念解析:解析 软件测试过程应当尽早测试,因为问题发现得越早,造成的影响越小。这是从 W 模型中抽象出来的理念,有两方面的含义,一方面指测试人员的早期参与测试项目;另一方面指尽早开展测试执行工作。2.测试的复用包括_。(分数:2.00)A.测试用例的复用
13、B.软件缺陷报告的复用C.软件过程信息的复用D.以上全是 解析:解析 测试的复用包括测试用例、软件缺陷报告和软件过程信息的复用。测试用例和软件缺陷报告是项目宝贵的财富,在一个新的项目或者新的测试阶段中对其进行复用是其价值的体现。但是复用之前一定要整理。测试的复用主要体现在测试用例的复用上。组织和编写良好的测试用例具有很强的复用性;可以用在回归测试或者用在下一个版本的测试中。3.不准确的手册容易导致用户误用软件,因此手册的测试必须测试手册的准确性,这方面检查范围不包括_。(分数:2.00)A.检查手册对相关概念和术语的使用B.检查手册对约束条件的约束C.检查手册对功能的描述D.检查是否有未在手册
14、中出现的功能 解析:解析 手册的测试包括三方面的内容:一致性、完备性和准确性。用户主要的检测对象为手册,所以对于未在手册中出现的功能应该是进行软件检测阶段发现的错误。4.一般认为 80%的问题存在于 20%的程序中。例如美国 IBM 公司的 OS/370 操作系统中,47%的错误仅与该系统的 4%的程序模块有关。这种现象被称作_。(分数:2.00)A.错误的群集 B.错误的二八法则C.少数服从多数D.错误的潜在危机解析:解析 所谓错误的群集现象,是指在所测试的程序段中,若发现的错误数目越多,则残存的错误数目也多。因此,测试时不要以为找到了几个错误,就不需继续测试了,相反,当找到的错误得到改正后
15、,应该对程序段进行反复测试。根据这个规律,应当对错误群集的程序段进行重点测试,以提高测试投资的效益。5.下列选项中不属于覆盖率对软件测试作用的是_。(分数:2.00)A.得知测试是否充分B.协助找出代码中的语法错误 C.指导设计能够增加覆盖率的测试用例D.了解测试的弱点在哪里解析:解析 覆盖率是反映代码被测试程度的一种指标,不是一种测试结果,因此无法协助找出代码中的语法错误。代码中的语法错误一般在程序编译阶段就已经由编译器检查出来,并需要得到修正后代码才能正确编译。6.渐增式开发方法有利于_。(分数:2.00)A.获取软件需求B.快速开发软件 C.大型团队开发D.商业软件开发解析:解析 渐增式
16、的开发方式有利于快速开发软件。7.测试执行标准,缺陷描述和处理标准,文档标准和模板,测试分析、质量评估标准等应当是_所包含的内容。(分数:2.00)A.测试计划的整体目标B.测试项目输入标准C.测试项目输出标准 D.测试实施策略解析:解析 测试执行标准,缺陷描述和处理标准,文档标准和模板,测试分析、质量评估标准等应当是测试项目输出标准所包含的内容。8.集成测试中使用的主要测试方法为_。(分数:2.00)A.黑盒测试 B.灰盒测试C.回归测试D.白盒测试解析:解析 集成测试中主要是使用基于功能的黑盒测试。9.针对下面的程序段,对于(MaxNum,Type)的取值,至少需要_个测试用例才能够满足判
17、定覆盖的要求。while(MaxNum-0)If(10=Type)x=y*2;Else if(100=Type)x=y+20;(分数:2.00)A.5B.4C.3 D.2解析:解析 判定覆盖是使得程序中每个判定表达式的每个分支都至少执行一次(真假分支均被满足一次)。此题中,(100,10)、(100,100)、(100,70)三个测试用例即可满足上述程序的判定覆盖。10.面向对象集成测试的目的是_。(分数:2.00)A.测试系统的各个组成部分放在一起是否能够协调一致 B.检查测试用例生成,测试用例执行,测试结果判断是否正确C.选择哪些实体集成D.确定每个类及其实例是否能正常工作解析:解析 在单
18、元测试的基础上,集成测试的目的是测试系统的各个组成部分放在一起是否能够协调一致。11.Web 应用系统的安全测试与防护主要包括_。(1)入侵检测 (2)漏洞扫描(3)安全策略 (4)安全管理策略(分数:2.00)A.(1)(2)(3)B.(2)(3)(4)C.(1)(3)(4)D.(1)(2)(3)(4) 解析:解析 Web 应用系统的安全测试与防护主要包括入侵检测、漏洞扫描、安全策略、安全管理策略。12.面向对象软件很难对单个成员方法进行充分的测试,具有良好封装性的类称为单元测试的基本对像。下列内容,不属于类层次测试内容的为_。(分数:2.00)A.不变式边界测试B.多态服务测试 C.模态类
19、测试D.非模态类测试解析:解析 类的成员变量的某些状态可能不会出现,称为类不变式。不变式边界测试首先要准确地定义类的不变式,其次寻找成员方法的调用序列以违反类不变式,这些调用序列即可作为测试用例。模态类是指该类处于特定的状态下时,只能接受对某些特定成员方法的调用。非模态类是指该类处于任何状态下时,均可接受对所有成员方法的调用。B 选项的多态服务测试是类树层次测试的内容。13.下列测试用例设计中既适用于失效恢复测试用例设计又适用于健壮性测试用例设计的方法为_。(分数:2.00)A.规范导出法B.错误猜测法 C.基于故障的测试D.基于风险的测试解析:解析 健壮性测试常用的测试用例设计方法有:故障插
20、入测试、变异测试和错误猜测法。失效恢复测试常用的测试用例设计方法有:规范导出法、错误猜测法、基于故障的测试和基于风险的测试。所以选择 B 选项。14.软件测试活动主要包括_。(分数:2.00)A.测试设计与开发B.测试执行C. D.都是 D) 测试总结解析:解析 软件测试活动主要包括测试设计与开发、测试执行和测试总结。15.在软件交付使用之后,用户将如何实际使用它,对于开发者来说是无法预测的,关于 测试和 测试,叙述不正确的是_。(分数:2.00)A. 测试由用户在开发者的场所进行B. 测试由软件的最终用户们在一个或多个客户场所进行C. 测试是在不受控的环境中进行的 D. 测试是软件在一个用户
21、自我使用的“真实”的环境中的应用解析:解析 a 测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。开发者负责记录错误和使用过程中遇到的问题。总之, 测试是在受控的环境中进行的。 测试由软件的最终用户在一个或多个客户场所进行,开发者通常不在测试现场。用户记录下在测试过程中遇到的一切问题(真实的或想象的),并且定期把这些问题报告给开发者。因此, 测试是在开发者不能控制的环境中的“真实”应用。16.下列不是面向对象主要特征的选项为_。(分数:2.00)A.封装B.继承C.实效 D.多态解析:解析 面向对象的三个特点是:封装、继承、多态。封装是指信息隐蔽及方法和变量在类中的封装。继
22、承是指允许其他类通过继承直接获取父类的属性和方法。多态是指对一个类的引用可以与多个类的实现绑定。17.白盒测试方法的缺点是_和_。(1)不可测试软件的特定部位(2)不能发现功能需求中的错误(3)无法检验软件的外部特征(4)无法测试未实现功能需求的软件的内部缺陷(分数:2.00)A.(1) (2)B.(2) (3) C.(1) (4)D.(3) (4)解析:解析 白盒测试是基于程序的逻辑结构的测试,可以测定软件的特定功能代码,而且能够测试实现功能需求的软件的内部缺陷。但是不能发现功能需求中的错误,且无法检验软件的外部特征。18.下列关于文档测试的说法中,不正确的是_。(分数:2.00)A.在软件
23、系统的开发和维护工作中,文档编写与维护所占到的比重是 10%25%B.如果文档出现了与当前系统不符的问题,测试人员应作为错误上报C.有缺陷的程序通常会导致有缺陷的结果,而有缺陷的文件可能不会D.有缺陷的文件即使存在了,也不会导致系统被不当更改或系统的输出使用不当 解析:解析 虽然应用程序和文档都可能出错,但所不同的是,有缺陷的程序通常会导致有缺陷的结果,而有缺陷的文件可能不会。然而,有缺陷的文件是一个定时炸弹,它可能导致系统被不当更改或系统的输出使用不当。这些错误对系统的影响是潜在的。19.按照数据库应用系统生命周期模型,在开发某数据库应用系统时,对系统采用的软硬件及技术方案等作出合理的评估并
24、提出选择建议的工作属于_。(分数:2.00)A.规划与分析阶段的系统规划与定义B.规划与分析阶段的可行性分析 C.需求分析阶段的业务规则需求分析D.系统设计阶段的总体设计解析:解析 技术可行性是根据用户提出的系统功能、性能及实现系统的各项约束条件,对系统软件、系统硬件、技术方案做出评估和选择建议,它属于规划与分析阶段的可行性分析。20.通常测试用例很难 100%覆盖测试需求,因为_。(1)输入量太大(2)输出结果多(3)软件实现途径多(4)测试依据没有统一标准(分数:2.00)A.(1) (2) (3)B.(2) (3)C.(1) (2) (3) (4) D.(1) (3)解析:解析 在软件测
25、试当中,100%的测试覆盖率是几乎不可能达到的,其原因有很多方面。输入量太大,输出结果众多,软件实现途径多,测试依据没有统一标准均是阻碍达到 100%覆盖率的原因。21.软件性能测试的目标不仅仅是发现性能缺陷,具体软件性能测试不包括下述中的_。(分数:2.00)A.发现缺陷B.性能调优C.能力检测与规划D.安全入侵检测 解析:解析 软件性能测试的目标不仅仅是发现(和改正)性能缺陷(Performance Bug),还包括探索和规划软件的实际性能。具体软件性能测试以下目标:发现缺陷,性能调优,能力检验与规划。22.下述软件测试过程管理特点的叙述,不正确的是_。(分数:2.00)A.软件质量标准定
26、义不准确、任务边界模糊B.软件测试项目的变化控制和预警分析要求高C.要求测试人力资源丰富,有快速的变动调整以适应 D.测试任务分配难解析:解析 软件测试过程管理的基本内容有:计划、组织和监控。软件测试项目具有智力密集、劳动密集的特点,受人力资源影响大。所以测试要求人力资源稳定。23.选取足够多的测试数据,使得判定表达式中的每个条件的所有可能取值至少执行一次,而且每个判定表达式的所有可能的判定结果至少执行一次。这种覆盖测试方法为_。(分数:2.00)A.逻辑覆盖B.语句覆盖C.判定覆盖或分支覆盖D.判定一条件覆盖 解析:解析 满足条件覆盖标准选取的测试用例,并且同时满足判定覆盖的标准。也就是说要
27、求各个判定表达式的所有可能的条件取值组合至少执行一次,这样的覆盖测试叫做判定/条件覆盖。24.不考虑程序内部结构和内部特性的情况下,测试者依据该程序功能上的输入输出关系,或是程序的外部特性来设计和选择测试用例,推断程序编码正确性的测试方法是_。(分数:2.00)A.动态测试B.静态测试C.黑盒测试 D.灰盒测试解析:解析 黑盒测试是在已知产品应具有的功能的条件下,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看做一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接受输入数据而
28、产生正确的输出信息,并且保持外部信息的完整性。25.以下哪种应用服务器不遵循 J2EE 规范_。(分数:2.00)A.Oracle 9i Application ServerB.PKUASC.WebLogicD.Tuxedo 解析:解析 从遵循的规范角度看,应用服务器可以分为两类:遵循 J2EE 规范的应用服务器和其他服务器,大多数服务器都遵循 J2EE 规范,但是早前出现的 Tuxedo 和 MTS 不遵循 J2EE 规范。二、论述题(总题数:3,分数:50.00)26.请仔细阅读以下程序并完成要求。If(a2&b3)&(c4|d5)Flag=1;ElseFlag=0;请分别按照语句覆盖、判
29、定覆盖、条件覆盖、判定/条件覆盖测试用例。(分数:10.00)_正确答案:(语句覆盖是基本的覆盖,只要能让 flag=1 和 flag=0 都被执行一次就达到了语句覆盖的标准。用例 1 和用例 2 一起即满足了语句覆盖不标准的要求。判定覆盖就是让程序的判定分别为真和假一次,因此上面满足语句覆盖的测试用例也满足判定覆盖标准的要求。条件覆盖需要让所有判定条件取一次真和一次假,因此测试用例 3 和用例 4 一起让所有条件都取到了真和假,满足条件判定覆盖要求。判定/条件覆盖要求判定覆盖和条件覆盖都要被同时满足,而恰好测试用例 3 和用例 4 一起就满足了判定/条件覆盖的要求。用例编号 abcda2b4
30、d51 0000F T F T2 3150T T T T3 5050T T T T4 0505F F F F)解析:以下是某 C 语言程序段,其功能是计算输入数据是否为水仙花数,请仔细阅读程序并完成要求。# includestdiohvoid main()int i,a,b,c;scanf(“%d“,i);a=i/100:b=i/10%10:c=i%10:if(i=a*a*a+b*b*b+c*c*c)printf(“%d/n“,i);(分数:20.00)(1).画出此程序主函数的控制流程图。(分数:10.00)_正确答案:(主函数的控制流程图如下:*)解析:(2).设计一组测试用例,使该程序所
31、有函数的语句覆盖率和分支覆盖率均能达到 100%。如果认为该程序的语句或分支覆盖率无法达到 100%,需说明为什么。(分数:10.00)_正确答案:(此题测试用例的设计要覆盖两条路径,既有水仙花数,也不是水仙花数。153 和 123 即可。)解析:以下是 QESuite Web Version 1.0 操作手册的部分内容,请按要求回答问题。(分数:20.00)(1).下图是 QESuite Web Version 1.0 中问题报告的管理过程。请描述在什么情况下对问题报告进行修复操作。(分数:10.00)_正确答案:(对于状态为“打开”的问题报告,相应的开发人员将负责修复它们。通过修复操作,开
32、发人员将问题报告的状态由“打开”变为“待验”。通常的情况下,开发人员会修复这些问题。然而,对于某些问题,它们是不能被修复或者暂时不去修复的。例如,一个增强性需求的问题或者一个软件限制所带来的问题。只有具有管理员、开发人员及修复角色的人员可以执行修复操作。)解析:(2).请给出修复一个问题报告的操作步骤。(分数:10.00)_正确答案:(修复问题报告步骤:在问题报告列表中,打开需要修复的问题报告(注意:只能修复那些状态为“打开”的问题报告)。在查看问题报告页面中选择修复按钮。在修复窗口中,子状态下拉列表中可供选择的为:a 修复b 间接修复c 需要更多信息d 不再现e 不是问题f 重复g 不修复h 延期处理i 增强需求j 用例错误k 作废l 硬件限制m 软件限制n 第三方软件限制o 不支持的配置p 其他如果修复的是一个状态为“打开/回归测试失败”的问题报告,子状态下拉列表中可供选择的为:a 回归修复b 回归其他c 需要更多信息选择其中一个选项,单击确认按钮,问题报告的状态变为“待验”。)解析: