1、计算机四级软件测试工程师-57 及答案解析(总分:72.00,做题时间:90 分钟)一、选择题(总题数:24,分数:47.00)1.针对逻辑覆盖,下列叙述不正确的是_。A) 达到 100%CC 要求就一定能够满足 100%DC 的要求B) 达到 100%CDC 要求就一定能够满足 100%DC 的要求C) 达到 100%MCDC 要求就一定能够满足 100%DC 的要求D) 达到 100%路径覆盖要求就一定能够满足 100%DC 的要求(分数:2.00)A.B.C.D.2.兼容性测试是指_。A) 针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行B) 测试本款软件与其
2、他应用软件是否能在同一操作系统下同时执行C) 检测软件与其他软件是否能正常进行信息的交流和传递D) 以上都不对(分数:2.00)A.B.C.D.3.在 Web 应用软件的系统测试技术中,下面不属于安全性测试内容的是 _。A客户端的内容安全性 B服务器端的内容安全性C数据库的内容安全性 DCookie 安全性(分数:2.00)A.B.C.D.4.Web 应用系统一般分为 3 层,下列哪一层不属于 Web 应用系统的范畴_。A应用层 B表示层 C业务层 D数据层(分数:2.00)A.B.C.D.5.下列关于测试方法的叙述中不正确的是_。A从某种角度上讲,白盒测试与黑盒测试都属于动态测试B功能测试属
3、于黑盒测试C对功能的测试通常是要考虑程序的内部结构的D结构测试属于白盒测试(分数:2.00)A.B.C.D.6.自动化测试过程与自动化辅助手工测试过程的区别有 _。A设置测试环境在自动化测试过程中是自动化开展,而在自动化辅助手工测试过程中要手工开展B清除测试环境在自动化测试过程中是自动化开展,而在自动化辅助手工测试过程中要手工开展C测试用例在自动化测试过程中可以连续自动运行,而在自动化辅助手上测试过程中不可以D以上全部(分数:2.00)A.B.C.D.7.在软件生存周期中占据时间最长的是 _。A运行和维护阶段 B软件开发阶段C需求分析阶段 D软件设计阶段(分数:1.00)A.B.C.D.8.对
4、给予计算机的系统有用的系统测试类型有_。 (1)恢复测试(2)安全测试(3)应力测试(4)性能测试(A) (1)(2)(B) (2)(3)(C) (2)(3)(4)(D) (1)(2)(3)(4)(分数:2.00)A.B.C.D.9.下面有关测试原则的说法中正确的是_。A) 测试用例应由测试的输入数据和预期的输出结果两部分组成B) 对程序的调试最好由第三方测试机构来做C) 程序最好由编写该程序的程序员自己来测试D) 使用测试用例进行测试是为了检查程序是否做了它该做的事(分数:2.00)A.B.C.D.10.测试整个应用系统是否满足用户需求,这种测试是A) 集成测试 B) 系统测试C) 单元测试
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) 部分模块的代码编制完成,并且已完成模块已经过评审和验证确认没有语法错误D) 主要模块的代码编制完成,并且已完成模块已经过评审和验证确认没有语法错误(分数:2.00)A.B.C.D.14.依据GB/T 155322008 计算机软件测试规范软件测试应由相对独立的人员进行。测试团队成员包含的工作角色有_。A) 测试负责人、测试分析员 B) 测试设计员、测试程序员、测试员C) 测试系统管理员、配置管理员 D) 以上全部(分数:2.00)A.B.C.D.15.是否建立了丰富的_是衡量一个面向对象程序设计语言成熟与否的重要标志之一。(A) 函数库(B) 类库(C) 类型库(D) 方法库(分数:2.
7、00)A.B.C.D.16.关于软件可靠性测试,说法不正确的是 _。A若对软件可靠性要求很高,那么必须执行软件可靠性测试B软件可靠性测试的目标是预测软件在正式运行中的可靠性C由于软件可靠性的预测依赖于出错数据的统计,软件在可靠性测试中的运行情况必须完全符合软件的实际运行情况D在实施可靠性测试之前必须保证软件已经进行严格的测试(分数:2.00)A.B.C.D.17.下列关于逻辑覆盖的叙述,说法错误的是_。A) 条件覆盖的检错能力较判定覆盖强,但有时达不到判定覆盖的要求B) 判定覆盖包含了语句覆盖,但它可能会使一些条件得不到测试C) 判定/条件覆盖包含了判定覆盖和条件覆盖的要求,实际上不一定达到覆
8、盖的标准D) 凡满足条件组合覆盖标准的测试用例,也必然满足其他所有覆盖种类的覆盖标准(分数:2.00)A.B.C.D.18.一个多用户的应用系统通常有用户管理功能,允许增加新的用户。用户信息一般包括用户名,假设规定用户名必须是以字母开头的、不超过 8 个字符的字母数字串,那么,下面哪组值均属于用户名的无效等价类A) 1i111111,Glenford Myers,1238123B) LinYie,Linfeng,空值,linyifeiC) linyifei,空值,Myers G,genfordD) linyifei,lintbn,a111111,genford(分数:2.00)A.B.C.D.
9、19.以下关于面向对象软件测试的说法中,正确的是A) 对于一个类进行单元测试时,一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法B) 对于一个类进行单元测试时,一个测试用例只能调用在该类的父类中定义的方法,不能调用在该类中定义的方法C) 对于一个类进行单元测试时,一个测试用例既可以调用在该类的父类中定义的方法,也可以调用在该类中定义的方法D) 对于一个类进行单元测试时,由该类及其父类中定义的方法组成的任何一个序列都是一个合理的测试用例(分数:2.00)A.B.C.D.20.软件缺陷类型或严重性的类型包括A) 软件系统崩溃、功能失效和容错性问题 B) 用户友好性C) 性能
10、、文字错误和增强需求 D) 以上全部(分数:2.00)A.B.C.D.21.软件测试过程可持续改进的根本是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.
11、00)A.B.C.D.24.在极限测试过程中,贯穿始终的是A) 单元测试和集成测试 B) 单元测试和系统测试C) 集成测试和系统测试 D) 单元测试和验收测试(分数:2.00)A.B.C.D.二、论述题(总题数:2,分数:25.00)下图为对 4 个已知数字进行排序的程序流程图。(分数:4.00)(1).计算它的环路复杂度。(分数:2.00)_(2).为完成基本路径测试,求它的一组独立路径。(分数:2.00)_以下是学生选课系统中“学生成绩查询”交互行为的描述,请仔细阅读程序并完成要求。交互开始时,终端上显示首页,用户选择“查询”请求后,显示“请输入学号”。在用户输入学号后,系统核对学生学号:
12、若输入的学号不正确,则显示“输入的学号不正确”,此次查询取消,回到首页;若输入的学号正确看,则出现“请输入课程名称”。一旦输入课程名,就开始核对课程名称:若输入的课程名称不正确,则显示“输入的课程名称不正确”,此次查询取消,回到首页;若输入的课程名称正确,则根据“学号”和“课程名”查询学生成绩。若查询学生成绩成功,则显示查询到得成绩,系统询问是否继续查询:当用户选择“继续查询”后回到“请输入学号”;当用户选择“结束查询“后回到首页。若查询失败,则显示“查询失败”后回到首页。(分数:21.00)(1).请画出该系统的控制流图。(分数:7.00)_(2).请给出该系统的基本路径集。(分数:7.00
13、)_(3).请给出覆盖基本路径集的测试用例集合。(分数:7.00)_计算机四级软件测试工程师-57 答案解析(总分:72.00,做题时间:90 分钟)一、选择题(总题数:24,分数:47.00)1.针对逻辑覆盖,下列叙述不正确的是_。A) 达到 100%CC 要求就一定能够满足 100%DC 的要求B) 达到 100%CDC 要求就一定能够满足 100%DC 的要求C) 达到 100%MCDC 要求就一定能够满足 100%DC 的要求D) 达到 100%路径覆盖要求就一定能够满足 100%DC 的要求(分数:2.00)A. B.C.D.解析:解析 此题考查的是白盒测试用例设计方法的基本概念。达
14、到 100%CC 要求不一定能够满足 100%DC 的要求;达到 100%CDC 要求就一定能够满足 100%DC 的要求;达到 100%MCDC 要求就一定能够满足 100%DC 的要求;达到 100%路径覆盖要求就一定能够满足 100%DC 的要求。2.兼容性测试是指_。A) 针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行B) 测试本款软件与其他应用软件是否能在同一操作系统下同时执行C) 检测软件与其他软件是否能正常进行信息的交流和传递D) 以上都不对(分数:2.00)A. B.C.D.解析:解析 所谓兼容性测试,是指针对软件对其运行环境的依赖进行测试,以验证
15、软件是否能够在所有期望的环境中运行。通常,兼容性测试主要考虑硬件、软件和数据三个方面。3.在 Web 应用软件的系统测试技术中,下面不属于安全性测试内容的是 _。A客户端的内容安全性 B服务器端的内容安全性C数据库的内容安全性 DCookie 安全性(分数:2.00)A.B.C. D.解析:4.Web 应用系统一般分为 3 层,下列哪一层不属于 Web 应用系统的范畴_。A应用层 B表示层 C业务层 D数据层(分数:2.00)A. B.C.D.解析:解析 Web 应用系统一般分为三层,分别为表示层、业务层和数据层。应用层不应包含在其中,此处不要和网络中的 ISO 七层网络模型相混淆。5.下列关
16、于测试方法的叙述中不正确的是_。A从某种角度上讲,白盒测试与黑盒测试都属于动态测试B功能测试属于黑盒测试C对功能的测试通常是要考虑程序的内部结构的D结构测试属于白盒测试(分数:2.00)A.B.C. D.解析:解析 白盒测试是程序员十分了解程序的前提下,对程序的逻辑结构进行的测试。而黑盒测试则将程序视为一个黑盒子,仅仅是测试人员提供数人数据,观察输出数据,并不了解程序是如何运行的,结构测试属于白盒测试,关注的是如何选择合适的程序或子程序路径来执行有效的检查。功能测试则属于黑盒测试,对功能的测试通常通过提供输入数据,检查实际输出的结果,很少考虑程序的内部结构。6.自动化测试过程与自动化辅助手工测
17、试过程的区别有 _。A设置测试环境在自动化测试过程中是自动化开展,而在自动化辅助手工测试过程中要手工开展B清除测试环境在自动化测试过程中是自动化开展,而在自动化辅助手工测试过程中要手工开展C测试用例在自动化测试过程中可以连续自动运行,而在自动化辅助手上测试过程中不可以D以上全部(分数:2.00)A.B.C.D. 解析:7.在软件生存周期中占据时间最长的是 _。A运行和维护阶段 B软件开发阶段C需求分析阶段 D软件设计阶段(分数:1.00)A. B.C.D.解析:解析 由于很多复杂因素的影响,软件开发组织投入到软件产品上的费用以及大多数时间都花在了软件完成并交付使用后对它的维护上,软件的运行和维
18、护阶段可以说是软件生存周期中占据时间最长的阶段。8.对给予计算机的系统有用的系统测试类型有_。 (1)恢复测试(2)安全测试(3)应力测试(4)性能测试(A) (1)(2)(B) (2)(3)(C) (2)(3)(4)(D) (1)(2)(3)(4)(分数:2.00)A.B.C.D. 解析:9.下面有关测试原则的说法中正确的是_。A) 测试用例应由测试的输入数据和预期的输出结果两部分组成B) 对程序的调试最好由第三方测试机构来做C) 程序最好由编写该程序的程序员自己来测试D) 使用测试用例进行测试是为了检查程序是否做了它该做的事(分数:2.00)A. B.C.D.解析:解析 对程序的测试最好由
19、第三方测试机构来做,对程序的调试最好由程序员来做,故 B 不对。由测试用例的原则:程序员应避免测试自己的程序得 C 说法错误。又由测试的目的是找错而不是证明程序正确,故 D 不正确。10.测试整个应用系统是否满足用户需求,这种测试是A) 集成测试 B) 系统测试C) 单元测试 D) 配置项测试(分数:2.00)A.B. C.D.解析:解析 通过执行程序代码完成的测试通常包括:单元测试、集成测试和系统测试。其中单元测试是指针对完成单一功能的函数的测试,集成测试是指针对程序中的集成结构的测试,而系统测试是指测试整个应用系统是否满足用户需求。11.一个好的集成测试策略应该具有的特点是 _。A能够使模
20、块与接口的划分清晰明了,尽可能减少后续操作难度B能够对被测模块进行比较充分的测试C对整体工作量来说,参加测试的各种资源都得到充分利用D以上全部(分数:2.00)A.B.C.D. 解析:12.自顶向下单元测试的策略是首先对模块调用哪一层模块进行测试A) 最底层 B) 下一层C) 最高层 D) 上一层(分数:2.00)A.B.C. D.解析:解析 自底向上测试与自顶向下测试策略都是增量式的测试,软件是分层设计的,主模块调用子模块,子模块又依次调用更低层次的模块,依此类推。在自底向上单元测试的策略中,应首先测试最底层的模块,利用辅助的测试驱动模块调用它们并传递测试数据,然后再测试更高层次的模块,在较
21、高层次的模块测试中可以直接调用已测试过的较低层次的模块。在自顶向下测试中,首先测试的则是顶层模块,_无须编写驱动模块,但要使用桩模块,当顶层模块被证明无误后,再测试下一个高层次的模块。13.下列哪种情况下可以进行单元测试_。A) 每个模块的代码编制完成,并经过评审和验证确认没有语法错误B) 每个模块的代码编制完成,不需经过评审和验证确认没有语法错误C) 部分模块的代码编制完成,并且已完成模块已经过评审和验证确认没有语法错误D) 主要模块的代码编制完成,并且已完成模块已经过评审和验证确认没有语法错误(分数:2.00)A. B.C.D.解析:解析 单元测试是在每个模块的代码编制完成,并经过评审和验
22、证确认没有语法错误的情况下才可以进行单元测试。14.依据GB/T 155322008 计算机软件测试规范软件测试应由相对独立的人员进行。测试团队成员包含的工作角色有_。A) 测试负责人、测试分析员 B) 测试设计员、测试程序员、测试员C) 测试系统管理员、配置管理员 D) 以上全部(分数:2.00)A.B.C.D. 解析:解析 目前业界通用的做法是单元测试由开发团队执行,而集成和系统测试用例则由专门的测试团队进行。其团队成员包含测试负责人、测试分析员、测试设计员、测试程序员、测试员、测试系统管理员、配置管理员。15.是否建立了丰富的_是衡量一个面向对象程序设计语言成熟与否的重要标志之一。(A)
23、 函数库(B) 类库(C) 类型库(D) 方法库(分数:2.00)A.B. C.D.解析:16.关于软件可靠性测试,说法不正确的是 _。A若对软件可靠性要求很高,那么必须执行软件可靠性测试B软件可靠性测试的目标是预测软件在正式运行中的可靠性C由于软件可靠性的预测依赖于出错数据的统计,软件在可靠性测试中的运行情况必须完全符合软件的实际运行情况D在实施可靠性测试之前必须保证软件已经进行严格的测试(分数:2.00)A. B.C.D.解析:17.下列关于逻辑覆盖的叙述,说法错误的是_。A) 条件覆盖的检错能力较判定覆盖强,但有时达不到判定覆盖的要求B) 判定覆盖包含了语句覆盖,但它可能会使一些条件得不
24、到测试C) 判定/条件覆盖包含了判定覆盖和条件覆盖的要求,实际上不一定达到覆盖的标准D) 凡满足条件组合覆盖标准的测试用例,也必然满足其他所有覆盖种类的覆盖标准(分数:2.00)A.B.C.D. 解析:解析 考查各种逻辑覆盖的关系。18.一个多用户的应用系统通常有用户管理功能,允许增加新的用户。用户信息一般包括用户名,假设规定用户名必须是以字母开头的、不超过 8 个字符的字母数字串,那么,下面哪组值均属于用户名的无效等价类A) 1i111111,Glenford Myers,1238123B) LinYie,Linfeng,空值,linyifeiC) linyifei,空值,Myers G,g
25、enfordD) linyifei,lintbn,a111111,genford(分数:2.00)A. B.C.D.解析:解析 考察黑盒测试中的等价类划分测试。19.以下关于面向对象软件测试的说法中,正确的是A) 对于一个类进行单元测试时,一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法B) 对于一个类进行单元测试时,一个测试用例只能调用在该类的父类中定义的方法,不能调用在该类中定义的方法C) 对于一个类进行单元测试时,一个测试用例既可以调用在该类的父类中定义的方法,也可以调用在该类中定义的方法D) 对于一个类进行单元测试时,由该类及其父类中定义的方法组成的任何一个序列
26、都是一个合理的测试用例(分数:2.00)A.B.C. D.解析:解析 由于集成和多态的使用,对子类的测试通常不能限定在子类中定义的成员变量和成员方法上,还需要考虑父类对子类的影响。20.软件缺陷类型或严重性的类型包括A) 软件系统崩溃、功能失效和容错性问题 B) 用户友好性C) 性能、文字错误和增强需求 D) 以上全部(分数:2.00)A.B.C.D. 解析:解析 软件缺陷可按软件缺陷类型或严重性进行统计,而软件缺陷类型或严重性可以分为软件系统崩溃、功能失效和容错性问题,用户友好性,性能、文字错误和增强需求等类型。21.软件测试过程可持续改进的根本是A) 度量 B) 把握需求C) 变更过程 D
27、) 度量与分析(分数:2.00)A.B.C.D. 解析:解析 在软件系统开发过程中,度量与分析体现的是“全过程”测试理念,对测试过程的度量有利于及时把握项目的情况等。因此,度量与分析是软件测试过程可持续改进的根本。22.白盒测试方法不包括A) 数据流测试 B) 控制流测试C) 随机测试 D) 符号求值(分数:2.00)A.B.C. D.解析:解析 随机测试属于黑盒测试方法。23.按照数据库应用系统生命周期模型,在开发某数据库应用系统时,对系统采用的软硬件及技术方案等作出合理的评估并提出选择建议的工作属于_。A) 规划与分析阶段的系统规划与定义B) 规划与分析阶段的可行性分析C) 需求分析阶段的
28、业务规则需求分析D) 系统设计阶段的总体设计(分数:2.00)A.B. C.D.解析:解析 技术可行性是根据用户提出的系统功能、性能及实现系统的各项约束条件,对系统软件、系统硬件、技术方案做出评估和选择建议,它属于规划与分析阶段的可行性分析。24.在极限测试过程中,贯穿始终的是A) 单元测试和集成测试 B) 单元测试和系统测试C) 集成测试和系统测试 D) 单元测试和验收测试(分数:2.00)A.B.C.D. 解析:解析 极限编程采用的是一种频繁迭代的开发方式,整个软件项目由一系列增量式开发组成。而极限测试本质上就是为了满足极限编程的思想和流程而设计的一套测试策略和流程,从极限测试流程图中,我
29、们可以看出,单元测试和验收测试是贯穿始终的关键步骤。其中单元测试是极限编程中最重要的发现缺陷的手段。二、论述题(总题数:2,分数:25.00)下图为对 4 个已知数字进行排序的程序流程图。(分数:4.00)(1).计算它的环路复杂度。(分数:2.00)_正确答案:(由程序流程图可以看出判定结点个数 P=6,所以,由环路复杂性算法可以得到 V(G)=6+1=7。)解析:(2).为完成基本路径测试,求它的一组独立路径。(分数:2.00)_正确答案:(由环路复杂度为 7,则可以得到 7 条相互独立的路径,它们分别是:Path1:1011319Path2:0231419Path3:02451519Pa
30、th4:024671619Path5:0246891719Path6:0246810111819Path7:02468101219)解析:以下是学生选课系统中“学生成绩查询”交互行为的描述,请仔细阅读程序并完成要求。交互开始时,终端上显示首页,用户选择“查询”请求后,显示“请输入学号”。在用户输入学号后,系统核对学生学号:若输入的学号不正确,则显示“输入的学号不正确”,此次查询取消,回到首页;若输入的学号正确看,则出现“请输入课程名称”。一旦输入课程名,就开始核对课程名称:若输入的课程名称不正确,则显示“输入的课程名称不正确”,此次查询取消,回到首页;若输入的课程名称正确,则根据“学号”和“课
31、程名”查询学生成绩。若查询学生成绩成功,则显示查询到得成绩,系统询问是否继续查询:当用户选择“继续查询”后回到“请输入学号”;当用户选择“结束查询“后回到首页。若查询失败,则显示“查询失败”后回到首页。(分数:21.00)(1).请画出该系统的控制流图。(分数:7.00)_正确答案:(控制流图如下图所示。)解析:(2).请给出该系统的基本路径集。(分数:7.00)_正确答案:(由控制流图可以看出,该图的 V(G)=5(区域数)所以有基本路径集共由 5 条路径组成。1-2-1-1-2-3-1-1-2-3-4-1-1-2-3-4-2-1-1-2-3-4-2-3-)解析:(3).请给出覆盖基本路径集的测试用例集合。(分数:7.00)_正确答案:(首页-输入错误学号-回首页;首页-输入正确学号-输入错误课程号-回首页;首页-输入正确学号-输入正确课程号-给出学生成绩-结束返回首页;首页-输入正确学号-输入正确课程号-给出学生成绩-继续输入学号-输入学号错误回首页;首页-输入正确学号-输入正确课程号-给出学生成绩-继续输入学号-输入课程号。)解析: