您的当前位置:首页正文

计算机等级考试三级软件测试技术第一套(真题)(1)

来源:帮我找美食网
一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

1 ANSI/IEEE STD729-1983给出软件质量的定义:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。以下叙述中不属于这些质量特征和特性的是 A) 产品功能 B) 效率 C) 可使用性 D) 项目成本和进度

[正确答案]D

22 软件产品需求规格说明书是软件缺陷存在最多的地方,其原因是

A) 软件开发人员与用户沟通比较困难,对要开发的产品需求理解不一致 B) 系统设计不能全面考虑产品在功能、性能、安全性、可维护性等方面的平衡 C) 采用不熟悉的新技术开发系统或不科学的算法解决问题 D) 系统内各子系统或模块的参数过于复杂,导致信息传递失误

[正确答案]B

3 条件覆盖的基本思想是设计若干测试用例,执行被测程序,使得每个判断的每个条件的

可能取值至少满足一次。那么对于如下的C语言程序段 if(a>0&&b>0)c=c/a; iI(a>1||c>1)c=c+1;

如果采用适用于条件覆盖的两个测试用例,其输入值分别为a=2,b=-1,c=-2和a=-1,b=2,c=3,则以下叙述中正确的是

A) 执行测试后,4个条件a>0,b>0,a>1,c>1的所有取值都至少执行一次 B) 执行测试后,除b>0取真和c>1取假外其他条件取值都至少执行一次

C) 执行测试后,除b>0取假和c>1取真外其他条件取值都至少执行一次 D) 执行测试后,除b>0取真和c>1取真外其他条件取值都至少执行一次

[正确答案]B[解析] 根据与“&&”、或“||”的“短路”运行特性,结合两组输入值分析可

知,第一个判断条件b>0取真,第二个判断条件c>1取假没有被执行,其他条件的取值都被至少执行了一次。 4 对于所给的C语言程序段 if(a>0&&b>0)c=c/a; if(a>1||c>1)c=c+1;

执行条件组合覆盖,为使得每一条件取值组合至少执行一次,需要的测试用例数至少是 A) 2 B) 3 C) 4 D) 5

[正确答案]C

[解析] 两个分支四条路径,至少需要4个测试用例。 55 单元接口测试是单元测试的一种,以下不属于单元接口的是

A) 参数表 B) 输入/输出文件 C) 出错信息处理 D) 全局量

[正确答案]D

[解析] 单元测试从5个方面考虑,分别是:模块接口、出错处理、独立路径、边界条件和局部数据结构。答案中,参数表和输入/输出文件属于模块接口,所以答案选D。 6下图(a)是一个程序的模块结构。模块A是主模块。下图(b)是集成测试顺序的示意图。从此图可知,这个集成策略是:

A) 自顶向下集成 B) 自底向上集成 C) 大突击集成 D) 三明治式集成

[正确答案]B

7集成测试分析的作用是指导集成测试用例的设计,安排测试和集成顺序。集成模块划分是集成测试分析的一个重要环节。以下叙述中不属于合理的集成模块划分的是 A) 被集成的几个模块间的联系必须很密切 B) 可以很容易地隔离集成模块的外围模块

C) 集成模块内部各个模块必须共享某些数据区或程序区 D) 能够简便地模拟外围模块向集成模块发送消息

[正确答案]C 试题解析:

[解析] 合理的集成测试模块划分应满足以下几点:被集成的几个模块之间的关系必须密切;可以方便地隔离集成模块的外围模块;能够简便地模拟外围模块向集成模块发送消息;外围模块向被测试的集成模块发送的消息能够模拟实际环境中的大多数情况。

8破坏性测试的任务是评测软件在承受超出其正常负荷N倍的情况下,错误出现时的状态和错误发生后的恢复能力。它的实施主要在 A) 系统层 B) 子系统层 C) 协议/指标层 D) 用户层

[正确答案]A

9 程序代码检查过程中为检查说明、使用错误,通常需要借助一些引用表。以下不适用于做这种检查的引用表是 A) 循环层次表 B) 事件/响应表 C) 变量交叉引用表 D) 标号交叉引用表

[正确答案]B

[解析] 引用表是为了支持对源代码进行静态检查,可分为:标号交叉引用表;变量交叉引用表;子程序、宏和函数表;等价表;常数表。

在单元测试过程中,“差1错”属于比较错误,它是指 A) 不正确地多循环或少循环一次 B) 不同数据类型的比较

C) 不正确的逻辑运算符或优先次序 D) 当遇到死循环时无法跳出循环

[正确答案]A

[解析] “差1错”是指:不正确地多循环或少循环一次;迭代发散时不能退出;错误地修改了循环变量。

11 以下关于软件性能测试的说法中,正确的是

A) 检测每个函数的McCabe圈复杂度是软件性能测试关注的主要内容 B) 缩短平均故障修复时间是软件性能测试的主要目的之一 C) 提高并发进程数是软件性能测试的主要目的之一 D) 吞吐量是软件性能测试中一种常用的性能指标

[正确答案]D

[解析] 软件性能的指标主要有:

①响应时间。②系统响应时间和应用延迟时间。③吞吐量。④并发用户数。⑤资源利用率。

12 以下哪种软件测试不属于软件性能测试的范畴 A) 数据流测试 B) 压力测试 C) 负载测试 D) 并发测试

[正确答案]A

[解析] 软件性能的测试主要分为:

①性能测试。②并发测试。③压力测试。④可靠性测试。⑤负载测试。 ⑥配置测试。⑦失效恢复测试。

13 以下关于软件可靠性测试的说法中,正确的是 A) 软件可靠性测试总是能比白盒测试发现更多的错误 B) 软件可靠性测试总是能比黑盒测试发现更多的错误 C) 软件可靠性测试不关注与软件性能有关的软件故障

D) 软件可靠性测试度量出来的软件可靠性特定于所定义的软件运行剖面

[正确答案]D

14 以下关于软件可靠性与硬件可靠性的主要区别的说法中,错误的是 A) 软件的失效多是逻辑错误引起的;硬件的失效很多不是逻辑错误引起的 B) 硬件在使用过程中会发生物理退化;软件在使用过程中不会发生物理退化

C) 硬件的使用者少,不容易引起失效;软件的使用者多,更容易引起失效

D) 软件的每个拷贝都是完全一样的;按照设计生产出来的同规格硬件总有微小差别

[正确答案]C

[解析] 软件可靠性与硬件可靠性的区别:

①唯一性。软件设计出来以后,每份拷贝都是完全一样的,而硬件在设计出来以后-每个按照设计生产的硬件都不可能完全相同。

②物理退化。硬件可靠性研究的一个重要原因就是物理退化。

③逻辑复杂性。软件是纯逻辑产品,内部逻辑复杂度高,而硬件的内部逻辑相对简单。

④版本更新。硬件的更新通常较慢,而软件受到需求变更等因素的影响,版本更新比较频繁。

15 以下关于面向对象软件测试的说法中,正确的是

A) 对于一个类进行单元测试时,一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法

B) 对于一个类进行单元测试时,一个测试用例只能调用在该类的父类中定义的方法,不能调用在该类中定义的方法

C) 对于一个类进行单元测试时,一个测试用例既可以调用在该类的父类中定义的方法,也可以调用在该类中定义的方法

D) 对于一个类进行单元测试时,由该类及其父类中定义的方法组成的任何一个序列都是一个合理的测试用例

[正确答案]C

[解析] 由于集成和多态的使用,对子类的测试通常不能限定在子类中定义的成员变量和成员方法上,还需要考虑父类对子类的影响。

以下关于面向对象软件测试的说法中,正确的是 A) 不需要对抽象类进行单元测试

B) 等价类划分测试是一种类层次的测试技术 C) 不变式边界测试是一种类层次的测试技术 D) 测试动态绑定是类树测试的唯一目标

[正确答案]C

17 以下关于面向对象软件集成测试的说法中,错误的是

A) 协作集成是指将可以协作完成特定系统功能的类集成在一起进行集成测试 B) 针对一个类的多个成员方法闻协作的测试不属于面向对象软件集成测试关注的范畴 C) 针对一个类的多个实例间协作的测试不属于面向对象软件集成测试关注的范畴 D) 针对一个类树上多个类的行为的测试属于面向对象软件集成测试关注的范畴

[正确答案]C

[解析] 协作集成是在集成测试时针对系统完成的功能,它将可以相互协作完成特定系统功能的类集成在一起进行测试。针对一个类多个实例间的测试属于面向对象集成测试的范畴。

18 以下关于Web应用软件测试的说法中,正确的是 A) 内容测试是Web应用软件性能测试的一项重要内容 B) 表单测试是Web应用软件易用性测试的一项重要内容 C) 并发测试是Web应用软件安全性测试的一项重要内容 D) Cookie测试是Web应用软件功能测试的一项重要内容

[正确答案]D

19 以下哪一项不属于软件易用性测试关注的内容 A) 相似功能的使用风格是否与同类软件一致 B) 软件内相似功能的使用风格是否一致 C) 软件是否能帮助用户减少输入中的重复劳动 D) 软件界面的色彩是否悦目

[正确答案]D

20 以下哪一项不属于兼容性测试关注的范畴 A) 操作系统是否能运行于不同的硬件平台

B) 杀毒软件在清除病毒时是否会影响办公软件的正常工作 C) Web应用软件是否支持不同的关系型数据库 D) 软件用户手册中的功能说明与实际功能是否一致

[正确答案]D解析] 兼容性测试包括:与操作系统的兼容性;与数据库的兼容性;与浏览器的兼容性;与中间件的兼容性;与其他软件的兼容性;与平台软件的兼容性。

21 下列有关测试活动的描述中,错误的是

A) 测试策划的主要依据包括测试合同中测试范围和进度安排要求等 B) 测试执行中不能随意修订测试计划 C) 测试用例设计是测试执行的主要内容

D) 测试总结的目的是对测试结果进行分析,以确定软件产品质量的当前状态

[正确答案]C

[解析] 测试活动包括四项基本内容:

①测试策划。②测试设计与实现,在该活动中制定测试的技术方案、选择测试工具,并根据测试技术方案设计测试用例。③测试执行。④测试总结。

22 以下有关回归测试的说法中,正确的是 A) 回归测试是一个测试阶段

B) 回归测试的目标是确认被测软件经修改和扩充后正确与否 C) 回归测试不能用于单元和集成测试阶段

D) 回归测试是指在软件新版本中验证已修复的软件问题

[正确答案]B[解析] 回归测试有两种不同的使用方式,都是建立在复用原有测试的思想之上的。其方式描述如下:

①一经发现并改正了程序中隐藏的缺陷,然后再重新执行以前发现这个缺陷的测试,看这个缺陷是否重现。回归测试的目的是为了确认对程序的修改达到了预期的目标。

②当对发现的缺陷进行修改之后,执行一系列基准测试,以确认程序的修改没有对程序的其他部分产生干扰。

23 下列有关测试过程质量控制的描述中,正确的是 A) 测试设计与实现应完整覆盖测试需求 B) 测试过程中不能对测试需求进行重新获取

C) 测试过程中,若相同时间间隔内发现的缺陷数量呈收敛趋势,则可结束测试 D) 软件测试应解决软件系统中所有缺陷

[正确答案]C

[解析] 测试过程的质量控制中应包括以下4方面的内容:

①把握需求。在软件系统开发过程中,需求的获取和完善贯穿于每一个阶段,依据“尽早测试”和“全面测试”的原则。 ②变更控制。体现“全过程测试”的理念。

③度量与分析。若相同时间间隔内发现的缺陷数量呈收敛状态,则说明测试是充分的。

④测试过程可持续改进。

24 下列关于开始软件测试工作应具备的条件中,错误的是 A) 具有测试合同(或项目计划) B) 软件测试文档齐全、符合规范 C) 所提交的被测软件受控

D) 软件源代码正确通过编译或汇编

[正确答案]B

[解析] 软件测试工作一般应具备的条件为:具有测试合同(或项目计划);具有软件测试所需的各种文档;所提交的被测软件受控;软件源代码正确通过编译或汇编。

25 软件测试文档可进行合理的取舍与合并,对于微、小规模软件,下列说法中错误的是 A) 测试计划和测试说明可以合并

B) 测试报告中可包括测试记录和测试问题报告

C) 测试报告、测试记录、测试问题报告和测试总结报告可以合并 D) 测试说明和测试报告可以合并

[正确答案]D

[解析] 对于微、小规模的软件,测试计划和测试说明可以合并,测试报告、测试记录、测试问题报告、测试总结报告也可以合并。

二、论述题(共3题,合计50分) 论述题1:(10分)

在企业信息管理系统中,人员信息查询是最常见的。使用以下3个独立的查询条件:

1)员工号(ID) 2)员工姓名(Name) 3)员工邮件地址(eMail)

每个查询条件可有可无,但不能都没有;且条件的取值可以是能查到的,也可以是查不到的。当出现多个查询条件时,按ID→Name→eMail的顺序查询。如果某一条件未出现,则检查下一条件;如果某一条件出现,则检查满足该条件取值的信息是否存在:若不存在,立刻中止查询,并输出失败信息;若存在,继续下一条件查询,最后输出查询结果。要求:

画出实现查询的程序流程图。

[正确答案] 流程图

给出一组测试路径,能覆盖程序流程图的所有分支。(10分)

[正确答案] 覆盖程序流程图的所有分支的测试路径如下表所示

论述二: QESuite Web Version 1.0中,已知某OA系统测试项目的部分信息如下: ●测试版本:总计4个测试版本,按日期排序分别为OA1.0_111009,OA1.0_111025,OA1.0_111103,OA1.0_111129。

●功能分类视图中部分待测区域及人员分配定义如下表所示:

下表是功能区域“发文管理/发文”下某一个软件问题的操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,

填写表中5项空缺的操作历史信息。(10分)

[正确答案] 论述题2:

下图是QEsuite Web Version 1.0的问题报告工作状态转换流程。

操作3中在打开/再现下,应由开发人员执行修复操作,操作后转为待验状态,该空填写:修复/修复。

操作4中在待验状态下,应由测试人员验证。根据操作5所示的执行操作可知,操作3中未能修复,所以操作4空填写:验证/同意。

操作7中在解决状态下,应由测试人员重新打开,该空填写:回归测试。 操作9中经验证同意不修复,操作后的问题状态应为:关闭。由于总计4个测试版本,并按日期排序,所以最后的测试版本应为:OA1.0_111129。29 论述题3:

/*longIntAdd*/

#include<stdio.h>

#include<string.h>

#define LENGTH 81

void addLInt(char s1[],char s2[]);

void reverse(char s[]);

int main()

{

char intstr1[LENGTH],intstr2[LENGTH];

printf(\"请输入超长整数的被加数和加数:\\n

\");

scanf(\"%s%s\

addLInt(intstr1,intstr2);

printf(\"超长整数和为:%s\

return 0;

}

void addLInt(char s1[],char s2[]) {

int i=0,tmp,c=0; char s[LENGTH]; if(strlen(s1)<strlen(s2)){ strcpy(s,s1); strcpy(s1,s2);

strcpy(s2,s);

}

reverse(s1);reverse(s2);

while(s2[i]!=;\\0'){

tmp=s1[i]-'0'+s2[i]-'0'+c;

81[i]=tmp%10+'0';

c=tmp/10;

i++;

}

while(si[1]!='\\0'&&c){

tmp=s1[i]-'0'+c;

s1[i]=tmp%10+'0';

c=tmp/10;

i++;

} If(c){

s1[i++]=c+'0'; s1[i]='\\0'; }

reverse(s1); }

void reverse(char s[]) { int i,j,c;

for(i=0,j=strlen(s)-1;i<j;i++,j--){ c=s[i]; s[i]=s[j]; s[j]=c; } }

29、画出程序中函数addLInt的控制流程图;(10分)

[正确答案] 函数addLInt的控制流程图。

设计一组测试用例,使该程序addLInt函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该函数的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。 [正确答案] 测试用例

a.s1:“1111111111111111” s2:“2222222222222222\" b.s1:“123456789” s2:“989” c.s1:“989” s2:“123456789” d.s1:“999999999999” s2:“111111” 本题分值:10分

[解析] 语句覆盖是指设计若干测试用例,运行被测程序,使得每个可执行语句至少执行一次。

语句覆盖率=被评价到的语句数量/可执行的语句数量×100%。

设计若干测试用例,运行被测程序使得每个判定的取真分支和取假分支至少评价一次。

判定覆盖率=被评价到的判定分支个数/判定分支的总数×100%。

当输入a、b、c、d中的测试用例后,语句覆盖率和分支覆盖率均为100%。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top