全国计算机等级考试四级软件测试工程师笔试样卷

2012年09月17日 测试技术, 测试综合, 软件测试 ⁄ 共 4483字 ⁄ 字号 暂无评论 ⁄ 阅读 2,961 次

全国计算机等级考试四级软件测试工程师笔试样卷

一、选择题(每小题2分,共50分)

下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

1.20世纪,70年代,1979年Glenford Myers出版的《the Art of Software Testing》一书出了介绍众多的测试经典方法之外,还向人们揭示了测试的目的是___B_____。

(A)证真,而非证伪 (B)证伪,而非证真

(C)证真,且证伪 (D)验证程序的正确性

2.测试时软件生存期中费用消耗最大的环节,能够决定需要做多少测试的影响因素有___D_____。

(A)系统的目标和信息的价值

(B)开发组织和测试的时机

(C)潜在的用户数量

(D)以上全部

3.软件生存周期的正确顺序是__D_____。

(A)软件设计、系统与软件需求定义、制定计划、编码和单元测试、集成和系统测试、运行和维护

(B)系统与软件需求定义、软件设计、制定计划、编码和单元测试、集成和系统测试、运行和维护

(C)制定计划、软件设计、系统与软件需求定义、编码和单元测试、集成和系统测试、运行和维护

(D)制定计划、系统与软件需求定义、软件设计、编码和单元测试、集成和系统测试、运行和维护

4.白盒测试最常用的一种测试用例技术为___A_____。

(A)逻辑覆盖 (B)等价分类法

(C)错误猜测法 (D)使用综合测试策略

5.下列逻辑覆盖测试中,最强的是__C______。

(A)语句覆盖 (B)条件覆盖

(C)路径覆盖 (D)条件组合覆盖

6.如果一个判定中的复合条件表达式为(A>1)or(B<=3),则为了达到100%的判定覆盖率,至少需要设计____B____个测试用例。

(A)1个 (B)2个

(C)3个 (D)4个

7.下列选项中不属于覆盖率对软件测试作用的是___B_____。

(A)得知测试是否充分

(B)协助找出代码中的语法错误

(C)指导设计能够增加覆盖率的测试用例

(D)了解测试的弱点在哪里

8.下图所示的多情况分支型流程图,采用路径覆盖法进行测试,则至少需要几个测试用例可以覆盖所有可能的路径____D____。

(A)n/2 (B)2n

(C)n (D)n+1

9.软件测试首先进行的测试是____B____。

(A)集成测试 (B)单元测试

(C)系统测试 (D)验收测试

10.用于代替被测模块调用的子模块的模块被称作___A_____。

(A)桩模块 (B)数据模块

(C)接口模块 (D)驱动模块

11.安全性测试,其目标是__B_____。

(A)测试各种资源在超负荷的情况下的运行情况

(B)系统的保护机制能否抵御入侵者的攻击

(C)度量系统的性能和预先定义的目标有多大差距

(D)验证系统从软件或者硬件失效中恢复的能力

12.软件可靠性预测的目的是_____A__。

(A)根据软件在可靠性与测试揭示的故障情况来预测软件在正在运行时的故障和实效情况

(B)通过受控的软件测试过程来预测软件在实际运行中的可靠性

(C)通过软件测试揭示软件缺陷并通过修改缺陷来提高软件可靠性

(D)关注可能导致失效的事件及其实效概率,并计算出各种事件组合导致失效的概率

13.关于做好系统测试的原则,下列说法中错误的是___A_____。

(A)所有的测试都应追溯到总体设计

(B)在测试工作真正开始之前,尽早开始测试计划

(C)Pareto原则应用于软件测试

(D)系统缺陷应记入文档

14.关于面向对象软件开发过程和测试过程的说法,不正确的是___D_____。

(A)面向对象的软件开发过程通常是一个迭代与渐进的过程

(B)面向对象的软件测试过程通常是一个迭代与渐进的过程

(C)测试活动之间是一系列相关测试任务的集合,时间上并不一定是连贯的。

(D)测试活动之间是首尾相接的而非穿插交错的

15.由于面向对象软件中可独立被测试的单元通常是一个类族或最小是一个独立的类,所以面向对象的单元测试可以分为几个层次,其中方法层次的测试中常用的测试技术有 __C______。

(1)等价类划分测试

(2)组合功能测试

(3)递归函数测试

(4)多态消息测试

(5)不变式边界测试

(6)模态类测试

(7)非模态类测试

(8)多态服务测试

(9)展平测试

(A)(2)(4)(6)(8)

(B)(2)(4)(5)(6)

(C)(1)(2)(3)(4)

(D)(5)(6)(7)

16.在面向对象软件的集成测试中,高频集成有三个主要步骤,其正确顺序是___C_____。

(1)开发人员完成要提供大骂的增量构件,同时测试人员完成相关的测试包

(2)评价结果

(3)集成测试人员将开发人员新增或修改的构件集中起来形成一个新的集成体

(A)(1)(2)(3)

(B)(2)(1)(3)

(C)(1)(3)(2)

(D)(3)(1)(2)

17.下列选项当中,不是应用服务器的主要功能的是____D____。

(A)构建运行环境 (B)公共服务

(C)互操作机制 (D)内容驱动

18.Web应用软件的安全性主要通过以下哪个手段实现_B___。

(A)安全管理控制 (B)接口检测

(C)漏洞扫描 (D)安全策略

19.下列不属于兼容性测试考虑的范畴的为___D_____。

(A)硬件兼容性 (B)软件兼容性

(C)数据兼容性 (D)操作兼容性

20.关于极限测试过程中验收测试,说法不妥当的为___D_____。

(A)验收测试主要由用户完成

(B)编码人员也必须在场参与验收测试,以便与用户交流

(C)极限编程强调验收测试的目的在于加强用户参与软件开发的力度

(D)由于极限编程的特殊性,反而增大了用户需求的和用户与开发人员交流的复杂性

21.关于V模型内容的陈述,表达不正确的是___B_____。

(A)V模型反映出测试活动与分析设计活动的关系

(B)V模型指出单元测试和集成测试应检测程序的执行是否满足软件设计的要求

(C)系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标

(D)文档测试确定软件的实现是否咱去用户需求和合同的要求

22.依据《GB/T 15532-2008 计算机软件测试规范》软件测试应由相对独立的人员进行。以下选项中不属于测试设计员具体职责的是___A_____。

(A)管理监督测试项目或测试组

(B)设计测试用例

(C)确定测试用例的优先级

(D)建立测试环境

23.制定测试计划,要达到的目标有:____D____。

(A)确定测试所需要的时间和资源

(B)确立每个测试阶段的测试完成及测试成功的标准和要实现的目标

(C)识别出测试活动的各种风险,对风险进行消除或者降低风险带来的损失影响

(D)以上全都是

24.被测系统处在不完善状态,运行脚本过程中容易中断;测试脚本可移植差,需要在脚本的结构、模块化参数传递和基础函数方面做好设计。这些是测试步骤中哪一过程的主要问题___A_____。

(A)测试开发 (B)测试用例

(C)测试设计 (D)测试执行

25.测试环境的五要素不包括_____D___。

(A)硬件和软件 (B)网络环境、数据准备

(C)测试工具 (D)测试风险、测试方法

二、论述题 (3题,共50分)

1.以下是班级成绩处理平台的程序流程图,请仔细阅读程序并完成要求。

该平台允许最多输入100个学生的成绩,以-1作为输入结束标志。N2存放输入的学生成绩个数,N1存放输入成绩中有效成绩的个数,sum存放成绩总和。初始化N2=N1=0,sum=0。计算其中有效的学生分数的个数、总分数和平均值。请针对该程序流程图进行基本路径覆盖测试用例设计。

(1)导出过程的控制流图。

答:

(2)确定基本测试路径集合。

答:该过程控制流图的圈复杂性度量G(V)为4(区域数,或者G(V)=E-N+2)
所以基本路径集合包含4条独立的路径:
1-2-6-7-9
1-2-6-8-2
1-2-3-4-5-2-6-7-9
1-2-3-4-10-2-6-9

(3)设计满足基本路径覆盖的测试用例。

答:为每一条独立路径设计一组测试用例,以便强迫程序沿着该路径至少执行一次。
(score,i)=(-1,3);(-5,9);(88,100);(89,-2);

2.以下是某C程序段,其功能是计算出某一天是一年中的第几天,请仔细阅读程序并完成要求。

#include

struct days

{

int year;

int month;

int date;

}day;

void main()

{

struct days *p;

int num=0,i;

int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

p=&day;

printf("please input the day:\n");

scanf("%d%d%d",&(p->year),&(p->month),&(p->date));

for(i=0;i<(p->month);i++)

num+=m[i];

num+=(p->date);

if((p->year)%4==0&&(p->year)%100!=0||(p->year)%400==0)

if((p->month)>2)

num++;

printf("This day is %d day in the year.\n",num);

}

(1)画出此程序主函数的控制流程图。

答:

(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。

答:为了达到100%的语句覆盖率,要设计测试用例,使其为闰年且月份大于2,另外不满足此条件。由于此程序不包含输入出错处理,所以我们特意定义一个month小于0的情况。

3.以下是QESuite Web Version 1.0用户手册的相关内容,请按要求回答问题(12分)

(1)下图是测试过程管理流程图。QESuite Web Version 1.0 测试过程管理流程如下图所示,用户可以依据该流程来完成一个基本的测试过程管理。在测试状态,执行文档共有几种状态,每种状态代表什么含义。

答:执行文档是记录测试结果的重要文档。它可以显示许多有用的测试信息和记录历次测试结果。
在执行测试视图中可以显示执行结果、测试级别、测试任务、功能分类、状态、用例标题等基本信息,如需查看详细的执行文档信息,可点击"状态"图标进入查看。

执行文档的状态显示执行文档当前所处的测试状态。

未测:表示执行文档尚未被测试;

通过:表示执行文档已被测试且通过测试;

失败:表示执行文档已被测试但未通过测试;

测试受阻:表示执行文档试图被测试,但由于其他的测试用例未能通过测试,导致该测试用例无法测试;

(2)在问题报告管理阶段,简述修改问题报告追踪的步骤。

答:修改问题追踪报告步骤:

在问题报告视图中,点击欲修改的问题报告标题,进入问题报告查看页面,点击"修改",进入修改问题报告页面,按上述方法修改问题报告保存即可。
你可以通过上传操作放入一些与问题相关的文件。例如,当你很难描述所看到的问题时,你可以把你看到的问题拷贝并存储到图形文件中再放入[与该问题相关的文件]域;又或者当你发现了一个造成系统崩溃的问题,你可以把系统崩溃跟踪文件放入[与该问题相关的文件]域中。