1、四级-软件测试工程师及答案解析(总分:81.00,做题时间:90 分钟)一、选择题(总题数:25,分数:49.00)1.极限编程的主要特点有_。A) 简单的分析设计 B) 频繁的客户交流C) 增量式开发和连续的测试 D) 以上全是(分数:2.00)A.B.C.D.2.以下选项中不属于协议一致性测试分析方法中的测试的是 _。A基本互联测试 B定向诊断测试C人员测试 D能力测试(分数:2.00)A.B.C.D.3.在静态分析中,提供整个项目中的所有函数之间的调用关系图属于A) 程序结构分析 B) 可视化分析C) 程序数据流分析 D) 程序执行频度分析(分数:2.00)A.B.C.D.4.测试子类中
2、多态方法的实现是否保持了父类对该方法的规格说明的策略是 _。A不变式边界测试 B模态类测试C非模态类测试 D多态服务测试(分数:2.00)A.B.C.D.5.如果一个判定中的复合条件表达式为(A10)or(B=7),则为了达到 100%的判定覆盖率,至少需要设计多少个测试用例 _。A1 个 B2 个C3 个 D4 个(分数:2.00)A.B.C.D.6.功能或性能没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误生命,这属于软件缺陷级别中的_。A) 致命的缺陷(fatal)B) 严重的缺陷(critical)C) 一般的缺陷(major)D) 微笑的缺陷(minor)(分数:2.00)
3、A.B.C.D.7.关于软件的兼容性,以下说法错误的是_。A) 数据兼容性包括不同版本间的兼容性B) 软件兼容性测试应包括与整机的兼容性C) 平台软件的兼容性测试通常比应用软件的兼容性测试更为复杂和困难D) 软件兼容性应考虑与其他同类软件的兼容性(分数:2.00)A.B.C.D.8.下列可以作为软件测试对象的是_。A) 需求规格说明 B) 软件设计规格说明C) 源程序 D) 以上全部(分数:2.00)A.B.C.D.9.下列测试方法中,不属于黑盒测试的是 _。A基本路径测试法 B等价类测试法C边界值分析法 D基于场景的测试方法(分数:2.00)A.B.C.D.10.软件测试自动化是指利用好的测
4、试工具以自动运行测试用例。软件测试自动化的好处在于 _。A比手工测试发现更多的软件缺陷B可以自动产生测试计划C使输入值组合的覆盖率达到 100%D可以在较少的时间内运行更多的测试用例(分数:1.00)A.B.C.D.11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是_。A) 系统功能 B) 局部数据结构 C) 重要的独立路径 D) 出错处理(分数:2.00)A.B.C.D.12.如果软件出现修改设计的严重错误,那么软件质量和可靠性就不能保证,应对软件进一步测试。如果经过测试,软件功能完善,错误率数据很少,并易于修改,可能的结果是_。A) 软件的质量和可靠性可以接受 B)
5、所做的测试不充分C) 先前做出的改正是错误的 D) A 或者 B(分数:2.00)A.B.C.D.13.下图是一个判定路径覆盖图,其中用“ ”表示判定语句,用“ ”表示处理语句,用“”表示判定汇合点,用“”表示判定路径,若有一个测试用例覆盖了判定路径 A、B、E、H,则判定路径覆盖率为_。(分数:2.00)A.B.C.D.14.在集成测试的过程中需要考虑软件相关方面的平衡,下面选项中不需要在测试过程中予以考虑的是 _。A开发成本 B测试方法C进度 D质量(分数:2.00)A.B.C.D.15.将所有可以进行自动化测试的测试用例转换为测试脚本是测试步骤的哪一过程_。A) 测试开发 B) 测试用例
6、 C) 测试设计 D) 测试执行(分数:2.00)A.B.C.D.16.设计若干测试数据,使得程序中每个判定表达式的每个分支都至少执行一次(真假分支均被满足一次)的覆盖方法被称为_。(A) 逻辑覆盖(B) 语句覆盖(C) 判定覆盖或分支覆盖(D) 条件覆盖(分数:2.00)A.B.C.D.17.关键字驱动脚本是 _ 的逻辑扩展。A线性脚本 B结构化脚本C共享脚本 D数据驱动脚本(分数:2.00)A.B.C.D.18.下列选项中属于专用的应用服务器的是A) IBM 公司开发的 WebSpereB) 微软公司开发的 MTS(Microsoft Transaction Server)C) BEA 公
7、司开发的 WebLogicD) Oracle 公司开发的 Oracle 9i Application Server(分数:2.00)A.B.C.D.19.下列不属于在线帮助测试范畴的是A) 对象的测试 B) 内容的测试C) 功能的测试 D) 风格的测试(分数:2.00)A.B.C.D.20.下列关于软件性能测试的说法中,正确的是_。A性能测试的目的不是为了发现软件缺陷B压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力C性能测试通常要对测试的结果进行分析才能获得测试结论D在性能测试下降的曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处(分数
8、:2.00)A.B.C.D.21.从已经发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为A) 错误检测 B) 故障排除C) 测试 D) 调试(分数:2.00)A.B.C.D.22.下列关于面向对象测试问题的说法中,不正确的是_。A) 在面向对象软件测试时,设计每个类的测试用例时,不仅仅要考虑调用各个成员方法的输入参数,还需要考虑如何设计调用的序列B) 构造抽象类的驱动程序会比构造其他类的驱动程序复杂C) 类 B 继承自类 A,如果对 B 进行了严格的测试,就意味着不需再对类 A 进行测试D) 在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试(分数:2.
9、00)A.B.C.D.23.下列不属于软件测试环境内容的是 _。A管理环境 B设计环境C实施环境 D运行环境(分数:2.00)A.B.C.D.24.传统的集成测试策略一般分为两种:一是非渐增式集成策略,二是渐增式集成策略。二者的区别是A) 在集成测试中发现问题时,前者比后者更容易进行问题定位B) 后者比前者更适合大规模应用系统的集成测试C) 前者需要开发驱动模块和桩模块,而后者不需要D) 前者不需要所有模块就绪,而后者需要(分数:2.00)A.B.C.D.25.以下关于面向对象软件测试的说法中,正确的是_。A面向对象软件的白盒测试不能不加改变地照搬传统软件的白盒测试准则B对于一个类的测试,一个
10、测试用例只能包含对该类的一个方法的一次调用C面向对象软件测试不考虑对一个类的单个方法的测试D面向对象测试不必考虑对继承关系的测试(分数:2.00)A.B.C.D.二、论述题(总题数:2,分数:32.00)26.论述题 2:以下是某软件的规格说明,请按要求回答问题软件规格说明:文件名的第一个字符必须是 A 或 B,第二个字符必须是数字。满足则修改文件。若第一个字符不为 A 或 B,打印错误信息 X12,若第二个字符不为数字,则打印错误信息 X13。(1)根据软件规格说明的描述,画出因果图。(2)采用因果图法设计该软件的测试用例。(分数:12.00)_以下是某 C 程序段,其功能为计算输入数字的阶
11、乘。请仔细阅读程序并完成要求。#includestdio. h#includestdlib. hint main()int i=0;/*i 为计数器*/int n;int factorial=1;/*保存阶乘的结果*/puts(“*“):puts(“*The program will compute *“);puts(“*the factotial of an integer *“);puts(“*“):puts(“please input the number n:“);scanf(“%d“,n);if(n0)/*判断输入的数是否大于或等于 0*/printf(“please input a
12、n interger=0. /n“);return 0;if(n=0)/*0 的阶乘是 1*/printf(“factorial of 0 is 1./n“);return 0;i=1;while(i=n)factorial = factorial * i;i+:printf(“factorial of % d is:%d. /n“,n,factorial);getch();return 0:(分数:20.00)(1).画出此程序主函数的控制流程图。(分数:10.00)_(2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到 100%。如果认为该程序的语句或分支覆盖率无法达
13、到 100%,需说明为理由。(分数:10.00)_四级-软件测试工程师答案解析(总分:81.00,做题时间:90 分钟)一、选择题(总题数:25,分数:49.00)1.极限编程的主要特点有_。A) 简单的分析设计 B) 频繁的客户交流C) 增量式开发和连续的测试 D) 以上全是(分数:2.00)A.B.C.D. 解析:解析 极限编程,只经过简单的分析和设计就进入到编码阶段,而在编码过程中强调对已有代码的测试和开发人员与客户的交互。相对传统的软件开发方法,极限编程有很多主要特点,主要包括:简单的分析设计,频繁的客户交流,采用增量式开发方式,进行连续的测试。2.以下选项中不属于协议一致性测试分析方
14、法中的测试的是 _。A基本互联测试 B定向诊断测试C人员测试 D能力测试(分数:2.00)A.B.C. D.解析:3.在静态分析中,提供整个项目中的所有函数之间的调用关系图属于A) 程序结构分析 B) 可视化分析C) 程序数据流分析 D) 程序执行频度分析(分数:2.00)A. B.C.D.解析:解析 程序数据流分析主要指静态分析全局变量和局部变量的声明、赋值和使用的位置,动态跟踪变量值的编号情况;可视化分析是针对面向对象的软件,提供整个项目中的所有类之间的关系图;程序执行频度分析是统计所有条件分支、多出口跳转、多出口调用的各分支、出口执行关系图。故只有 A 选项符合要求。4.测试子类中多态方
15、法的实现是否保持了父类对该方法的规格说明的策略是 _。A不变式边界测试 B模态类测试C非模态类测试 D多态服务测试(分数:2.00)A.B.C.D. 解析:5.如果一个判定中的复合条件表达式为(A10)or(B=7),则为了达到 100%的判定覆盖率,至少需要设计多少个测试用例 _。A1 个 B2 个C3 个 D4 个(分数:2.00)A.B. C.D.解析:解析 题目要求达到 100%的判定覆盖率,即要求所有的判定真假都至少执行一次,故我们取定(A=12,B=7)和(A=7,B=10)两组测试用例,即可满足题目要求。6.功能或性能没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误生命
16、,这属于软件缺陷级别中的_。A) 致命的缺陷(fatal)B) 严重的缺陷(critical)C) 一般的缺陷(major)D) 微笑的缺陷(minor)(分数:2.00)A.B. C.D.解析:解析 软件缺陷一旦被发现,就要设法找出引起该缺陷的原因,分析对产品质量的影响,然后确定软件缺陷的严重性和处理这个缺陷的优先级。一般来说,问题越严重,其处理的优先级越高,越要得到及时的纠正。软件缺陷有四种级别:致命的缺陷(fatal)、严重的缺陷(critical)、一般的缺陷(major)、微小的缺陷(minor)。7.关于软件的兼容性,以下说法错误的是_。A) 数据兼容性包括不同版本间的兼容性B)
17、软件兼容性测试应包括与整机的兼容性C) 平台软件的兼容性测试通常比应用软件的兼容性测试更为复杂和困难D) 软件兼容性应考虑与其他同类软件的兼容性(分数:2.00)A.B. C.D.解析:解析 所谓兼容性测试,是指针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行。通常,兼容性测试主要考虑硬件、软件和数据三个方面。而软件兼容性测试的内容有:与操作系统的兼容性、与数据库的兼容性、与浏览器的兼容性、与中间件的兼容性、与其他软件的兼容性、与平台软件的兼容性。8.下列可以作为软件测试对象的是_。A) 需求规格说明 B) 软件设计规格说明C) 源程序 D) 以上全部(分数:2.0
18、0)A.B.C.D. 解析:解析 软件测试不仅仅限于程序编码之后,而应该贯穿于软件开发的全过程。软件测试并不等于程序测试,因此,需求分析、概要设计、详细设计以及程序编码等各个阶段所得到的文档资料,包括需求规格说明、软件概要设计规格说明、软件详细设计规格说明以及源程序,都应作为软件测试的对象。9.下列测试方法中,不属于黑盒测试的是 _。A基本路径测试法 B等价类测试法C边界值分析法 D基于场景的测试方法(分数:2.00)A. B.C.D.解析:10.软件测试自动化是指利用好的测试工具以自动运行测试用例。软件测试自动化的好处在于 _。A比手工测试发现更多的软件缺陷B可以自动产生测试计划C使输入值组
19、合的覆盖率达到 100%D可以在较少的时间内运行更多的测试用例(分数:1.00)A.B.C.D. 解析:解析 软件测试自动化的主要特点就是可以在较少的时间内运行更多的测试用例,这也是使用它的好处。11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是_。A) 系统功能 B) 局部数据结构 C) 重要的独立路径 D) 出错处理(分数:2.00)A. B.C.D.解析:解析 单元测试主要从下面 5 个基本特征进行测试,分别是:模块接口、局部数据结构、独立路径和出错处理。故不能完成的测试是系统功能,这通常是在系统测试时进行的。12.如果软件出现修改设计的严重错误,那么软件质量和可靠
20、性就不能保证,应对软件进一步测试。如果经过测试,软件功能完善,错误率数据很少,并易于修改,可能的结果是_。A) 软件的质量和可靠性可以接受 B) 所做的测试不充分C) 先前做出的改正是错误的 D) A 或者 B(分数:2.00)A.B.C.D. 解析:解析 通过收集和分析测试结果中出错率的数据可建立可靠性模型,进行可靠性预报,如果出现上述情况,那么则有两种可能:要么是软件的质量和可靠性可以接受,要么是所做的测试不充分。13.下图是一个判定路径覆盖图,其中用“ ”表示判定语句,用“ ”表示处理语句,用“”表示判定汇合点,用“”表示判定路径,若有一个测试用例覆盖了判定路径 A、B、E、H,则判定路
21、径覆盖率为_。(分数:2.00)A. B.C.D.解析:解析 覆盖率公式:DDP 覆盖率=被评价到的判定路径数量/程序中判定路径总数100%=4/7100%=57.1%。由图可以看出,图中一共有七条判定路径,而该测试用例覆盖了判定路径A、B、E、H 四条。所以该测试用例的判定路径覆盖率为 4/7=57.1%。14.在集成测试的过程中需要考虑软件相关方面的平衡,下面选项中不需要在测试过程中予以考虑的是 _。A开发成本 B测试方法C进度 D质量(分数:2.00)A.B. C.D.解析:15.将所有可以进行自动化测试的测试用例转换为测试脚本是测试步骤的哪一过程_。A) 测试开发 B) 测试用例 C)
22、 测试设计 D) 测试执行(分数:2.00)A. B.C.D.解析:解析 测试开发的过程是指:将所有的可以进行自动化测试的测试用例转换为测试脚本,输入就是基于测试需求的测试用例;输出则是测试脚本和与之对应的期望结果。16.设计若干测试数据,使得程序中每个判定表达式的每个分支都至少执行一次(真假分支均被满足一次)的覆盖方法被称为_。(A) 逻辑覆盖(B) 语句覆盖(C) 判定覆盖或分支覆盖(D) 条件覆盖(分数:2.00)A.B.C. D.解析:17.关键字驱动脚本是 _ 的逻辑扩展。A线性脚本 B结构化脚本C共享脚本 D数据驱动脚本(分数:2.00)A.B.C.D. 解析:18.下列选项中属于
23、专用的应用服务器的是A) IBM 公司开发的 WebSpereB) 微软公司开发的 MTS(Microsoft Transaction Server)C) BEA 公司开发的 WebLogicD) Oracle 公司开发的 Oracle 9i Application Server(分数:2.00)A.B. C.D.解析:解析 应用服务器的分类目前还没有一个被广泛认可的标准,若从面向的领域角度划分,应用服务器可分为通用的应用服务器和专用的应用服务器,其中通用的应用服务器是指能够提供多方面的服务,从而支持多个领域应用的开发与运行的应用服务器,专用的应用服务器是指为特定领域的应用提供特定的一组服务的
24、应用服务器。目前的通用服务器主要有 BEA 公司开发的 Tuxedo 和 WebLogic,IBM 公司开发的WebSpere,Oracle 公司开发的 Oracle 9i Application Server Macromedia 公司开发的 JRUN 等,专用的应用服务器有微软公司开发的 MTs(Microsoft Transaction Server)。19.下列不属于在线帮助测试范畴的是A) 对象的测试 B) 内容的测试C) 功能的测试 D) 风格的测试(分数:2.00)A. B.C.D.解析:解析 在线帮助的测试包括三个方面:内容的测试、功能的测试和风格的测试。其中在线帮助内容的测试
25、可以从一致性、准确性和完备性三个方面进行;功能的测试包括超链接的检查、功能与帮助的关联、索引和搜索、指南和向导四个部分;风格的测试,测试时要对风格进行检查,通常可以由对软件不了解的人员进行测试,着重检查当使用中发生困难时在线帮助提供的信息是否准确有效。20.下列关于软件性能测试的说法中,正确的是_。A性能测试的目的不是为了发现软件缺陷B压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力C性能测试通常要对测试的结果进行分析才能获得测试结论D在性能测试下降的曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处(分数:2.00)A.B.C. D.解析
26、:解析 性能测试的三大目的包括发现缺陷、性能调优和能力检验与规划,发现软件缺陷是性能测试的目的之一,因此答案 A 不正确;压力测试与负载测试的目的并不相同,答案 B 不正确;在性能测试通用模型(PTGM)所描述的步骤中,结果分析是必要步骤之一,答案 C 正确;平坦区和轻微下降区交界处的用户数量定义为最大建议用户数,因此答案 D 不正确。21.从已经发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为A) 错误检测 B) 故障排除C) 测试 D) 调试(分数:2.00)A.B.C.D. 解析:解析 对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这一过
27、程称为排错,也称调试。22.下列关于面向对象测试问题的说法中,不正确的是_。A) 在面向对象软件测试时,设计每个类的测试用例时,不仅仅要考虑调用各个成员方法的输入参数,还需要考虑如何设计调用的序列B) 构造抽象类的驱动程序会比构造其他类的驱动程序复杂C) 类 B 继承自类 A,如果对 B 进行了严格的测试,就意味着不需再对类 A 进行测试D) 在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试(分数:2.00)A.B.C. D.解析:解析 由于面向对象具有封装的特点,在设计类的测试用例时,不仅要考虑各成员方法的输入参数,还要考虑如何设计调用的序列。若类 B 继承自类 A
28、,如果对 B 进行了严格的测试,有些情况也许可以就不对类 A 进行测试,但由于继承的存在,就会导致类 A 的规格说明可能与类 B 不一致,此时就必须按照类 A 的规格说明重新对类 A 进行测试。多态是指对一个类的引用可以与多个类的实现绑定。抽象类是指只有一些成员方法而没有其实现的类,甚至有的抽象类中的所有成员方法都没有实现,在测试抽象类时,需要为抽象类构造一个子类,并实现所有抽象类没有实现的成员方法,这也说明构造抽象类的驱动程序显然比构造其他类的驱动程序复杂。23.下列不属于软件测试环境内容的是 _。A管理环境 B设计环境C实施环境 D运行环境(分数:2.00)A.B.C.D. 解析:24.传
29、统的集成测试策略一般分为两种:一是非渐增式集成策略,二是渐增式集成策略。二者的区别是A) 在集成测试中发现问题时,前者比后者更容易进行问题定位B) 后者比前者更适合大规模应用系统的集成测试C) 前者需要开发驱动模块和桩模块,而后者不需要D) 前者不需要所有模块就绪,而后者需要(分数:2.00)A.B. C.D.解析:解析 仅有 B 说法正确,是二者的区别。其他三个选项说法颠倒。25.以下关于面向对象软件测试的说法中,正确的是_。A面向对象软件的白盒测试不能不加改变地照搬传统软件的白盒测试准则B对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用C面向对象软件测试不考虑对一个类的单个
30、方法的测试D面向对象测试不必考虑对继承关系的测试(分数:2.00)A. B.C.D.解析:解析 测试面向对象软件时,为了测试类的一个成员方法,需要在调用该方法之前先调用一系列其他方法使其相应的实例达到合适的状态,此时测试用例不仅仅调用一个成员方法,选项 B 错误。虽然在测试面向对象软件时不能简单地对一个类的各个成员方法进行测试,但并不排斥单个方法的测试,选项 C错误。继承是面向对象软件的重要特征,面向对象软件测试当然要考虑对继承关系的测试,选项 D 错误。由于面向对象软件的封装性、继承性与多态性,面向对象软件的测试与传统软件测试的方法有着很大的区别,传统软件的白盒测试准则不能不加改变地照搬到面
31、向对象软件的测试之中,选项 A 正确。二、论述题(总题数:2,分数:32.00)26.论述题 2:以下是某软件的规格说明,请按要求回答问题软件规格说明:文件名的第一个字符必须是 A 或 B,第二个字符必须是数字。满足则修改文件。若第一个字符不为 A 或 B,打印错误信息 X12,若第二个字符不为数字,则打印错误信息 X13。(1)根据软件规格说明的描述,画出因果图。(2)采用因果图法设计该软件的测试用例。(分数:12.00)_正确答案:(问题 1:分析软件规格说明书,找出原因和结果并进行编号。原因:1 一第一个字符为 A2第一个字符为 B3第一个字符为数字结果:80修改文件81打印错误信息 X
32、1282打印错误信息 X13找出各原因和结果之间、原因和原因之间的关系,画出因果图,如图 17-1 所示。)解析:解析 首先分析题目规格说明书,找出原因和结果,以及它们相互之间的关系,画出因果图。然后根据黑盒测试中基于因果图的方法设计测试用例。以下是某 C 程序段,其功能为计算输入数字的阶乘。请仔细阅读程序并完成要求。#includestdio. h#includestdlib. hint main()int i=0;/*i 为计数器*/int n;int factorial=1;/*保存阶乘的结果*/puts(“*“):puts(“*The program will compute *“);
33、puts(“*the factotial of an integer *“);puts(“*“):puts(“please input the number n:“);scanf(“%d“,n);if(n0)/*判断输入的数是否大于或等于 0*/printf(“please input an interger=0. /n“);return 0;if(n=0)/*0 的阶乘是 1*/printf(“factorial of 0 is 1./n“);return 0;i=1;while(i=n)factorial = factorial * i;i+:printf(“factorial of % d is:%d. /n“,n,factorial);getch();return 0:(分数:20.00)(1).画出此程序主函数的控制流程图。(分数:10.00)_正确答案:(主程序的控制流程图如下。)解析:(2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到 100%。如果认为该程序的语句或分支覆盖率无法达到 100%,需说明为理由。(分数:10.00)_正确答案:(测试用例的设计只要覆盖所有的分支情况即可。设计如下:N=-9,0,12)解析:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1