1、计算机四级软件测试工程师-95 及答案解析(总分:91.00,做题时间:90 分钟)一、选择题(总题数:25,分数:51.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.下列选项中不属于覆盖率对软件测试作用的是_。A) 得知测试是否充分B) 协助找出代码中的语法错误C) 指导设计能够增加覆盖率的测试用例D) 了解测试的弱点在哪里(分数:2.00)A.B.C.D.6.不需要运行程序,通过收集有关代码的结构信息来对程序进行的测试是_。A) 性能测试 B) 黑盒测试 C) 白盒测试 D) 静态分析(分数:2.00)A.B.C.D.7.软件测试工具分为 _。A静态测试工具 B动态测试工具C其他支持测试活动的测试工具 D以上全部(分数:2.00)A.
3、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.极限编程的主要特点有_。A) 简单的分析设计 B) 频繁的客户交流C) 增量式开发和连续的测试 D) 以上全是(分数:2.00)A.B.C.D.11.在北
4、京某个银行的人事信息管理软件中,系统允许用户输入人员的身份证号和进入本单位工作的日期。那么,下面哪一组是无效的输入值组合 _。A110108196111111321,1981.1.1B110108198111111322,1981.1.1C110108196810121323,2005.1.1D1101081012132,2005.1.1(分数:2.00)A.B.C.D.12.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试 _。A结构合理性 B软件外部功能C程序的内部逻辑 D程序正确性(分数:2.00)A.B.C.D.13.设有一段程序:if(A1)and
5、(b=0) X=X/A;else if(A=2)or(X1) X=X+1;满足条件/判定覆盖的要求下,最少的测试用例数目是A) 3 个 B) 4 个C) 6 个 D) 8 个(分数:2.00)A.B.C.D.14.软件测试活动主要包括_。(A) 测试设计与开发(B) 测试执行(C) A)B)C 都是(D) 测试总结(分数:2.00)A.B.C.D.15.以下关于软件性能测试的说法中,正确的是A) 软件性能测试的主要目的是检验软件是否能充分发挥硬件的潜能B) 软件性能测试通常采用数据流测试技术生成测试用例C) 软件性能测试实际上是一种软件可靠性测试D) 软件性能测试的实施通常需要依赖性能测试辅助
6、软件(分数:2.00)A.B.C.D.16.针对程序段 if(x10)and(y20) then w=w/a,对于(x,y)的取值,以下哪组测试用例能够满足判定覆盖的要求_。(A) (30,15),(40,10)(B) (3,0),(30,30)(C) (5,25),(10,20)(D) (20,10),(1,100)(分数:2.00)A.B.C.D.17.由于面向对象软件中可独立被测试的单元通常是一个类族或最小是一个独立的类,所以面向对象的单元测试可以分为几个层次,下列不在其分层内的选项为_。A) 方法层次的测试 B) 类层次的测试 C) 类树层次的测试 D) 系统层次的测试(分数:2.00
7、)A.B.C.D.18.针对下列程序段,需要_个测试用例才可以满足语句覆盖的要求。Switch(value)Case 0: Other=30;Break;Case 1: Other=50;Break;Case 2:Other=300;Case 3:Other=other/value;Break;Default:Other=other*value;A2 B3 C4 D5(分数:2.00)A.B.C.D.19.软件问题报告管理的核心功能是A) 对软件问题报告的分类存储B) 软件问题报告生命周期状态转换控制C) 软件问题报告生命周期跟踪机制D) 以上全部(分数:2.00)A.B.C.D.20.下列选
8、项中,评审方法是按照正式化程度逐渐增强排列的是_。A) 临时评审、轮查、结对评审、走查、正式审查B) 临时评审、走查、结对评审、轮查、正式评审C) 临时评审、走查、小组评审、结对评审、正式评审D) 正式评审、小组评审、走杏、结对评审、临时评审(分数:2.00)A.B.C.D.21.软件规划阶段实际上指的是 _。A需求获取和定义阶段 B数据获取和定义阶段C测试用例设计规划阶段 D产品实施规划(分数:2.00)A.B.C.D.22.关于软件可靠性测试的目的,下列说法错误的是_。A) 通过受控的软件测试过程来实现B) 预测软件在实际运行中的可靠性C) 不通过测试揭示该软件缺陷D) 通过修改缺陷来提高
9、软件的可靠性(分数:2.00)A.B.C.D.23.下列选项中,_不是系统测试的对象。A接口 B硬件 C数据 D设计(分数:2.00)A.B.C.D.24.之所以要对已交付使用的软件进行维护,原因是_。()为了增强软件的功能,满足功能上的变更()运行中发现了软件中的错误需要更正()为了适应软件工作环境变化而引起的相应改变A) ()B) ()和()C) ()和()D) ()和()和()(分数:3.00)A.B.C.D.25.以下关于软件集成测试策略的说法中,错误的是_。A三明治集成先集成中间层,然后集成上下层B基于功能的集成按照功能的关键程度组织模块的集成顺序C基于调用图的集成使用实际代码代替驱
10、动模块和桩模块DMM-路径集成是功能集成和结构性集成的混合(分数:2.00)A.B.C.D.二、论述题(总题数:2,分数:40.00)以下是某 C 程序段,其功能为计算 1 到所输入数字的逐步累加和,请仔细阅读程序并完成要求。#include int sum(int n )int i,ret_sum;ret_sum = 0;for ( i = 1; i = n; i+ )ret_sum += i;return ret_sum;void main()int j,n;printf(“/1: Please input value here = “);scanf(“%d“,for ( j = 1; j
11、 = n; j+ )printf(“/2: from 1 to %d is %d/n“,j,sum(j);(分数:16.00)(1).画出此程序各函数的控制流程图。(分数:8.00)_(2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到 100%。如果认为该程序的语句或分支覆盖率无法达到 100%,需说明为什么。(分数:8.00)_以下是 QESuite Web Version 1.0 操作手册的部分内容,请按要求回答问题。(分数:24.00)(1).下图是 QESuite Web Version 1.0 中问题报告的管理过程。请给出各状态的详细描述。(分数:12.00)
12、_(2).请给出校验一个问题报告的操作步骤。*(分数:12.00)_计算机四级软件测试工程师-95 答案解析(总分:91.00,做题时间:90 分钟)一、选择题(总题数:25,分数:51.00)1.在需求获取与定义阶段就开始建立,以后要不断地细化和完善的文档是A) 用户手册 B) 测试计划手册C) 内部设计规格说明 D) 外部设计规格说明(分数:2.00)A. B.C.D.解析:解析 软件的外部设计是从用户的角度对产品进行描述的,外部设计规格说明是在外部设计期间产生的文档。用户手册是另一种文档,与外部设计规格说明不同,它是需求获取与定义阶段就开始建立,以后要不断地细化和完善的文档。2.同行评审
13、主要包括管理评审、技术评审、过程评审和A) 需求评审 B) 文档评审 C) 质量评审 D) 风险评审(分数:2.00)A.B. C.D.解析:解析 同行评审设计的内容很多,主要分为管理评审、技术评审、文档评审和过程评审。B 项正确。3.在结构化测试用例中,最强的覆盖准则是A) 判定覆盖 B) 语句覆盖C) 路径覆盖 D) 条件覆盖(分数:2.00)A.B.C. D.解析:解析 结构化测试中有语句覆盖、条件覆盖、判定覆盖(也称分支覆盖)、路径覆盖等,其中路径覆盖是最强的覆盖准则。4.下列不属于接口分析必须关注的是A) 服务器接口 B) 用户接口C) 硬件接口 D) 软件接口(分数:2.00)A.
14、 B.C.D.解析:解析 接口分析的目的是评估软件交付物(包括需求、设计、编码)是否正确、一致、完整和准确地说明了接口需求。接口分析必须关注的有三种接口,分别是用户接口、硬件接口和软件接口。5.下列选项中不属于覆盖率对软件测试作用的是_。A) 得知测试是否充分B) 协助找出代码中的语法错误C) 指导设计能够增加覆盖率的测试用例D) 了解测试的弱点在哪里(分数:2.00)A.B. C.D.解析:解析 覆盖率是反映代码被测试程度的一种指标,不是一种测试结果,因此无法协助找出代码中的语法错误。代码中的语法错误一般在程序编译阶段就已经由编译器检查出来,并需要得到修正后代码才能正确编译。6.不需要运行程
15、序,通过收集有关代码的结构信息来对程序进行的测试是_。A) 性能测试 B) 黑盒测试 C) 白盒测试 D) 静态分析(分数:2.00)A.B.C.D. 解析:解析 软件测试的分类方法比较多,针对测试时是否要运行程序分为静态测试和动态测试,其中静态测试也称静态分析,是不必运行程序目的仅仅是收集程序代码的结构信息而不用查错,相反动态测试则是要执行程序,查出程序的错误非单纯收集代码结构信息。针对测试人员是否要清楚程序的内部逻辑,将测试分为白盒测试和黑盒测试,同时这两种测试方法都要对程序进行查错,从这一角度,白盒测试和黑盒测试都应属于动态测试。由此选项 D 静态分析最恰当。7.软件测试工具分为 _。A
16、静态测试工具 B动态测试工具C其他支持测试活动的测试工具 D以上全部(分数:2.00)A.B.C.D. 解析:8.下列各项中,不属于软件功能易用性测试关注的内容的是A) 软件是否能帮助用户减少重复的输入劳动B) 软件是否能在耗时较长的操作期间提供反馈C) 软件是否允许用户针对自己的使用习惯进行定制D) 软件界面中文字显示的风格(分数:2.00)A.B.C.D. 解析:解析 功能易用性是指用户能否方便、快速、准确地使用软件提供的功能来完成需要完成的任务。一般功能易用性测试涉及面很广,其主要内容有:业务符合度、功能定制性、功能的关联度、数据的共享度、用户约束的合理度和反馈及时度。9.在静态分析中,
17、提供整个项目中的所有函数之间的调用关系图属于A) 程序结构分析 B) 可视化分析C) 程序数据流分析 D) 程序执行频度分析(分数:2.00)A. B.C.D.解析:解析 程序数据流分析主要指静态分析全局变量和局部变量的声明、赋值和使用的位置,动态跟踪变量值的编号情况;可视化分析是针对面向对象的软件,提供整个项目中的所有类之间的关系图;程序执行频度分析是统计所有条件分支、多出口跳转、多出口调用的各分支、出口执行关系图。故只有 A 选项符合要求。10.极限编程的主要特点有_。A) 简单的分析设计 B) 频繁的客户交流C) 增量式开发和连续的测试 D) 以上全是(分数:2.00)A.B.C.D.
18、解析:解析 极限编程,只经过简单的分析和设计就进入到编码阶段,而在编码过程中强调对已有代码的测试和开发人员与客户的交互。相对传统的软件开发方法,极限编程有很多主要特点,主要包括:简单的分析设计,频繁的客户交流,采用增量式开发方式,进行连续的测试。11.在北京某个银行的人事信息管理软件中,系统允许用户输入人员的身份证号和进入本单位工作的日期。那么,下面哪一组是无效的输入值组合 _。A110108196111111321,1981.1.1B110108198111111322,1981.1.1C110108196810121323,2005.1.1D1101081012132,2005.1.1(分
19、数:2.00)A.B. C.D.解析:12.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试 _。A结构合理性 B软件外部功能C程序的内部逻辑 D程序正确性(分数:2.00)A.B. C.D.解析:解析 黑盒测试主要用于测试软件的外部功能。13.设有一段程序:if(A1)and(b=0) X=X/A;else if(A=2)or(X1) X=X+1;满足条件/判定覆盖的要求下,最少的测试用例数目是A) 3 个 B) 4 个C) 6 个 D) 8 个(分数:2.00)A. B.C.D.解析:解析 条件/判定覆盖就是设计足够的测试用例,使得判定语句中每个条件的所
20、有可能取值至少评价一次,本程序只需 3 个测试用例便可覆盖 8 个条件取值及 4 个判断分支。14.软件测试活动主要包括_。(A) 测试设计与开发(B) 测试执行(C) A)B)C 都是(D) 测试总结(分数:2.00)A.B.C. D.解析:15.以下关于软件性能测试的说法中,正确的是A) 软件性能测试的主要目的是检验软件是否能充分发挥硬件的潜能B) 软件性能测试通常采用数据流测试技术生成测试用例C) 软件性能测试实际上是一种软件可靠性测试D) 软件性能测试的实施通常需要依赖性能测试辅助软件(分数:2.00)A.B.C.D. 解析:解析 软件性能测试的目标是发现缺陷、性能调优、能力检验与规划
21、。软件性能测试和可靠性测试是同一级别的测试。16.针对程序段 if(x10)and(y20) then w=w/a,对于(x,y)的取值,以下哪组测试用例能够满足判定覆盖的要求_。(A) (30,15),(40,10)(B) (3,0),(30,30)(C) (5,25),(10,20)(D) (20,10),(1,100)(分数:2.00)A.B.C.D. 解析:17.由于面向对象软件中可独立被测试的单元通常是一个类族或最小是一个独立的类,所以面向对象的单元测试可以分为几个层次,下列不在其分层内的选项为_。A) 方法层次的测试 B) 类层次的测试 C) 类树层次的测试 D) 系统层次的测试(
22、分数:2.00)A.B.C.D. 解析:解析 方法层次的测试、类层次的测试、类树层次的测试是面向对象的单元测试的分层内容。系统测试的概念是在面向过程的软件测试中提到的。所以这里 D 选项是错误的。18.针对下列程序段,需要_个测试用例才可以满足语句覆盖的要求。Switch(value)Case 0: Other=30;Break;Case 1: Other=50;Break;Case 2:Other=300;Case 3:Other=other/value;Break;Default:Other=other*value;A2 B3 C4 D5(分数:2.00)A.B.C. D.解析:解析 语句
23、覆盖是指选择足够多的测试数据,使被测程序中的每条语句至少执行一次。0、1、2、3 一共 4 条语句即可,因为在执行 2、3 时无 break,所以 default 语句也将被执行。19.软件问题报告管理的核心功能是A) 对软件问题报告的分类存储B) 软件问题报告生命周期状态转换控制C) 软件问题报告生命周期跟踪机制D) 以上全部(分数:2.00)A.B.C.D. 解析:解析 测试问题报告管理的核心功能是对软件问题报告的分类存储、软件问题报告生命周期状态转换控制和软件问题报告生命周期跟踪机制。20.下列选项中,评审方法是按照正式化程度逐渐增强排列的是_。A) 临时评审、轮查、结对评审、走查、正式
24、审查B) 临时评审、走查、结对评审、轮查、正式评审C) 临时评审、走查、小组评审、结对评审、正式评审D) 正式评审、小组评审、走杏、结对评审、临时评审(分数:2.00)A. B.C.D.解析:解析 同行评审方法很多,基于正式化程度不同或其规则和灵活程度不同,可将同行评审进行分类。根据正式化程度不同,从非正式到十分严格依次为:临时评审、轮查、结对评审、走查、小组评审、正式审查。21.软件规划阶段实际上指的是 _。A需求获取和定义阶段 B数据获取和定义阶段C测试用例设计规划阶段 D产品实施规划(分数:2.00)A. B.C.D.解析:解析 规划阶段的测试实际上就是对需求获取和定义阶段进行的测试,产
25、品规划小组应由系统分析员、销售人员和市场营销人员以及产品经理等组成,他们对产品进行定义,制作演示模型,以阐明他们的构想。规划人员目的是编写文档来知道将来的开发工作。22.关于软件可靠性测试的目的,下列说法错误的是_。A) 通过受控的软件测试过程来实现B) 预测软件在实际运行中的可靠性C) 不通过测试揭示该软件缺陷D) 通过修改缺陷来提高软件的可靠性(分数:2.00)A.B.C.D. 解析:解析 软件的可靠性测试目的:通过受控的软件测试过程来预测软件在实际运行中的可靠性,而不是通过测试来揭示软件缺陷并通过修改缺陷来提高软件的可靠性。23.下列选项中,_不是系统测试的对象。A接口 B硬件 C数据
26、D设计(分数:2.00)A.B.C.D. 解析:解析 系统测试的对象不仅包括需要测试的产品系统的软件,还包括软件所依赖的硬件、外设甚至某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。24.之所以要对已交付使用的软件进行维护,原因是_。()为了增强软件的功能,满足功能上的变更()运行中发现了软件中的错误需要更正()为了适应软件工作环境变化而引起的相应改变A) ()B) ()和()C) ()和()D) ()和()和()(分数:3.00)A.B.C.D. 解析:解析 对于已交付的软件投入正常使用,就进入运行阶段,这一阶段可能持续若干
27、年甚至几十年。但软件在运行过程中往往可能会因为多方面的原因导致需要对该软件进行修改,这一修改过程便是软件的维护。其主要原因可能为以下几点:软件在运行中发现了软件本身存在的错误需要修正;为了适应变化了的软件工作环境;为了满足用户需求要增强软件的功能而需做变更。25.以下关于软件集成测试策略的说法中,错误的是_。A三明治集成先集成中间层,然后集成上下层B基于功能的集成按照功能的关键程度组织模块的集成顺序C基于调用图的集成使用实际代码代替驱动模块和桩模块DMM-路径集成是功能集成和结构性集成的混合(分数:2.00)A. B.C.D.解析:解析 三明治集成先对中间层(目标层)上面的一层使用自顶向下的集
28、成策略,对中间层下面的一层使用自底向上的集成策略,最后在中间层会合,选项 A 错误。基于功能的集成策略是从软件功能角度出发,按照功能的关键程度组织模块的集成顺序,选项 B 正确。基于调用图的集成使用实际代码来代替驱动模块和桩模块,可以大大减轻驱动模块和桩模块开发的工作量,选项 C 正确。MM-路径在表达输入和输出行动上是功能性的,而 MM-路径的标识方法是结构性的,因此 MM-路径集成是功能性集成和结构性集成的混合,选项 D 正确。二、论述题(总题数:2,分数:40.00)以下是某 C 程序段,其功能为计算 1 到所输入数字的逐步累加和,请仔细阅读程序并完成要求。#include int su
29、m(int n )int i,ret_sum;ret_sum = 0;for ( i = 1; i = n; i+ )ret_sum += i;return ret_sum;void main()int j,n;printf(“/1: Please input value here = “);scanf(“%d“,for ( j = 1; j = n; j+ )printf(“/2: from 1 to %d is %d/n“,j,sum(j);(分数:16.00)(1).画出此程序各函数的控制流程图。(分数:8.00)_正确答案:(函数 int sum(int n)和主函数的控制流程图如下图
30、所示。)解析:(2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到 100%。如果认为该程序的语句或分支覆盖率无法达到 100%,需说明为什么。(分数:8.00)_正确答案:(所谓语句覆盖和分支覆盖都达到 100%的覆盖率,就是要设计测试用例,使其满足所有分支情况,由于此程序射界较为简单,只要 n1 就可以满足所有分支覆盖标准。所以测试用例设计为 n=128.)解析:以下是 QESuite Web Version 1.0 操作手册的部分内容,请按要求回答问题。(分数:24.00)(1).下图是 QESuite Web Version 1.0 中问题报告的管理过程。请给出各
31、状态的详细描述。(分数:12.00)_正确答案:(QESuite Web Verslon 1.0 中的软件问题生命周期定义:新建测试中新报告的软件问题;打开软件问题已被确认并分配给相关开发工程师处理;关闭确认为无效的软件问题;待验工程师已完成修正,等待测试人员验证;解决软件问题已被修复。)解析:(2).请给出校验一个问题报告的操作步骤。*(分数:12.00)_正确答案:(校验问题报告。对于状态为“新建”的问题报告,可以由测试人员进行校验以确保它们的合法性。一个有效的问题报告应该是:开发本产品所引出的问题,一个可再现的问题,且不与其他问题报告重复。通过校验操作,质保人员可以将问题报告的状态由“新建”变为“打开”。或者在不改变问题报告状态的前提下,要求问题报告的作者提供更多信息。步骤:在问题报告列表中,打开需要校验的新建问题报告(注意:只能校验那些状态为“新建”的问题报告)。在查看问题报告页面中选择“校验”按钮。在校验窗口中,从子状态下拉列表中进行选择。可供选择的项有:再现、需要更多信息。如果选择“再现”作为子状态,问题报告的状态将变为“打开”;如果选择“需要更多信息”作为子状态,问题报告的状态将变为“新建/需要更多信息”。选择确认按钮保存并退出。)解析: