1、计算机四级软件测试工程师-97 及答案解析(总分:72.01,做题时间:90 分钟)一、选择题(总题数:25,分数:52.00)1.不影响系统的基本使用,但没有很好地实现功能,没有达到预期的效果,如次要功能丧失、提示信息不太准确,或用户界面差、操作时间长等,这属于软件缺陷级别中的_。A) 致命的缺陷B) 严重的缺陷C) 一般的缺陷D) 微小的缺陷(分数:2.50)A.B.C.D.2.软件可靠性与硬件可靠性的区别体现在_。A唯一性 B物理退化 C逻辑复杂性 D以上都是(分数:2.00)A.B.C.D.3.以下关于软件性能测试的说法中,正确的是A) 软件性能测试的主要目的是检验软件是否能充分发挥硬
2、件的潜能B) 软件性能测试通常采用数据流测试技术生成测试用例C) 软件性能测试实际上是一种软件可靠性测试D) 软件性能测试的实施通常需要依赖性能测试辅助软件(分数:2.00)A.B.C.D.4.不是软件测试评估的目的是_。A) 量化测试过程,判定测试进行的状态B) 决定什么时候测试可以结束C) 保证每个阶段的测试任务得到执行D) 为最后的测试或质量分析报告生成所需的量化数据(分数:2.00)A.B.C.D.5.单元测试中的主要测试方法为_。A) 黑盒测试 B) 灰盒测试C) 回归测试 D) 白盒测试(分数:2.00)A.B.C.D.6.下列测试用例设计方法中,不会在协议一致性测试中使用的是 _
3、。A等价类测试 B基于风险的测试C规范导出法 D边界值测试(分数:2.00)A.B.C.D.7.关于自动比较方式,说法正确的是 _。A田于动态比较有助于为测试用例输入一些智能,故使用率在逐步提升B用于对发送到屏幕以外的输出进行比较的应是执行后比较C屏幕输出上许多细微的变化可能造成动态比较强调许多不重要的差异,此时会造成测试工具更新预期输出比较困难D测试执行工具通常包括对执行后比较的直接支持(分数:2.00)A.B.C.D.8.在结构化测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(也称分支覆盖)、路径覆盖等,其中_是最强的覆盖准则。A) 语句覆盖 B) 条件覆盖 C) 判定覆盖 D) 路径覆盖
4、(分数:2.00)A.B.C.D.9.从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试_。A) 集成测试、确认测试、单元测试 B) 单元测试、集成测试、确认测试C) 单元测试、确认测试、组装测试 D) 确认测试、集成测试、单元测试(分数:2.00)A.B.C.D.10.下列关于面向对象软件测试的说法中,不正确的是 _。A面向对象软件的白盒测试不能不加改变地照搬传统软件的白盒测试准则B在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试C假设类 B 是类 A 的子类,如果类 A 已进行了充分的测试,在测试类 B 时不必测试任何类 B 继承类 A 的成员方法
5、D对于一棵继承树上的多个类,处于叶子节点的类也需要测试(分数:2.00)A.B.C.D.11.软件性能测试的目标不仅仅是发现性能缺陷,具体软件性能测试不包括下述中的_。A) 发现缺陷 B) 性能调优 C) 能力检测与规划 D) 安全入侵检测(分数:2.00)A.B.C.D.12.对测试用例进行管理,可以依据测试用例编写过程的属性、组织过程的属性和A) 创建过程的属性 B) 测试过程的属性C) 执行过程的属性 D) 管理过程的属性(分数:2.00)A.B.C.D.13.以下哪一项不属于兼容性测试关注的范畴A) 操作系统是否能运行于不同的硬件平台B) 杀毒软件在清除病毒时是否会影响办公软件的正常工
6、作C) Web 应用软件是否支持不同的关系型数据库D) 软件用户手册中的功能说明与实际功能是否一致(分数:2.00)A.B.C.D.14.为了提高测试的效率,正确的做法是_。A) 选择发现错误可能性大的数据作为测试用例B) 随机选取测试用例C) 取一切可能的输入数据作为测试用例D) 在完成程序的编码之后再制订软件的测试计划(分数:2.00)A.B.C.D.15.走查的最主要目标有。发现缺陷、遗漏和矛盾的地方改进产品考虑可替换的实现方法A) 和 B) 和C) 和 D) 、和(分数:3.00)A.B.C.D.16.在极限测试过程中,贯穿始终的是_。A单元测试和集成测试 B单元测试和系统测试C集成测
7、试和系统测试 D单元测试和验收测试(分数:2.00)A.B.C.D.17.阅读以下程序,采用逻辑覆盖进行测试,下列测试用例(a,b,c)的输入值,可以达到条件覆盖的是_。Int func(int a, b, c)Int k=1:If(aO)| (b0)|(a+c0)k=k+a;Else k=k+b:If(c0)k=k+c:Return kA) (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)(分数:2.00)A.B.C.D.18.下列情况表明出错处理功能有错误和缺陷的是 _。A显示的错误
8、与实际遇到的错误不符B显示的错误信息难以理解C对异常处理的不得当D以上全部(分数:2.00)A.B.C.D.19.功能或性能没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误生命,这属于软件缺陷级别中的_。A) 致命的缺陷(fatal)B) 严重的缺陷(critical)C) 一般的缺陷(major)D) 微笑的缺陷(minor)(分数:2.00)A.B.C.D.20.软件可靠性分析方法通常不依赖于概率统计的方法,下面属于软件可靠性分析方法的是 _。A失效模式影响分析法(FMEA 法) B故障树和事件树分析法C潜在线路分析法 D以上全部(分数:1.00)A.B.C.D.21.技术评审分
9、为正式和非正式两种,通常由技术负责人制度详细的评审计划,包括 _。A评审时间 B对所需文件的定义C评审地点 D以上全部(分数:2.00)A.B.C.D.22.自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试_。A) 最底层 B) 下一层 C) 最高层 D) 上一层(分数:2.00)A.B.C.D.23.下面有关软件质量保证活动目标的说法中不正确的是_。A) 客观地验证软件产品和各项任务是否遵循适用的标准、规程和需求B) 用最少的时间和人力,找出软件中潜在的各种错误和缺陷C) 高层管理人员能够参与并帮助解决项目中不能解决的不相容问题D) 规划软件质量保证任务(分数:2.50)A.B
10、.C.D.24.桌上检查(Desk Checking)是一种_的检查方法。A) 程序员自己检查自己编写的程序B) 由同行帮忙检查自己编写的程序C) 几个同行自行组成小组,以小组为单位检查编写的程序D) 程序员在桌子上检查编写程序的活动(分数:3.00)A.B.C.D.25.以下关于 Web 应用软件测试的说法中,正确的是 _。A数据完整性测试是 Web 应用软件数据层测试的一项重要内容B内容测试是 Web 应用软件易用性测试的一项重要内容C表单测试是 Web 应用软件表示层测试的一项重要内容D链接结构的测试是 Web 应用软件安全性测试的一项重要内容(分数:2.00)A.B.C.D.二、论述题
11、(总题数:1,分数:20.00)设计黑盒测试的测试用例某图书出租商店欲开发一个租书信息管理系统,管理图书的租借业务。该系统的数据流图如下:(分数:20.01)(1).根据系统的数据流图,画出对应的程序功能图。(提示;在程序功能图中不考虑文件和与文件交互的数据流,并可用状态和迁移来描述。)(分数:6.67)_(2).计算该程序功能图的 McCabe 复杂性度量。(分数:6.67)_(3).给出该程序功能图的基本测试路径集合。(分数:6.67)_计算机四级软件测试工程师-97 答案解析(总分:72.01,做题时间:90 分钟)一、选择题(总题数:25,分数:52.00)1.不影响系统的基本使用,但
12、没有很好地实现功能,没有达到预期的效果,如次要功能丧失、提示信息不太准确,或用户界面差、操作时间长等,这属于软件缺陷级别中的_。A) 致命的缺陷B) 严重的缺陷C) 一般的缺陷D) 微小的缺陷(分数:2.50)A.B.C. D.解析:解析 软件缺陷一旦被发现,就要设法找出引起该缺陷的原因,分析对产品质量的影响,然后确定软件缺陷的严重性和处理这个缺陷的优先级。一般来说,问题越严重,其处理的优先级越高,越要得到及时的纠正。软件缺陷有 4 种级别,分别为:致命的(Fatal),严重的(Critical),一般的(Major),微小的(Minor)。一般的软件缺陷虽然不影响系统的基本使用,但没有很好地
13、实现功能,没有达到预期的效果。2.软件可靠性与硬件可靠性的区别体现在_。A唯一性 B物理退化 C逻辑复杂性 D以上都是(分数:2.00)A.B.C.D. 解析:解析 软件可靠性与硬件可靠性的区别在于,软件可靠性是唯一的,不以物理退化而失效,但软件的逻辑更为复杂,并且版本更新更为频繁。3.以下关于软件性能测试的说法中,正确的是A) 软件性能测试的主要目的是检验软件是否能充分发挥硬件的潜能B) 软件性能测试通常采用数据流测试技术生成测试用例C) 软件性能测试实际上是一种软件可靠性测试D) 软件性能测试的实施通常需要依赖性能测试辅助软件(分数:2.00)A.B.C.D. 解析:解析 软件性能测试的目
14、标是发现缺陷、性能调优、能力检验与规划。软件性能测试和可靠性测试是同一级别的测试。4.不是软件测试评估的目的是_。A) 量化测试过程,判定测试进行的状态B) 决定什么时候测试可以结束C) 保证每个阶段的测试任务得到执行D) 为最后的测试或质量分析报告生成所需的量化数据(分数:2.00)A.B.C. D.解析:解析 软件测试评估的目的是:量化测试过程,判定测试进行的状态,决定什么时候测试可以结束;为最后的测试或质量分析报告生成所需的量化数据。5.单元测试中的主要测试方法为_。A) 黑盒测试 B) 灰盒测试C) 回归测试 D) 白盒测试(分数:2.00)A.B.C.D. 解析:解析 单元测试的对象
15、是实现了具体功能的程序单元,所以采用的主要测试方法为基于代码的白盒测试。6.下列测试用例设计方法中,不会在协议一致性测试中使用的是 _。A等价类测试 B基于风险的测试C规范导出法 D边界值测试(分数:2.00)A.B. C.D.解析:7.关于自动比较方式,说法正确的是 _。A田于动态比较有助于为测试用例输入一些智能,故使用率在逐步提升B用于对发送到屏幕以外的输出进行比较的应是执行后比较C屏幕输出上许多细微的变化可能造成动态比较强调许多不重要的差异,此时会造成测试工具更新预期输出比较困难D测试执行工具通常包括对执行后比较的直接支持(分数:2.00)A.B. C.D.解析:8.在结构化测试用例设计
16、中,有语句覆盖、条件覆盖、判定覆盖(也称分支覆盖)、路径覆盖等,其中_是最强的覆盖准则。A) 语句覆盖 B) 条件覆盖 C) 判定覆盖 D) 路径覆盖(分数:2.00)A.B.C.D. 解析:解析 在题目所述逻辑覆盖中,路径覆盖是最强的覆盖准则。路径覆盖强于判定覆盖,判定覆盖强于语句覆盖。9.从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试_。A) 集成测试、确认测试、单元测试 B) 单元测试、集成测试、确认测试C) 单元测试、确认测试、组装测试 D) 确认测试、集成测试、单元测试(分数:2.00)A.B.C.D. 解析:解析 软件开发需求分析对应的是测试阶段的确认测试,软件
17、设计对应的是集成测试,编码阶段对应的是单元测试。10.下列关于面向对象软件测试的说法中,不正确的是 _。A面向对象软件的白盒测试不能不加改变地照搬传统软件的白盒测试准则B在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试C假设类 B 是类 A 的子类,如果类 A 已进行了充分的测试,在测试类 B 时不必测试任何类 B 继承类 A 的成员方法D对于一棵继承树上的多个类,处于叶子节点的类也需要测试(分数:2.00)A.B.C. D.解析:解析 封装、继承和多态是面向对象软件区别于传统的结构化软件的三个主要特点,然而这些特点都可能对测试带来困难。选项 C 中考察继承和继承与多
18、态的复合对测试的影响,假设类 B 是类 A 的子类,如果类 A 已进行了充分的测试,若按传统的测试充分性准则,在测试类 B 时可以把关注点放在类 B 自身定义的成员变量和成员方法上,但在实际测试类 B 时,这样的测试往往会不够充分,还是要对类 B 继承类 A的成员方法进行测试的,而且对于一棵继承树上的多个类,仅对处于叶节点的类进行测试也是不充分的。11.软件性能测试的目标不仅仅是发现性能缺陷,具体软件性能测试不包括下述中的_。A) 发现缺陷 B) 性能调优 C) 能力检测与规划 D) 安全入侵检测(分数:2.00)A.B.C.D. 解析:解析 软件性能测试的目标不仅仅是发现(和改正)性能缺陷(
19、Perform-ance Bug),还包括探索和规划软件的实际性能。具体软件性能测试以下目标:发现缺陷,性能调优,能力检验与规划。12.对测试用例进行管理,可以依据测试用例编写过程的属性、组织过程的属性和A) 创建过程的属性 B) 测试过程的属性C) 执行过程的属性 D) 管理过程的属性(分数:2.00)A.B.C. D.解析:解析 测试用例要经过创建、修改和不断完善的过程。测试用例的属性有:优先次序、目标性、所属的范围、关联性、阶段性、状态性、时效性、所有者、日期等特性。根据测试用例的属性及编号等可对测试用例进行基于数据库方式的良好管理,另外也可以依据测试用例编写过程的属性、组织过程的属性和
20、执行过程的属性来对测试用例进行有效管理。13.以下哪一项不属于兼容性测试关注的范畴A) 操作系统是否能运行于不同的硬件平台B) 杀毒软件在清除病毒时是否会影响办公软件的正常工作C) Web 应用软件是否支持不同的关系型数据库D) 软件用户手册中的功能说明与实际功能是否一致(分数:2.00)A.B.C.D. 解析:解析 兼容性测试包括:与操作系统的兼容性;与数据库的兼容性;与浏览器的兼容性;与中间件的兼容性;与其他软件的兼容性;与平台软件的兼容性。14.为了提高测试的效率,正确的做法是_。A) 选择发现错误可能性大的数据作为测试用例B) 随机选取测试用例C) 取一切可能的输入数据作为测试用例D)
21、 在完成程序的编码之后再制订软件的测试计划(分数:2.00)A. B.C.D.解析:解析 对于一个软件,其可能的输入数据数量一般是非常惊人的,所以要想全部将其作为测试用例是不现实的,应当选择发现错误可能性大的数据作为测试用例,不能随机选取测试用例,故 A 正确,B、C 错误。软件测试贯穿于软件开发的各个阶段,D 项错误。15.走查的最主要目标有。发现缺陷、遗漏和矛盾的地方改进产品考虑可替换的实现方法A) 和 B) 和C) 和 D) 、和(分数:3.00)A.B.C.D. 解析:解析 走查的目的是要评价一个产品,通常是程序代码,走查一直以来都与代码检查联系在一起,其实走查也可以应用到产品的其他阶
22、段,如结构设计、详细设计、测试计划等文档上。走查的最主要目标是要发现缺陷、遗漏和矛盾的地方,改进产品,考虑可替换的实现方法。16.在极限测试过程中,贯穿始终的是_。A单元测试和集成测试 B单元测试和系统测试C集成测试和系统测试 D单元测试和验收测试(分数:2.00)A.B.C.D. 解析:解析 极限编程采用的是一种频繁迭代的开发方式,整个软件项目由一系列增量式开发组成。而极限测试本质上就是为了满足极限编程的思想和流程而设计的一套测试策略和流程,从极限测试流程图中我们可以看出,单元测试和验收测试是贯穿始终的关键步骤。17.阅读以下程序,采用逻辑覆盖进行测试,下列测试用例(a,b,c)的输入值,可
23、以达到条件覆盖的是_。Int func(int a, b, c)Int k=1:If(aO)| (b0)|(a+c0)k=k+a;Else k=k+b:If(c0)k=k+c:Return kA) (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)(分数:2.00)A.B. C.D.解析:解析 条件覆盖是指设计若干测试用例,运行被测程序,使得每个判定的每个条件的可能取值至少评价一次。A、C、D 选项中 b 的取值条件不全。故本题选 B18.下列情况表明出错处理功能有错误和缺陷的是 _。A显
24、示的错误与实际遇到的错误不符B显示的错误信息难以理解C对异常处理的不得当D以上全部(分数:2.00)A.B.C.D. 解析:19.功能或性能没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误生命,这属于软件缺陷级别中的_。A) 致命的缺陷(fatal)B) 严重的缺陷(critical)C) 一般的缺陷(major)D) 微笑的缺陷(minor)(分数:2.00)A.B. C.D.解析:解析 软件缺陷一旦被发现,就要设法找出引起该缺陷的原因,分析对产品质量的影响,然后确定软件缺陷的严重性和处理这个缺陷的优先级。一般来说,问题越严重,其处理的优先级越高,越要得到及时的纠正。软件缺陷有四种
25、级别:致命的缺陷(fatal)、严重的缺陷(critical)、一般的缺陷(major)、微小的缺陷(minor)。20.软件可靠性分析方法通常不依赖于概率统计的方法,下面属于软件可靠性分析方法的是 _。A失效模式影响分析法(FMEA 法) B故障树和事件树分析法C潜在线路分析法 D以上全部(分数:1.00)A.B.C.D. 解析:解析 目前主要的软件可靠性分析方法有失效模式影响分析法、严酷度分析法、故障树分析法、事件树分析法、潜在线路分析法。21.技术评审分为正式和非正式两种,通常由技术负责人制度详细的评审计划,包括 _。A评审时间 B对所需文件的定义C评审地点 D以上全部(分数:2.00)
26、A.B.C.D. 解析:22.自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试_。A) 最底层 B) 下一层 C) 最高层 D) 上一层(分数:2.00)A. B.C.D.解析:解析 自底向上测试与自顶向下测试的测试策略都是增量式的测试,软件是分层设计的,主模块调用子模块,子模块又依次调用更低层次的模块,依此类推。在自底向上单元测试的策略中,应首先测试最底层的模块,利用辅助的测试驱动模块调用他们并传递测试数据,然后再测试更高层次的模块,再较高层次的模块测试中可以直接调用已测试过的较低层次的模块。23.下面有关软件质量保证活动目标的说法中不正确的是_。A) 客观地验证软件产品和各项
27、任务是否遵循适用的标准、规程和需求B) 用最少的时间和人力,找出软件中潜在的各种错误和缺陷C) 高层管理人员能够参与并帮助解决项目中不能解决的不相容问题D) 规划软件质量保证任务(分数:2.50)A.B. C.D.解析:解析 软件质量保证活动的目标为:制定和规划软件质量保证的任务,客观地验证软件产品和各项任务是否遵循适用的标准、规程和需求,相关小组和个人保持良好的沟通,及时通知他们在软件质量保证方面的认识和结果,高层管理人员能够参与并帮助解决项目中不能解决的不相容问题。而选项 B(用最少的时间和人力,找出软件中潜在的各种错误和缺陷)应为软件测试的目标,两者要区分开来。24.桌上检查(Desk
28、Checking)是一种_的检查方法。A) 程序员自己检查自己编写的程序B) 由同行帮忙检查自己编写的程序C) 几个同行自行组成小组,以小组为单位检查编写的程序D) 程序员在桌子上检查编写程序的活动(分数:3.00)A. B.C.D.解析:解析 桌上检查(Desk checking)是一种传统的检查方法,由程序员自己检查自己编写的程序。程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析,对照错误列表进行检查,对程序推演测试数据,并补充相关的文档。桌上检查的目的就是发现程序中的错误。25.以下关于 Web 应用软件测试的说法中,正确的是 _。A数据完整性测试是 Web 应用软件
29、数据层测试的一项重要内容B内容测试是 Web 应用软件易用性测试的一项重要内容C表单测试是 Web 应用软件表示层测试的一项重要内容D链接结构的测试是 Web 应用软件安全性测试的一项重要内容(分数:2.00)A. B.C.D.解析:解析 Web 应用软件数据层测试包括两个方面:一是数据完整性的测试,二是大数据量数据库的性能测试,故选项 A 说法正确。Web 应用软件功能测试通常针对链接测试、表单测试和 Cookie 测试三个方面进行,故选项 C 说法不正确。Web 应用软件安全性测试主要包括服务器端的内容安全性、客户端的内容安全性和 Cookie 安全性三个方面,由此选项 D 说法不正确。内
30、容测试和易用性测试都是 Web 应用软件的测试策略,不具有从属关系,故选项 B 说法不正确。二、论述题(总题数:1,分数:20.00)设计黑盒测试的测试用例某图书出租商店欲开发一个租书信息管理系统,管理图书的租借业务。该系统的数据流图如下:(分数:20.01)(1).根据系统的数据流图,画出对应的程序功能图。(提示;在程序功能图中不考虑文件和与文件交互的数据流,并可用状态和迁移来描述。)(分数:6.67)_正确答案:( )解析:(2).计算该程序功能图的 McCabe 复杂性度量。(分数:6.67)_正确答案:(依据有向图 G 环路复杂性公式:V(G)=m-n+2,其中,V(G)是环路个数,m 是有向弧个数,n 是结点个数,从上图可知,m=10,n=9,则 V(G)=m-n+2=10-9+2=3,即该程序功能图的 McCabe 复杂度为 3。)解析:(3).给出该程序功能图的基本测试路径集合。(分数:6.67)_正确答案:(测试路径集合如下:)解析: