3月全国计算机等级考试四级软件测试工程师笔试真题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件测试工程师真题”。
历年真题考试时间:120试卷总分:100 2009年3月全国计算机等级考试四级软件测试工程师笔试
真题
一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的(2分)
o o o o A:效率 B:易用性 C:功能性 D:可靠性
2.
o o o o 程序独立测试的人员应是(2分)A:程序员自己
B:同一开发组的测试成员 C:第三方测试人员 D:同一开发组的其他成员
3.如果一个软件产品的功能或特性没有实现,包括主要功能部分丢失,次要功能完全丢失,或错误的声明,这是属于(2分)
o o o A:致命的错误 B:严重的错误 C:一般的错误
o D:微小的错误
4.有一段小程序,对数组A[n]中所有正整数和负整数求累加和,negat和posit分别返回负整数和正整数的累加和。int maxInt=32767,minInt=-32768;negat=0;posit=0;for(int i=0;i<n;i++)if(A[i]<0&&A[i]>=minInt-negat)negat=negat+A[i];else if(A[i]>0&&A[i]<=maxInt-posit)posit=posit+A[i];可能的测试路径数是(2分)
o o o o
A:A B:B C:C D:D 5.下图是一个判定路径覆盖图,其中用“◇”表示判定语句,用“”表示处理语句,用“○”表示判定汇合点,用“●——●”表示判定路径,若有一个测试用例覆盖了判定路径A、B、E、H,则判定路径覆盖率为(2分)
o o
A:57.1% B:78.6%
o o C:90% D:100% 6.人们从长期的测试工作经验得知,大量的错误是发生在输入范围的(2分)
o o o o A:边界上 B:内部 C:外部 D:相互作用上
7.
o o o o 单元测试的测试对象不包括(2分)A:设计单元 B:各个操作 C:内部消息序列 D:场景
8.一个好的程序实现是要考虑各种可能出错的条件,并进行适当的出错处理,即预设各种出错处理的(2分)
o o o o A:现象 B:策略 C:通路 D:场景
9.正向测试的测试用例用于验证被测单元的功能和性能指标是否能够兑现,而反向测试的测试用例则是要检查被测单元是否做了(2分)
o o o o A:应该做的事情 B:不该做的事情 C:有错误的事件 D:有性能缺陷的事情
10.在基于调用图的集成中,有一种集成策略就是对应与调用图的每一条边建立并执行一个集成测试会话,即对有调用关系的两个程序单元进行集成测试,这样可以免除驱动和桩的编写,这种集成策略是(2分)
o o o o A:持续集成 B:三明治集成 C:成对集成 D:相邻集成 11.
o o o o 以下哪种软件测试不属于软件性能测试的范畴(2分)A:配置测试 B:健壮性测试 C:失效恢复测试 D:负载测试
12.
o 以下目标中,哪个是软件性能测试的目标(2分)A:检查软件的容错能力
o o o B:发现压力下软件功能的缺陷 C:发现软件的安全漏洞 D:检查用户界面是否易于使用
13. oooo 14. oooo 15. ooo以下关于软件可靠性测试的说法中,正确的是(2分)A:软件运行剖面的定义需要符合软件的实际运行情况 B:测试用例的生成必须采用白盒测试方法
C:软件可靠性测试通常能够比黑盒测试发现更多的错误 D:软件可靠性测试必须在集成测试中实施
以下关于面向对象软件测试的说法中,正确的是(2分)A:面向对象软件只能采用白盒测试,不能采用黑盒测试 B:测试一个类时,该类成员方法的任何一个消息序列都是合理的测试用例
C:若类B是类A的子类,针对类B的测试用例可以包含对类A的成员方法的调用
D:等价类划分是一种类树层次的测试技术
以下关于面向对象程序集成测试的说法中,错误的是(2分)A:大突击集成只进行一轮,无需增量集成B:与大突击集成相比,自底向上集成通常有助于得到更高的测试充分性
C:基干集成在任何情况下都优于自底向上集成
o D:无论是自底向上集成还是自顶向下集成,都需要为集成测试开发相应代码
16. o 以下哪种测试属于面向对象程序集成测试考虑的范畴(2分)A:针对一个类的多个成员方法间协作的测试 o o o
17. o o o o
18. o o
o o
19. B:针对一个成员方法的不同输入情况的测试 C:针对多个类的多个实例间协作的测试 D:针对一个类树上多个类间继承的测试
以下关于Web应用软件测试的说法中,正确的是(2分)A:链接测试是Web应用软件测试的一项内容 B:Web应用软件测试通常不考虑安全性测试 C:与传统软件相比,Web应用软件测试更简单 D:Web应用软件只能进行黑盒测试,不能进行白盒测试
以下关于Web应用软件测试的说法中,错误的是(2分)A:内容测试是Web应用软件测试的一项重要内容
B:Cookie安全性测试是Web应用软件安全性测试的一项重要内容
C:并发测试是Web应用软件性能测试的一项重要内容 D:表单测试是Web应用软件性能测试的一项重要内容
以下哪一项不属于软件易用性测试关注的范畴(2分)
o o o o A:软件界面的色彩是否协调 B:软件是否能在多种操作系统下运行
C:软件是否支持用户根据自己的需要进行定制 D:软件是否能主动引导用户使用相互关联的功能
20. oooo 21. oooo 22.分) oo以下哪一项属于兼容性测试关注的范畴(2分)A:办公软件在异常退出时是否会破坏正在处理的文档 B:杀毒软件在清除病毒时是否会破坏办公软件的文档 C:软件同类功能的使用风格是否一致 D:软件提供的功能与用户手册的说明是否一致
下列有关软件测试设计的说法中,正确的是(2分)A:测试方案应考虑是否可行、是否有效和是否能够达到预期的测试目标
B:基于判定表的测试用例设计方法是白盒测试用例设计方法C:测试方案设计中可以忽略软件系统的实际使用环境 D:测试开发不是测试用例设计的工作内容
下列有关测试项目结束与定稿测试报告的说法中,正确的是(2A:测试执行完成,测试人员向测试负责人提交测试报告后,测试项目就可以结束了
B:对当前软件产品存在的缺陷进行逐个分析,认定剩余缺陷对产品质量无重大影响后,即可定稿测试报告
o C:审查测试全过程,检查测试计划和内容无遗漏后,即可定稿测试报告
o D:当所有测试计划内容完成,测试覆盖率达到要求以及产品 23. oooo 24. oooo 25. o质量达到定义的标准,即可定稿测试报告
下列有关自动测试的基本概念中,错误的是(2分)A:仅有自动测试执行而无自动比较,则不算是完全自动化测试
B:自动比较的内容可以是:文本、格式化数据、电子邮件信息、数据库内容等
C:自动比较的局限性在于自动比较可能没有人工比较灵活性高
D:自动比较海量数据、屏幕输出等信息不是计算机能够胜任的自动工作
以下关于软件回归测试的说法中错误的是(2分)A:软件变更后,应对软件变更部分的正确性和对变更需求的符合性进行测试
B:软件变更后,首先应对变更的软件单元进行测试,然后再进行其他相关的测试
C:软件变更后,不必再对软件原有正确的功能、性能和其他规定的要求进行测试
D:对具体的软件,可以根据软件测试合同及软件的重要性、完整性级别对回归测试内容进行剪裁
以下说法中错误的是(2分)A:验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统
o B:验收测试的技术依据是软件研制合同(或用户需求或系统需求)
o o C:进行验收测试的软件必需已经通过系统测试
D:验收测试一般应由软件的需方组织,不可以委托第三方测试机构实施
二、论述题(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。
1.一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。转换到各个状态的条件如下: S1:(t0)创建栈对象时初始化,这是系统做的;(t1)在S2状态下执行置空运算setEmpty();(t2)在S3状态下执行置空运算setEmpty();(t3)在S2状态下执行出栈运算Pop();S2:(t4)在S1状态下执行进栈运算Push();(t5)在S3状态下执行出栈运算Pop();S3:(t6)在S2状态下执行进栈运算Push()。
为简化问题,假设栈Stack的容量为2,栈元素的数据类型为整数。要求 1.根据题意,画出栈对象的状态迁移图; 2.计算该状态迁移图的McCabe环路复杂性;
3.确定基本的测试路径,要求测试路径从S1出发最后回到S1,同时在状态转换时注明转换条件。(20分)
2.某测试项目中的测试执行阶段按计划在3天后结束,将进入测试总结阶段。
1.测试管理人员通过QESuite Web version 1.0测试过程管理工具观察到部分测试用例的设计状况和执行状况如下表,请从测试用例设计和测试用例执行2个方面说明观察到的问题和需要尽快开展的相关测试工作。2.该项目当前的软件问题处理状况如下:
测试项目当前剩余处在“待验”状态的软件问题有105个,处在“新建”状态的软件问题有14个,处在“打开”状态的软件问题有151个。已知该测试组的软件问题日常处理能力是90个软件问题/工作日,开发组日常修复软件问题的能力是40个软件问题/工作日。请说明软件问题报告处理方面说明存在的问题和需要尽快开展的相关开发和测试工作。(10分)
3.已知C源程序如下:
/*A simple mailing list example using an array of structures.*/ #include #include
#define MAX 4
struct addr { char name[30];char street[40];char city[20];unsigned long int zip;} addr_list[MAX];
void init_list(void), enter(void);void deleteAddr(void), list(void);int menu_select(void), find_free(void);int main(void){ char choice;
init_list();/*initialize the structure array */ for(;;){
choice=menu_select();switch(choice){ case 1:enter();break;case 2:deleteAddr();break;case 3:list();break;case 4:exit(0);} } return 0;}
/* Initialize the list.*/ void init_list(void){ register int t;
for(t=0;t
/* Get a menu selection.*/ int menu_select(void){ char s[80];int c;printf(“1.Enter a name\n”);printf(“2.Delete a name\n”);printf(“3.List the file\n”);printf(“4.Quit\n”);do { printf(“\nEnter your choice:”);gets(s);c=atoi(s);}while(c4);return c;}
/* Input addrees into the list.*/ void enter(void){ int slot;char s[80];
slot=find_free();if(slot==-1){ printf(“\nList Full”);return;}
printf(“Enter name:”);gets(addr_list[slot].name);printf(“Enter street:”);gets(addr_list[slot].street);printf(“Enter city:”);gets(addr_list[slot].city);printf(“Enter zip:”);gets(s);addr_list[slot].zip = strtoul(s, \0, 10);}
/* Find an unused structure.*/ int find_free(void){ register int t;for(t=0;addr_list[t].name[0]&&t
printf(“enter record #:”);gets(s);slot=atoi(s);
if(slot>=0 && slot
/* Display the list on the screen.*/ void list(void){ register int t;
for(t=0;t
2.设计一组测试用例,使该程序所有函数的语句覆盖率尽量达到100%。如果认为该程序的语句覆盖率无法达到100%,需说明原因。(20分)