1、计算机四级软件测试工程师-99 及答案解析(总分:86.50,做题时间:90 分钟)一、选择题(总题数:23,分数:46.50)1.下面有关测试原则的说法中正确的是A) 测试用例应由测试的输入数据和预期的输出结果两部分组成B) 测试用例只需选取合理的输入数据C) 程序最好由编写该程序的程序员自己来测试D) 使用测试用例进行测试是为了检查程序是否做了它该做的事(分数:2.00)A.B.C.D.2.以下有关测试活动的描述中,错误的是A) 测试策划中的活动是确定测试范围、测试环境和制定测试计划B) 测试用例设计是测试设计与实现的主要内容C) 测试执行中可随时修订测试计划D) 测试总结的目的是对测试结
2、果进行分析,以确定软件产品质量的当前状态(分数:2.00)A.B.C.D.3.在软件开发的过程中,参与各个活动的评审和阶段的正式技术评审是软件质量保证实施活动步骤的_。A) 计划 B) 实施C) 检查 D) 行动(分数:2.50)A.B.C.D.4.在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等。其中_是最强的覆盖准则。A语句覆盖 B条件覆盖C判定/条件覆盖 D路径覆盖(分数:2.00)A.B.C.D.5.对采用迭代或增量开发过程模型开发的产品进行集成测试时最适合采用的集成策略是 _。A传统的集成测试策略 B基于使用的集成测试策略C基干集
3、成测试策略 D高频集成测试策略(分数:1.00)A.B.C.D.6.在代码检查中,负责提供关于检查项目的资料并回答检查人员问题的角色是_。A) 协调人B) 开发人员C) 检查人员D) 讲解员(分数:3.00)A.B.C.D.7.Web 应用软件的性能测试主要包括_。A) 并发测试 B) 负载测试和压力测试C) 配置测试和性能调优 D) 以上全部(分数:2.00)A.B.C.D.8.对测试用例全生命周期追踪和管理功能包括 _。A测试用例生成 B追踪测试的执行情况C测试记录的归档 D以上全部(分数:2.00)A.B.C.D.9.Web 应用软件的三层体系结构是:表示层、业务层和数据层。三者的位置依
4、次是 _。A客户端 服务器端 服务器端B客户端 客户端 服务器端C服务器端 客户端 服务器端D客户端 服务器端 客户端(分数:2.00)A.B.C.D.10.在面向对象软件的集成测试中,下列关于高频集成的叙述,不正确的是_。(A) 高频集成一般采用冒烟测试的方式(B) 高频集成不预测每个测试用例的预期效果,如果测试中未出现反常情况,就认为通过测试(C) 高频集成的优点:高效、可预测性、并行性、尽早查处错误、易进行错误定位但必须要桩模块(D) )高频集成的缺点:若测试包过于简单,可能难以发现问题;开始不能平稳集成;若没有建立适当标准可能会增加风险(分数:2.00)A.B.C.D.11.下列不属于
5、回归测试的目的是 _。A检验软件的修改达到了预定的目的B检验软件的修改不会影响软件的其他功能的正确性C检验改动不会带来不可预料的行为或者另外的错误D检验修改的测试用例是否完整(分数:2.00)A.B.C.D.12.针对下列程序段,需要_个测试用例才可以满足语句覆盖的要求。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.13.
6、一个多用户的应用系统通常有用户管理功能,允许增加新的用户。用户信息一般包括用户名,假设规定用户名必须是以字母开头的、不超过 8 个字符的字母数字串,那么,下而哪组值均属于用户名的无效等价类_。Ali111111, Glenford Myers, 1238123 BLin-Yie, Lin-feng, 空值, linyifeiClin-yifei, 空值, Myers G, genford Dlin-yifei, lin-fen, a111111, genford(分数:2.00)A.B.C.D.14.以下关于 Web 应用软件测试的说法中,正确的是_。A) 对 Web 应用软件进行性能测试时,
7、不需要进行压力测试B) 内容测试是 Web 应用软件易用性测试的一项重要内容C) Cookie 测试是 Web 应用软件功能测试的一项重要内容D) 是否存在无效链接是 Web 应用软件安全性测试关注的范畴(分数:2.00)A.B.C.D.15.依据GB/T 155322008 计算机软件测试规范软件测试应由相对独立的人员进行。以下选项中不属于测试负责人职责的是_。A) 管理监督测试项目或测试组B) 提供技术指导,负责项目的安全保密和质量管理C) 获取适当资源,技术协调D) 确定测试计划、测试内容(分数:2.00)A.B.C.D.16.应用服务器的功能之一是公共服务,下列服务中是所有应用服务器都
8、应提供的是A) 安全服务 B) 消息服务C) 日志服务 D) 邮件服务(分数:2.00)A.B.C.D.17.下列关于测试设计与开发的说法中,不正确的是_。(A) 软件测试设计与开发活动是软件测试过程中对技术要求比较高的关键阶段(B) 软件测试设计与开发主要包括测试技术方案的制订、测试用例设计(C) 测试用例特定集合的设计、测试开发和测试环境的设计都是软件测试设计与开发的范畴(D) 测试设计与开发活动对软件进行需求确定性估算(分数:2.00)A.B.C.D.18.失效回复测试(Recovery Testing),其目标是_。(A) 测试各种资源在超负荷的情况下的运行情况(B) 检测系统可以处理
9、目标内确定的数据容量(C) 度量系统的性能和预先定义的目标有多大差距(D) 验证系统从软件或者硬件失效中恢复的能力(分数:2.00)A.B.C.D.19.如果某段代码简明、易懂并且注释准确没有歧义,那么我们说此代码具备 _。A正确性 B清晰性C规范性 D一致性(分数:2.00)A.B.C.D.20.下列不属于面向对象集成测试策略的是 _。A不变式边界测试 B协作集成测试C大突击集成测试 D高频集成测试(分数:2.00)A.B.C.D.21.关于数据库应用系统的需求分析工作,下列说法正确的是_。A) 通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明B) 在需求分析阶段,系统需
10、求分析员要与用户充分沟通,并做出各类用户视图C) 数据需求分析的主要工作是要辨识出数据处理中的数据处理流程D) 数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标(分数:2.00)A.B.C.D.22.下列关于软件测试过程的几种抽象模型,说法正确的是 _。AH 模型指出软件测试具有独立性,只要某个测试达到准备就绪点,测试执行活动就可以开展BW 模型强调在整个项目开发中需要经历的不同测试级别,指明测试的对象是程序C软件测试过程与软件开发过程不同的是,它不必遵循软件工程原理DV 模型强调测试的对象不仅仅是程序,需求、设计等同样需要测试(分数:2.00)A.B.C.D.23.下列
11、不属于 Web 应用软件的特征的是_。A) 内容驱动 B) 开发周期短 C) 美观性要求较高 D) 安全性要求较低(分数:2.00)A.B.C.D.二、论述题(总题数:2,分数:40.00)24.以下是某软件项目规格说明,请按要求回答问题某一软件项目的规格说明:对于处于提交审批状态的单据,数据完整率达到 80%以上或已经过业务员确认,则进行处理。(1)请根据规格说明,画出对应的因果图。(2)采用基于因果图的方法为该软件项目设计测试用例。(分数:20.00)_论述题 3:已知 C 源程序如下:/*分数运算 fsys.c*/#includestdio.hint main()long int a,b
12、,c,d,i,x,y,z;char op;printf(“两分数 b/a,d/c 作+、-、*、/四则运算。结果为分数。/n“);printf(“请输入分数运算式:b/a op d/c/n“);scanf(“%ld/%ld%c%ld%ld“,if(a=0|c=0)printf(“分母为 0,输入错误!/n“);return(0);if(op=+)y=b*c+d*a;x=a*c; /*运算结果均为 y/x*/if(op=-)y=b*c-d*a;x=a*c;if(op=*)y=b*d;x=a*c;if(op=/)y=b*c;x=a*d;z=x;if(xy)z=y;i=z;while(i1)if(x
13、%i=0y=y/i;continue;i;printf(“%ld/%ld%c%ld/%ld=%ld/%ld./n“,b,a,op,d,c,y,x);return 0;(分数:20.00)(1).画出程序中 main 函数的控制流程图。(分数:10.00)_(2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到 100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到 100%,需说明为什么。(分数:10.00)_计算机四级软件测试工程师-99 答案解析(总分:86.50,做题时间:90 分钟)一、选择题(总题数:23,分数:46.50)1.下面有关测试原则的说法中正确的是A
14、) 测试用例应由测试的输入数据和预期的输出结果两部分组成B) 测试用例只需选取合理的输入数据C) 程序最好由编写该程序的程序员自己来测试D) 使用测试用例进行测试是为了检查程序是否做了它该做的事(分数:2.00)A. B.C.D.解析:解析 由测试原则第 3 条“程序员应避免测试自己的程序”和第 4 条“在设计测试用例时,应该包括合理的和不合理的输入条件”可知,B 和 C 显然不对。又由测试的目的是找错而不是证明程序正确可知,D 也不正确,所以排除法得选项 A 正确。2.以下有关测试活动的描述中,错误的是A) 测试策划中的活动是确定测试范围、测试环境和制定测试计划B) 测试用例设计是测试设计与
15、实现的主要内容C) 测试执行中可随时修订测试计划D) 测试总结的目的是对测试结果进行分析,以确定软件产品质量的当前状态(分数:2.00)A.B.C. D.解析:解析 在测试过程中,应严格执行测试计划。3.在软件开发的过程中,参与各个活动的评审和阶段的正式技术评审是软件质量保证实施活动步骤的_。A) 计划 B) 实施C) 检查 D) 行动(分数:2.50)A.B. C.D.解析:解析 软件质量保证活动的实施步骤:目标、计划、实施、检查、行动。4.在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等。其中_是最强的覆盖准则。A语句覆盖 B条件覆盖C
16、判定/条件覆盖 D路径覆盖(分数:2.00)A.B.C.D. 解析:解析 路径覆盖的目标就是让程序的所有可能执行的路径都执行一遍,所以可以覆盖到所有场景,是最强的覆盖准则。5.对采用迭代或增量开发过程模型开发的产品进行集成测试时最适合采用的集成策略是 _。A传统的集成测试策略 B基于使用的集成测试策略C基干集成测试策略 D高频集成测试策略(分数:1.00)A.B.C.D. 解析:解析 高频集成是指在软件开发过程中频繁地将新开发的代码与已有代码集成。最适用于采用迭代或增量开发过程模型开发的产品进行集成测试。6.在代码检查中,负责提供关于检查项目的资料并回答检查人员问题的角色是_。A) 协调人B)
17、 开发人员C) 检查人员D) 讲解员(分数:3.00)A.B. C.D.解析:解析 代码检查小组通常规模很小,是由设计、开发、质量等不同部门中工作性质相关的人员中与产品关系密切的那些人组成,一般人数为 47 人不等。小组人员的角色分配通常有:协调人员、开发人员、检查人员、讲解员、记录员。其中开发人员是检查项目的生产者,主要负责提供检查项目资料和回答检查人员问题;协调人员主持、引导代码检查的执行过程,全面负责代码检查的效果;讲解员负责在检查会议中讲解检查项目,引导小组对产品进行彻底检查;记录员负责会议期间在检查表上记录发现的每一个错误,同时也承担作为一般检查人员的任务。7.Web 应用软件的性能
18、测试主要包括_。A) 并发测试 B) 负载测试和压力测试C) 配置测试和性能调优 D) 以上全部(分数:2.00)A.B.C.D. 解析:解析 Web 应用软件的性能测试主要包括以下 3 个方面:并发测试;负载测试和压力测试;配置测试和性能调优。8.对测试用例全生命周期追踪和管理功能包括 _。A测试用例生成 B追踪测试的执行情况C测试记录的归档 D以上全部(分数:2.00)A.B.C.D. 解析:9.Web 应用软件的三层体系结构是:表示层、业务层和数据层。三者的位置依次是 _。A客户端 服务器端 服务器端B客户端 客户端 服务器端C服务器端 客户端 服务器端D客户端 服务器端 客户端(分数:
19、2.00)A. B.C.D.解析:10.在面向对象软件的集成测试中,下列关于高频集成的叙述,不正确的是_。(A) 高频集成一般采用冒烟测试的方式(B) 高频集成不预测每个测试用例的预期效果,如果测试中未出现反常情况,就认为通过测试(C) 高频集成的优点:高效、可预测性、并行性、尽早查处错误、易进行错误定位但必须要桩模块(D) )高频集成的缺点:若测试包过于简单,可能难以发现问题;开始不能平稳集成;若没有建立适当标准可能会增加风险(分数:2.00)A.B.C. D.解析:11.下列不属于回归测试的目的是 _。A检验软件的修改达到了预定的目的B检验软件的修改不会影响软件的其他功能的正确性C检验改动
20、不会带来不可预料的行为或者另外的错误D检验修改的测试用例是否完整(分数:2.00)A.B.C.D. 解析:12.针对下列程序段,需要_个测试用例才可以满足语句覆盖的要求。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.解析:解析 语句覆盖是指选择足够多的测试数据,使被测程序中的每条语句至少执行一次。0、1、2、3 一共 4
21、 条语句即可,因为在执行 2、3 时无 break,所以 default 语句也将被执行。13.一个多用户的应用系统通常有用户管理功能,允许增加新的用户。用户信息一般包括用户名,假设规定用户名必须是以字母开头的、不超过 8 个字符的字母数字串,那么,下而哪组值均属于用户名的无效等价类_。Ali111111, Glenford Myers, 1238123 BLin-Yie, Lin-feng, 空值, linyifeiClin-yifei, 空值, Myers G, genford Dlin-yifei, lin-fen, a111111, genford(分数:2.00)A. B.C.D.解
22、析:解析 考查黑盒测试中的等价类划分测试。14.以下关于 Web 应用软件测试的说法中,正确的是_。A) 对 Web 应用软件进行性能测试时,不需要进行压力测试B) 内容测试是 Web 应用软件易用性测试的一项重要内容C) Cookie 测试是 Web 应用软件功能测试的一项重要内容D) 是否存在无效链接是 Web 应用软件安全性测试关注的范畴(分数:2.00)A.B.C. D.解析:解析 对 Web 应用软件进行性能测试主要包括三个方面:并发测试、负载测试和压力测试、配置测试和性能调优。A 说法错误。内容测试不属于易用性测试范畴,B 说法错误。Cookie 测试是 Web 应用软件功能测试的
23、一项重要内容,C 正确。是否存在无效链接是 Web 应用软件功能测试关注的范畴,D 错误。15.依据GB/T 155322008 计算机软件测试规范软件测试应由相对独立的人员进行。以下选项中不属于测试负责人职责的是_。A) 管理监督测试项目或测试组B) 提供技术指导,负责项目的安全保密和质量管理C) 获取适当资源,技术协调D) 确定测试计划、测试内容(分数:2.00)A.B.C.D. 解析:解析 目前业界通用的做法是单元测试由开发团队执行,而集成和系统测试用例则由专门的测试团队进行。其团队成员包含测试负责人、测试分析员、测试设计员、测试程序员、测试员、测试系统管理员、配置管理员。其中测试负责人
24、的具体职责为:管理监督测试项目或测试组,提供技术指导,获取适当的资源,技术协调,负责项目的安全保密和质量管理。16.应用服务器的功能之一是公共服务,下列服务中是所有应用服务器都应提供的是A) 安全服务 B) 消息服务C) 日志服务 D) 邮件服务(分数:2.00)A. B.C.D.解析:17.下列关于测试设计与开发的说法中,不正确的是_。(A) 软件测试设计与开发活动是软件测试过程中对技术要求比较高的关键阶段(B) 软件测试设计与开发主要包括测试技术方案的制订、测试用例设计(C) 测试用例特定集合的设计、测试开发和测试环境的设计都是软件测试设计与开发的范畴(D) 测试设计与开发活动对软件进行需
25、求确定性估算(分数:2.00)A.B.C.D. 解析:18.失效回复测试(Recovery Testing),其目标是_。(A) 测试各种资源在超负荷的情况下的运行情况(B) 检测系统可以处理目标内确定的数据容量(C) 度量系统的性能和预先定义的目标有多大差距(D) 验证系统从软件或者硬件失效中恢复的能力(分数:2.00)A.B.C.D. 解析:19.如果某段代码简明、易懂并且注释准确没有歧义,那么我们说此代码具备 _。A正确性 B清晰性C规范性 D一致性(分数:2.00)A.B. C.D.解析:20.下列不属于面向对象集成测试策略的是 _。A不变式边界测试 B协作集成测试C大突击集成测试 D
26、高频集成测试(分数:2.00)A. B.C.D.解析:21.关于数据库应用系统的需求分析工作,下列说法正确的是_。A) 通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明B) 在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图C) 数据需求分析的主要工作是要辨识出数据处理中的数据处理流程D) 数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标(分数:2.00)A.B.C.D. 解析:22.下列关于软件测试过程的几种抽象模型,说法正确的是 _。AH 模型指出软件测试具有独立性,只要某个测试达到准备就绪点,测试执行活动就可以开展BW 模型强调在
27、整个项目开发中需要经历的不同测试级别,指明测试的对象是程序C软件测试过程与软件开发过程不同的是,它不必遵循软件工程原理DV 模型强调测试的对象不仅仅是程序,需求、设计等同样需要测试(分数:2.00)A. B.C.D.解析:解析 软件测试过程体现了软件测试的流程和方法,与软件开发过程一样,都遵循软件工程原理,遵循管理学原理,故选项 C 不正确。V 模型反映出测试活动与分析设计活动的关系,强调了在整个项目开发过程中需要经历的不同测试级别,忽视了测试的对象不应该仅仅是程序,W 模型是对 V 模型进行了补充,明确指出:测试的对象不仅仅是程序,需求、设计等同样需要进行测试,H 模型指出软件测试是一个独立
28、的流程,只要某个测试达到准备就绪点,测试执行活动就可以开展,软件测试贯穿于产品的整个生命周期,与其他流程可以并发进行。23.下列不属于 Web 应用软件的特征的是_。A) 内容驱动 B) 开发周期短 C) 美观性要求较高 D) 安全性要求较低(分数:2.00)A.B.C.D. 解析:解析 Web 应用软件与其他的应用软件有较大的差别,其特点有:基于无连接协议;内容驱动;开发周期短;演化频繁;安全性要求较高;美观性要求较高。二、论述题(总题数:2,分数:40.00)24.以下是某软件项目规格说明,请按要求回答问题某一软件项目的规格说明:对于处于提交审批状态的单据,数据完整率达到 80%以上或已经
29、过业务员确认,则进行处理。(1)请根据规格说明,画出对应的因果图。(2)采用基于因果图的方法为该软件项目设计测试用例。(分数:20.00)_正确答案:(首先根据规格说明,列出所有可能的输入和输出,得到如下结果: 输入:处于提交状态、数据完整率达到 80%以上、已经过业务员确认。 输出:处理或不处理。找出所有输入与输出的关系,通过分析,得到以下的对应关系: 如果单据处于提交审批状态且数据完整率达到 80%以上,别处理; 如果单据不处于提交审批状态,则不处理; 如果单据处于提交审批状态,数据完整率未达到 80%以上,但已经过业务员确认,则处理。下面列出所有的原因和结果,并进行编号,根据上面分析的关
30、系,画出因果图,如图所示。原因:1:处于提交状态2:数据完整率未达到 80%以上3:已经过业务员确认结果:21:处理22:不处理)解析:解析 首先根据程序的规格说明,根据所有可能的输入和输出条件,找出所有的原因和结果以及二者之间的关系,画出因果图。然后基于因果图的方法设计测试用例。论述题 3:已知 C 源程序如下:/*分数运算 fsys.c*/#includestdio.hint main()long int a,b,c,d,i,x,y,z;char op;printf(“两分数 b/a,d/c 作+、-、*、/四则运算。结果为分数。/n“);printf(“请输入分数运算式:b/a op d
31、/c/n“);scanf(“%ld/%ld%c%ld%ld“,if(a=0|c=0)printf(“分母为 0,输入错误!/n“);return(0);if(op=+)y=b*c+d*a;x=a*c; /*运算结果均为 y/x*/if(op=-)y=b*c-d*a;x=a*c;if(op=*)y=b*d;x=a*c;if(op=/)y=b*c;x=a*d;z=x;if(xy)z=y;i=z;while(i1)if(x%i=0y=y/i;continue;i;printf(“%ld/%ld%c%ld/%ld=%ld/%ld./n“,b,a,op,d,c,y,x);return 0;(分数:20.
32、00)(1).画出程序中 main 函数的控制流程图。(分数:10.00)_正确答案:(main 函数的控制流程图:)解析:(2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到 100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到 100%,需说明为什么。(分数:10.00)_正确答案:(测试用例:用例 1:输入:2/0+3/1;输出;分母为 0,输入错误!返回;用例 2:输入:2/1+3/0;输出:分母为 0,输入错误!返回;用例 3:输入:2/1+3/1;输出:2/1+3/1=5/1;正常;返回;用例 4:输入:3/1-2/1;输出:3/1-2/1=1/1;正常;返回;用例 5;输入:3/1*2/1,输出:3/1*2/1=6/1;正常;返回;用例 6:输入:3/1/2/1;输出:3/1/2/1=3/2;正常;返回;用例 7:输入:1/5+3/5;输出:1/5+3/5=4/5;正常,返回;用例 8:输入:2/8+6/8;输出:2/8+6/8=1/1;正常;返回;结论:利用上面的测试用例,即可使该程序的语句覆盖率或分支覆盖率达到 100%。)解析: