第一篇:2009年9月全国计算机等级考试四级软件测试工程师笔试真题
历年真题考试时间:120试卷总分:100 2009年9月全国计算机等级考试四级软件测试工程师笔试
真题
一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
1.软件验证和确认是保证软件质量的重要措施,它的实施应该针对
(2分)
o o o o A:程序编写阶段 B:软件开发的所有阶段 C:软件调试阶段 D:软件设计阶段
2.在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是(2分)
o o o o A:程序结构 B:软件外部功能 C:程序正确性 D:程序内部逻辑
3.在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是(2分)
o o A:操作性分析 B:可靠性分析
o o C:引用分析 D:接口分析
4. o o o o 下列指导选择和使用测试覆盖率的原则中错误的是(2分)A:覆盖率不是目的,仅是一种手段 B:不要追求绝对100%的覆盖率
C:不可能针对所有的覆盖率指标来选择测试用例 D:只根据测试覆盖率指标来指导测试用例的设计
5.
o 在以下有关逻辑覆盖的说法中错误的说法是(2分)A:所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准
o B:条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求
o C:路径覆盖的查错能力很强,但有时达不到条件组合覆盖的覆盖率要求
o D:判定覆盖包含了语句覆盖,但它不能保证每个错误条件都能检查得出来
6.走查是对软件进行静态测试的一种方法,以下不属于走查活动的是(2分)
o o o o A:计划走查会议 B:准备测试用例
C:执行走查以发现和改正错误
D:在走查过程中程序员逐条讲解自己的程序
7.设有一段程序如下
满足判定—条件覆盖的要求下,最少的测试用例数目是(2分)
o
A:6 o o o
8. o
o o
o
9. o o o o B:8 C:3 D:4 在以下有关集成测试的说法中,错误的说法是(2分)A:自底向上集成的缺点是在早期不能进行并行测试,不能充分利用人力
B:自底向上集成的优点是减少了编写桩模块的工作量 C:自顶向下集成的优点是能够较早地发现在高层模块接口、控制等方面的问题
D:自顶向下集成的缺点是需要设计较多的桩模块,测试的开销较大
在集成测试阶段,人们关注的一种主要的覆盖是(2分)A:功能覆盖 B:语句覆盖 C:基本路径覆盖 D:条件覆盖
10.可跟踪性分析是一种重要的软件验证和确认方法。不属于可跟踪性分析的活动是(2分)
o o o A:正确标识在需求规格说明中的每项需求
B:从需求规格开始的正向跟踪应确保完全支持需求规格 C:每个当前的阶段产品的规格或特性应确保被可跟踪的前驱规格所支持
o D:确保所有不同接口规格说明的完整性
11.
o o 以下关于软件性能测试的说法中,不正确的是(2分)A:发现软件缺陷是性能测试的目的之一
B:压力测试与负载测试的目的都是为了探测软件在满足预定的性能需求的情况下所能负担的最大压力
o o C:性能测试通常需要对测试结果进行分析才能获得测试结论 D:检验软件的最大负载是性能测试的目的之一
12.
o o o o 以下哪种软件测试不属于广义软件性能测试的范畴(2分)A:并发测试 B:压力测试 C:兼容性测试 D:负载测试
13.以下关于软件可靠性与硬件可靠性主要区别的说法中,正确的是(2分)
o A:软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别
o o B:软件经常面临恶意的使用者,而硬件没有恶意的使用者 C:软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区
o D:软件的失效都是逻辑错误引起的,而硬件的失效都不是逻 14. oooo 15. oooo 16. 辑错误引起的
以下关于面向对象软件测试的说法中,错误的是(2分)A:对于面向对象程序集成测试而言,大突击集成可能导致测试不充分
B:面向对象软件只能采用白盒测试,不能采用黑盒测试 C:在存在多态的情况下,为了提高测试的充分性需要对所有可能的绑定都进行测试
D:单个成员方法的测试属于面向对象程序单元测试考虑的范畴
以下关于面向对象软件测试的说法中,正确的是(2分)A:对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用
B:基于判定表的测试不能用于面向对象程序的单元测试 C:不变式边界测试可用于类层次的测试,其目的是测试功能组合
D:对于抽象类,需要进行单元测试
以下关于面向对象程序集成测试的说法中,正确的是(2分)
o A:大突击集成在任何情况下都是效果最差的面向对象程序集成测试策略
o B:自底向上集成和自顶向下集成都需要为集成测试开发大量辅助代码
o o C:协作集成从本质上讲是一种自底向上集成 D:基干集成从本质上讲是一种自顶向下集成
17. oooo 18. oooo 19. ooo以下关于Web应用软件测试的说法中,正确的是(2分)A:对Web应用软件进行性能测试时,不需要进行压力测试 B:内容测试是Web应用软件易用性测试的一项重要内容 C:Cookie测试是Web应用软件功能测试的一项重要内容 D:是否存在无效链接是Web应用软件安全性测试关注的范畴
以下哪一项属于软件易用性测试关注的范畴(2分)A:软件是否能在多种操作系统下运行 B:软件是否能与同类软件共享数据
C:软件是否能主动禁止用户可能进行的非法操作 D:软件是否能抵御网络攻击
以下哪一项属于数据兼容性测试关注的范畴(2分)A:软件在异常退出时是否会破坏正在处理的文件 B:软件是否可以在不同的J2EE应用服务器上运行 C:软件同类功能的使用风格是否一致
o D:软件是否能打开以前版本保存的文件
20. o o o o 以下关于极限测试的说法中,正确的是(2分)A:极限测试是一种针对极限编程的软件测试 B:极限测试中所有的测试均由编码人员完成
C:与传统的软件测试相比,极限测试是一种更严格的测试 D:极限测试中只需要进行单元测试
21. o o o o 下列有关软件缺陷报告的编写原则中,哪个是错误的(2分)A:一个软件缺陷报告中只应记录一个不可再划分的软件缺陷 B:软件缺陷报告的标题应该能够最简洁表达一个软件缺陷 C:软件缺陷报告中应提供全面的有关该软件缺陷再现的信息 D:同一个软件缺陷可以被重复报告
22.依据QESuite Web Version 1.0软件问题生命周期定义,对于一个处在“新建”状态的软件问题报告,下列哪个操作是不可能出现的(2分)
o o o o A:校验 B:关闭 C:验证 D:分类与分配
23. 下列哪个不是测试环境的组成要素(2分)
o o o o A:软硬件 B:技术文档 C:测试工具 D:网络环境
24.根据《GB/T155322008计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及(2分)
o o o o A:测试用例管理 B:测试环境管理 C:配置管理 D:测试系统管理
25.根据《GB/T155322008计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及(2分)
o o o o A:测试用例无冗余性原则 B:测试执行可重复性原则 C:测试用例可操作性原则 D:测试用例可管理性原则
二、论述题(共3题,共50分)论述题答题必须用蓝、黑钢笔或圆珠笔写在论述题答题纸的相应位置上。
1.请完成下列工作:
(1)请给出与此有限状态机等价的控制流图;(4分)(2)确定基本测试路径集;(9分)(3)设计测试用例以覆盖基本测试路径。(7分)(20分)
2.已知C源程序如下:
/*Input todays date,output tomorrows date*/
/*version 2*/ #include
printf(“format of date is:year,month,day 输入的年,月,日之间应用逗号隔开\n”);printf(“today is:”);scanf(“%d,%d,%d”,&today.year,&today.month,&today.day);while(0>=today.year ||today.year>65535||0>=today.month||today.month>12|| 0>=today.day||today.day>numdays(today)){printf(“input date error!reenter the date!\n”);printf(“today is:”);scanf(“%d,%d,%d”,&today.year,&today.month,&today.day);} if(today.day!=numdays(today)){tomorrow.year=today.year;tomorrow.month=today.month;tomorrow.day=today.day+1;} else if(today.month==12){tomorrow.year=today.year+1;tomorrow.month=1;tomorrow.day=1;} else
{tomorrow.year=today.year;tomorrow.month=today.month+1;tomorrow.day=1;} printf(“tomorrow is :%d,%d,%d\n\n”,tomorrow.year,tomorrow.month,tomorrow.day);}(1)画出程序中所有函数的控制流程图;(10分)(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。(10分)(20分)
3.QESuite Web Version 1.0中,已知Lead 1.0邮件系统测试项目的部分信息如下:
●测试版本:总计2个测试版本,按日期排序分别为Lead1.0_090703,Lead1.0_090801 ●功能分类视图中部分待测区域及人员分配定义如下表一所示: 已知在功能区域“性能/并发处理能力”下有一个软件问题处于“打开/修复失败”状态,下表二中是该软件问题当前的部分操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。(每空1分)(10分)
第二篇:0809全国计算机等级考试四级软件测试工程师笔试真题客观题
2008年9月全国计算机等级考试四级软件测试工程师笔试真题
一、选择题
1.CMU SEI的Watts Humphrey指出软件产品必须首先提供用户所需要的(2分)A:性能
B:人机界面
C:可靠性
D:功能
2.Myers在1979年提出了一个重要观点,即软件测试的目的是为了(2分)A:证明程序正确
B:查找程序错误
C:改正程序错误
D:验证程序无错误
3.在代码检查的过程中发现大部分错误的人通常是(2分)A:程序员
B:测试员
C:审查者
D:架构师
4.以下哪一种选项不属于软件缺陷(2分)A:软件没有实现产品规格说明所要求的功能
B:软件中出现了产品规格说明指明不应该出现的错误 C:软件实现了产品规格说明没有提到的功能
D:软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题 5.软件生存周期过程中,修改错误代价最大的阶段是(2分)A:需求阶段B:设计阶段
C:编程阶段
D:发布运行阶段 6.以程序内部的逻辑结构为基础的测试用例设计技术属于(2分)A:灰盒测试
B:数据测试
C:黑盒测试
D:白盒测试
7.软件验证和确认理论是测试过程的理论依据,其中验证是检查我们是否正在正确地建造一个产品,它强调的是
A:过程的正确性
B:产品的正确性
C:测试的正确性
D:规格说明的正确性
8.下面是一个对整数数组A中的前n个元素求最小值的c程序,函数返回最小元素的位置。
int minValue(int A[],int n){ int k=0;
for(int j=1;j<=n-1;j++)if(A[j] return k; } 当n=4时,程序中可能的执行路径数为(2分) A:2 B:4 C:8 D:16 9.单元测试时,调用被测模块的是(2分)A:桩模块 B:通信模块 C:驱动模块 D:代理模块 10.大突击测试把所有的模块一次性集成为一个完整的系统后进行测试,很容易(2分)A:通过测试 B:整体崩溃 C:快速查错 D:快速排错 11.以下关于软件性能的说法中,正确的是(2分)A:软件性能与该软件的实现算法无关 B:软件的吞吐量越大,其平均响应时间总是越短 C:给软件的可用资源越少,其平均响应时间越短 D:对于同一个网站,其支持的同时发送请求的用户数越大,该网站的性能越好 12.以下关于Web应用软件测试的说法中,错误的是(2分)A:数据完整性测试是Web应用软件数据层测试的一项重要内容 B:内容测试是Web应用软件易用性测试的一项重要内容 C:表单测试是Web应用软件功能测试的一项重要内容 D:客户端内容安全性的测试是Web应用软件安全性测试的一项重要内容 13.以下哪种软件测试属于软件性能测试的范畴(2分)A:接口测试 B:压力测试 C:单元测试 D:易用性测试 14.以下分析技术中,哪一种技术不属于基于性能计数器的分析技术(2分) A:内存分析 B:处理器分析 C:通信中断分析 D:进程分析 15.以下哪一项不属于Web应用软件表示层测试关注的范畴(2分)A:排版结构的测试 B:链接结构的测试 C:浏览器脚本程序的测试 D:应用服务器兼容性测试 16.以下关于软件可靠性测试的说法中,正确的是(2分)A:定义软件运行剖面是软件可靠性测试的重要步骤 B:软件可靠性测试使用的测试用例应该满足分支覆盖 C:软件可靠性测试可以在单元测试中实施 D:软件可靠性预测模型的作用是指导软件可靠性测试中的测试用例生成 17.以下关于面向对象软件测试的说法中,正确的是(2分)A:面向对象软件的白盒测试不能不加改变地照搬传统软件的白盒测试准则 B:对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用 C:面向对象软件测试不考虑对一个类中的单个方法的测试 D:面向对象软件测试不必考虑对继承关系的测试 18.以下哪一项不属于兼容性测试关注的范畴(2分)A:服务器端是否同时支持浏览器和专用客户端的访问 B:软件是否同时支持数据库的不同版本 C:软件是否支持以前版本的数据格式 D:软件是否可以在不同的J2EE应用服务器上运行 19.以下哪一项属于功能易用性测试关注的范畴(2分)A:软件提供的功能是否丰富 B:当执行耗时较长的任务时,软件是否能定时向用户提示当前任务完成的进度 C:软件是否能够在多种操作系统环境下运行 D:软件是否能在不同的硬件配置下运行 20.以下关于面向对象程序集成测试的说法中,正确的是(2分)A:大突击集成是一种综合运用自底向上集成与自顶向下集成的集成测试策略 B:自底向上集成测试比自顶向下集成测试需要开发的代码更多 C:协作集成是指将可以协作完成特定系统功能的类集成在一起进行测试 D:与自底向上集成和自顶向下集成相比,基干集成是一种更充分的集成测试策略 21.测试过程的4项基本活动是测试策划、测试设计、测试总结和(2分)A:测试执行 B:测试报告 C:测试度量 D:测试需求 22.下列有关测试过程管理的基本原则,哪个是错误的(2分)A:测试过程管理应该首先建立测试计划 B:测试需求在测试过程中可以是模糊的、非完整的 C:在测试任务较多的情况下,应该建立测试任务的优先级来优化处理 D:整个测试过程应该具有良好的可测性和可跟踪性,强调以数据说话 23.下列哪个选项不属于测试计划要达到的目标(2分)A:为测试各项活动制定一个现实可行的、综合的计划,包括每项测试活动的对象、范围、方法、进度和预期结果 B:为项目实施建立一个组织模型,并定义测试项目中每个角色的责任和工作内容 C:为测试执行活动设计测试方案,编制测试用例 D:确定测试需要的时间和资源,以保证其可获得和有效性 24.软件测试管理包括测试过程管理、配置管理以及(2分)A:测试评审管理 B:测试用例管理 C:测试计划管理 D:测试实施管理 25.以下说法中错误的是(2分)A:软件配置项测试的目的是检验软件配置项与软件需求规格说明的一致性 B:软件配置项测试一般由软件供方组织,由独立于软件开发的人员实施,软件开发人员配合 C:软件配置项测试要求被测软件配置项已通过单元测试和集成测试 D:软件配置项测试不得委托第三方实施 答案:DBADD DACCB DBBCD AAABC ABCAD 二、论述题(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。12edu.cn 1.一个系统的登录操作规格说明如下: 登录对话框有两个数据输入:用户名和密码。 登录操作对两个输入数据进行检查,要求用户名中只能包含字母和数字(字母不区分大小写),密码可以包含任何字符。用户名和密码都不能为空且长度不限。当用户名或密码为空时,则登录失败并提示对应的出错信息; 当用户名不正确或用户名不存在或密码错误时,则登录失败并提示以下三种相应的出错信息: 用户名不合法(即包含有非字母、非数字字符),或用户名不存在,或密码错误; 当用户名和密码都正确时,则显示登 录成功信息,完成登录。假设正确的用户名是abcd123,密码是123456 试用等价类方法为上述规格说明设计等价类表(10分)和测试用例(10分)。 2.针对以下C语言程序,请按要求回答问题。已知weekday.c源程序如下: #include printf(“please input the first letter,”Y“to exit!\n”); while((letter=getch())!=Y)/*当输入字母为Y时结束*/ { switch(letter){ case S: printf(“%c\n”,letter); printf(“please input second letter\n”); //输入第二个字母 if((letter=getch())==a)printf(“Saturday\n”); else if(letter==u)printf(“sunday\n”); else printf(“data error\n”); break; case F: printf(“fridaykn”); break; caseM: printf(“mondayha”); break; caseT: printf(“%c\n”,letter); printf(“please input second letter\a”); //输入第二个字母 if((letter=getch())==u)printf(“tuesday\n”); else if(letter==h)printf(“thursday\n”); else printf(“data error\n”); break; case W: printf(“wednesday\n”); break; default: printf(“data error\n”);} } return 0; } 1.画出主函数main的控制流程图;(8分)2.设计一组测试用例,使main函数的语句覆盖率尽量达到100%;(11分)3.main函数的语句覆盖率能否达到100%?如果认为无法达到,需说明原因。(1分) 参考答案:1.#include int main(){ char letter; printf(“please input the first letter,”Y“to exit!\n”)【1】; while((letter=getch())!=Y)/*当输入字母为Y时结束*/【22】 { switch(letter){ case S:【2】 printf(“%c\n”,letter); printf(“please input second letter\n”);【3】 //输入第二个字母 if((letter=getch())==a)【4】 printf(“Saturday\n”);【5】 else if(letter==u)【6】 printf(“sunday\n”);【7】 else printf(“data error\n”);【8】 break; case F:【9】 printf(“fridaykn”);【10】 break; caseM:【11】 printf(“mondayha”);【12】 break; caseT:【13】 printf(“%c\n”,letter); printf(“please input second letter\a”);【14】 //输入第二个字母 if((letter=getch())==u)【15】 printf(“tuesday\n”);【16】 else if(letter==h)【17】 printf(“thursday\n”);【18】 else printf(“data error\n”);【8】 break; case W:【19】 printf(“wednesday\n”);【20】 break; default:【21】 printf(“data error\n”);【8】 } } return 0;【22】 } 2.【path1】1,22 【path2】2,3 【path3】2,3,4,5,22 【path4】2,3,6,7,22 【path5】2,3,6,8,22 【path6】9,10,22 【path7】11,12,22 【path8】13,14 【path9】13,14,15,16 【path10】13,14,17,18,22 【path11】13,14,8,22 【path12】19,20,22 【path13】19,8,22 生成测试用例,确保基本路径集中每条路径的执行 Path1、输入数据y,输出结果程序结束返回值0 Path2、输入数据s,输出结果“ s 输入第二个字母” Path3、输入数据s后,输入数据a,输出结果“Saturday” Path4、输入数据s后,输入数据u,输出结果“Sunday” Path5、输入数据s后,输入数据非a非u,输出结果“data error” Path6、输入数据f,输出结果“friday” Path7、输入数据m,输出结果“monday” Path8、输入数据t,输出结果“输入第二个字母” Path9、输入数据t后,输入数据u,输出结果“tuesday” Path10、输入数据t后,输入数据h,输出结果“thursday” Path11、输入数据t后,输入数据非u非h,输出结果“data error” Path12、输入数据w,输出结果“wednesday” Path13、输入数据defalt,输出结果“data error” 3.不能达到100%,一些独立的路径如此程序中的【输入】,往往不是完全孤立的,有时候他是程序正常的控制流的一部 分,这时,这些路径的测试可以是另一条路径测试的一部分。 3.某邮件系统测试项目中的测试执行阶段按计划在5天后结束,将进入测试总结阶段。测试管理人员通过QESuite Web Version 1.0测试过程管理工具观察到下列测试项目信息:(如下表) (1).请依据以上表格中内容,说明在测试用例设计和测试用例执行两方面存在的问题,并简要指明原因。(2).已知软件问题处理状况如下: 测试项目当前处在“待验”状态的软件问题有307个,处在“新建”状态的软件问题有35个,处在“打开”状态的软件问 题有243个。测试组的软件问题处理能力是70个软件问题/工作日,开发组修复软件问题的能力是40个软件问题/工作日。 请根据测试执行阶段剩余的天数与软件问题处理状况信息,说明开发组和测试组在软件问题处理方面存在的问题,并简 要指明原因。 参考答案: (1).子系统下安装功能区域未指明,客户端管理功能区域没有设计测试用例,邮件系统的功能设置测试用例未执行完,其中还有5个用例未执行。 测试用例设计存在问题:功能区域划分不详细,客户端管理的测试用例没有覆盖到,用例覆盖不全面。测试执行存在问 题:存在未执行的用例。 (2).存在问题是开发组和测试组不能在5天后完成工作。根据题中描述的数据,开发组中要修改的问题数是243+35=278,需要修改时间是278/40=7天;测试组即便新建的问题不需要修改,需要时间是:(307+243)/70=8天。 历年真题考试时间: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 #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(c<1||c>4);return c;} /* Input addresses 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 < MAX)addr_list[slot].name[0]=\0;} /* Display the list on the screen.*/ void list(void){ register int t; for(t=0;t 2.设计一组测试用例,使该程序所有函数的语句覆盖率尽量达到100%。如果认为该程序的语句覆盖率无法达到100%,需说明原因。(20分) 文件格式 C:一个排版软件是否可以打开该软件以前版本保存的文件 D:一个文字处理软件是否可以打开其他文字处理软件保存的文件 21: 参考答案:B 参考解析:(P247~249) www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 试题内容: o 下列有关测试过程抽象模型的描述中正确的是 o o A:V模型指出,软件测试要尽早准备,尽早执行,只要某个测试达到了准备就绪点,测试执行活动就可开展 B:W模型强调,测试伴随着整个软件开发周期同步进行,而且测试的对象不仅仅是程序,需求、设计也同样要测试 C:H模型指出,单元测试和集成测试应检测程序的执行是否满足软件设计的要求 D:X模型提出针对完整的程序进行集成的编码和测试 22: 参考答案:D 参考解析:(P255)制定测试计划,要达到的目标有:为测试各项活动制定一个现实可行的综合的计划;建立一个组织模型;开发有效的测试模型;确定测试所需要的时间和资源;确定测试过程中每个测试阶段的测试完成标准和要实现的目标;识别出测试活动中各种风险,并给出风险应对措施。 o 试题内容: o 以下活动中,哪个不属于测试计划的内容 o A:为测试各项活动制定一个现实可行的综合的计划 B:确定测试过程中每个测试阶段的测试完成标准 C:识别测试活动中各种风险,并给出风险应对措施 D:分析测试需求,并制定测试方案 23: 参考答案:D 参考解析:(P276)自动测试工具不是智能测试工具,而是再测试工具,即回归测试工具。 o 试题内容: o 以下有关回归测试的说法中错误的是 o A:严格来说,回归测试不是一个测试阶段,只是一种可以用于各个测试阶段的测试技术 www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 B:回归测试的目标是保证被测应用在系统被修改和扩充后,各项功能依然正确 C:回归测试可以在系统和验收测试环境下进行 D:回归测试适合采用传统手工方法来完成,而不适合使用自动化测试工具来完成 24: 参考答案:A 参考解析:(P44~45)静态错误分析主要用于确定在源程序中是否有某类错误或危险结构。它有以下几种:类型和单位分析,引用分析,表达式分析,接口分析。 o 试题内容: o 软件静态分析一般包括:控制流分析、数据流分析、接口分析,以及 o A:表达式分析 B:功能分析 C:边界值分析 D:因果图分析 25: 参考答案:C 参考解析:(P120)系统测试与单元测试,集成测试的区别在于测试方法不同:系统测试一般采用黑盒测试方法;单元测试一般采用白盒测试方法,辅以黑盒测试方法;集成测试主要采用黑盒测试方法,辅以白盒测试方法。 o 试题内容: o 以下说法中错误的是 o A:单元测试一般采用白盒测试方法,辅以黑盒测试方法 B:集成测试主要采用黑盒测试方法,辅以白盒测试方法 C:配置项测试一般采用白盒测试方法 D:系统测试一般采用黑盒测试方法 www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 二、论述题(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。 1: 参考答案:(3)基本路径集=Cache复杂度=4 设计测试用例如下: ①输入空值,执行路径 S1-S2-S1 ②输入abc, 空值, 执行路径S1-S2-S3-S2-S1 ③输入1.23_ , 执行路径S1-S2-S3-S1 ④输入abc,4.56_ 执行路径S1-S2-S3-S2-S3-S1 试题内容: o 考虑一个根据以下简单规则确认输入数有效性的应用程序: ■输入数由数字、符号“+”或“-”开始。■该数字或符号后面可接任意位数的数字。 ■这些数字可以有选择地后接用英文句号表示的小数点。■如果有一个小数点,则小数点后面应该有两位数字。■任何输入数,不管是否有小数点,都应该以空格结束。o www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 请根据以上处理规则: (1)画出相应的状态转换图。(4分)(2)根据状态转换图,列出相应的状态转换表,给出“当前状态”、当前状态允许的“输入”和对应每一个输入的“下一个状态”。(4分) (3)根据状态转换图和状态转换表,导出基本路径测试的测试用例及其覆盖的测试路径。(12分) 2: 参考答案: 试题内容: o QESuite Web Version 1.0中,已知DUCHA 1.0工作专网系统测试项目的部分信息如下: ●测试版本:总计3个测试版本,按日期排序分别为DUCHA1.0_100105,DUCHA1.0_100205,DUCHA1.0_100210。●功能分类视图中部分待测区域及人员分配定义如下表所示:(表1) 已知在功能区域“工作平台/归档”下有一个软件问题处于“打开/再现”状态,下表中是该软件问题操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。o www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 (表2) 3: 参考答案:(1)流程图 ① void reverse(char s[])的流程图(见图1) ②void getHex(int number,char s[])的流程图(见图2)③int main()的流程图(见图3)(2)设计测试用例 ①输入0,输出0 ②输入2,输出2 ③输入26,输出1A ④输入27, 输出1B ⑤输入28, 输出1C ⑥输入29, 输出1D ⑦输入30, 输出1E ⑧输入31,输出1F ⑨输入20P,输出错误 语句覆盖率无法达到100%,因为main()函数中的return 0 语句永远无法执行。 www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 试题内容: o 已知C源程序如下: #include www.xiexiebang.com/jsjks/湖北计算机考试网 www.xiexiebang.com/jsjks/湖北计算机考试网 printf(“%c”,s[i++]);return 0;}(1)画出程序中所有函数的控制流程图;(10分) (2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。(10分) www.xiexiebang.com/jsjks/湖北计算机考试网 历年真题考试时间:120试卷总分:100 2009年9月全国计算机等级考试四级软件测试工程师笔试 真题 一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 1: 参考答案:B 参考解析:(P25)验证与确认的主要活动有关键性分析、可跟踪性分析、评估等,这些工作分布在软件开发的各个阶段。 o 试题内容: o 软件验证和确认是保证软件质量的重要措施,它的实施应该针对 o A:程序编写阶段 B:软件开发的所有阶段 C:软件调试阶段 D:软件设计阶段 2: 参考答案:B 参考解析:(P37)软件功能测试属于黑盒测试。 o 试题内容: o 在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是 o A:程序结构 B:软件外部功能 C:程序正确性 D:程序内部逻辑 3: 参考答案:D 参考解析:接口分析主要是看程序模块或子程序之间的调用是否正确。 试题内容: o 在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是 o o A:操作性分析 B:可靠性分析 C:引用分析 D:接口分析 4: 参考答案:D 参考解析:(P85~86)在设计测试用例时,还应考虑从需求和设计的角度出发,使用已有的经验去挖掘测试用例。 o 试题内容: o 下列指导选择和使用测试覆盖率的原则中错误的是 o A:覆盖率不是目的,仅是一种手段 B:不要追求绝对100%的覆盖率 C:不可能针对所有的覆盖率指标来选择测试用例 D:只根据测试覆盖率指标来指导测试用例的设计 5: 参考答案:A 参考解析:(P68)满足条件组合覆盖,可能漏掉某些路径覆盖。 o 试题内容: o 在以下有关逻辑覆盖的说法中错误的说法是 o A:所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准 B:条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求 C:路径覆盖的查错能力很强,但有时达不到条件组合覆盖的覆盖率要求 D:判定覆盖包含了语句覆盖,但它不能保证每个错误条件都能检查得出来 6: 参考答案:D 参考解析:(P53)走查程序不需要程序员逐条讲解程序。 o 试题内容: o 走查是对软件进行静态测试的一种方法,以下不属于走查活动的是 o A:计划走查会议 B:准备测试用例 C:执行走查以发现和改正错误 D:在走查过程中程序员逐条讲解自己的程序 7: 参考答案:A 参考解析:暂无解析 o 试题内容: o 设有一段程序如下 满足判定—条件覆盖的要求下,最少的测试用例数目是 o A:6 B:8 C:3 D:4 8: 参考答案:A 参考解析:(P135)自底向上集成可以在早期进行并行测试。 试题内容: o 在以下有关集成测试的说法中,错误的说法是 o o A:自底向上集成的缺点是在早期不能进行并行测试,不能充分利用人力 B:自底向上集成的优点是减少了编写桩模块的工作量 C:自顶向下集成的优点是能够较早地发现在高层模块接口、控制等方面的问题 D:自顶向下集成的缺点是需要设计较多的桩模块,测试的开销较大 9: 参考答案:A 参考解析:(P147) o 试题内容: o 在集成测试阶段,人们关注的一种主要的覆盖是 o A:功能覆盖 B:语句覆盖 C:基本路径覆盖 D:条件覆盖 10: 参考答案:D 参考解析:暂无解析 o 试题内容: o 可跟踪性分析是一种重要的软件验证和确认方法。不属于可跟踪性分析的活动是 o A:正确标识在需求规格说明中的每项需求 B:从需求规格开始的正向跟踪应确保完全支持需求规格 C:每个当前的阶段产品的规格或特性应确保被可跟踪的前驱规格所支持 D:确保所有不同接口规格说明的完整性 11: 参考答案:B 参考解析:(P180)负载测试目的是探测软件处理能力的极限,压力测试目的是利用压力揭示潜在缺陷。 o 试题内容: o 以下关于软件性能测试的说法中,不正确的是 o A:发现软件缺陷是性能测试的目的之一 B:压力测试与负载测试的目的都是为了探测软件在满足预定的性能需求的情况下所能负担的最大压力 C:性能测试通常需要对测试结果进行分析才能获得测试结论 D:检验软件的最大负载是性能测试的目的之一 12: 参考答案:C 参考解析:(P179~180)广义软件性能测试不包括兼容性测试。 o 试题内容: o 以下哪种软件测试不属于广义软件性能测试的范畴 o A:并发测试 B:压力测试 C:兼容性测试 D:负载测试 13: 参考答案:A 参考解析:(P186) o 试题内容: o 以下关于软件可靠性与硬件可靠性主要区别的说法中,正确的是 o A:软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别 B:软件经常面临恶意的使用者,而硬件没有恶意的使用者 C:软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区 D:软件的失效都是逻辑错误引起的,而硬件的失效都不是逻辑错误引起的 14: 参考答案:B 参考解析:(P197)在面向对象软件的系统测试中用到了黑盒测试。 o 试题内容: o 以下关于面向对象软件测试的说法中,错误的是 o A:对于面向对象程序集成测试而言,大突击集成可能导致测试不充分 B:面向对象软件只能采用白盒测试,不能采用黑盒测试 C:在存在多态的情况下,为了提高测试的充分性需要对所有可能的绑定都进行测试 D:单个成员方法的测试属于面向对象程序单元测试考虑的范畴 15: 参考答案:C 参考解析:暂无解析 o 试题内容: o 以下关于面向对象软件测试的说法中,正确的是 o A:对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用 B:基于判定表的测试不能用于面向对象程序的单元测试 C:不变式边界测试可用于类层次的测试,其目的是测试功能组合 D:对于抽象类,需要进行单元测试 16: 参考答案:B 参考解析:(P201)自底向上和自顶向下都要辅助大量代码。 o 试题内容: o 以下关于面向对象程序集成测试的说法中,正确的是 o A:大突击集成在任何情况下都是效果最差的面向对象程序集成测试策略 B:自底向上集成和自顶向下集成都需要为集成测试开发大量辅助代码 C:协作集成从本质上讲是一种自底向上集成 D:基干集成从本质上讲是一种自顶向下集成 17: 参考答案:C 参考解析:(P217)Cookies测试是功能测试的一项内容。 o 试题内容: o 以下关于Web应用软件测试的说法中,正确的是 o A:对Web应用软件进行性能测试时,不需要进行压力测试 B:内容测试是Web应用软件易用性测试的一项重要内容 C:Cookie测试是Web应用软件功能测试的一项重要内容 D:是否存在无效链接是Web应用软件安全性测试关注的范畴 18: 参考答案:C 参考解析:(P231)软件易用性包括禁止用户的非法操作。 o 试题内容: o 以下哪一项属于软件易用性测试关注的范畴 o A:软件是否能在多种操作系统下运行 B:软件是否能与同类软件共享数据 C:软件是否能主动禁止用户可能进行的非法操作 D:软件是否能抵御网络攻击 19: 参考答案:D 参考解析:(P229)软件能否打开以前版本保存的文件体现了兼容性。 o 试题内容: o 以下哪一项属于数据兼容性测试关注的范畴 o A:软件在异常退出时是否会破坏正在处理的文件 B:软件是否可以在不同的J2EE应用服务器上运行 C:软件同类功能的使用风格是否一致 D:软件是否能打开以前版本保存的文件 20: 参考答案:A 参考解析:(P240)极限检测是对极限编程软件的测试。 o 试题内容: o 以下关于极限测试的说法中,正确的是 o A:极限测试是一种针对极限编程的软件测试 B:极限测试中所有的测试均由编码人员完成 C:与传统的软件测试相比,极限测试是一种更严格的测试 D:极限测试中只需要进行单元测试 21: 参考答案:D 参考解析:(P329)同一个软件缺陷,不应重复报告。 o 试题内容: o 下列有关软件缺陷报告的编写原则中,哪个是错误的 o A:一个软件缺陷报告中只应记录一个不可再划分的软件缺陷 B:软件缺陷报告的标题应该能够最简洁表达一个软件缺陷 C:软件缺陷报告中应提供全面的有关该软件缺陷再现的信息 D:同一个软件缺陷可以被重复报告 22: 参考答案:C 参考解析:(P331)在新建状态下,验证操作是无法实现的。 o 试题内容: o 依据QESuite Web Version 1.0软件问题生命周期定义,对于一个处在“新建”状态的软件问题报告,下列哪个操作是不可能出现的 o A:校验 B:关闭 C:验证 D:分类与分配 23: 参考答案:B 参考解析:(P262~264)技术文档不是测试环境组成要素。 o 试题内容: o 下列哪个不是测试环境的组成要素 o A:软硬件 B:技术文档 C:测试工具 D:网络环境 24: 参考答案:C 参考解析:国家标准《GB/T155322008 计算机软件测试规范 》第4.6节,测试管理包括过程管理、配置管理和评审。 o 试题内容: o 根据《GB/T155322008计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及 o A:测试用例管理 B:测试环境管理 C:配置管理 D:测试系统管理 25: 参考答案:B 参考解析:国家标准《GB/T155322008 计算机软件测试规范 》第4.5.1节 测试用例设计原则: a)基于测试需求的原则。应按照测试类别的不同要求,设计测试用例。如,单元测试依据详细设计说明,集成测试依据概要设计说明,配置项测试依据软件需要规格说明,系统测试依据用户需求(系统/子系统设计说明、软件开发计划等); b)基于测试方法的原则。应明确所采用的测试用例设计方法。为达到不同的测试充分性要求,就采用相应的测试方法,如等价类划分、边界值分析、猜错法、因果图等方法; c)兼顾测试充分性和效率的原则。测试用例集就兼顾测试的充分性和测试的效率;每个测试用例的内容也应完整,具有可操作性; d)测试执行的可再现性原则。应保证测试用例执行的可再现性。 o 试题内容: o 根据《GB/T155322008计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及 o A:测试用例无冗余性原则 B:测试执行可重复性原则 C:测试用例可操作性原则 D:测试用例可管理性原则 二、论述题(共3题,共50分)论述题答题必须用蓝、黑钢笔或圆珠笔写在论述题答题纸的相应位置上。 1: o 参考答案:2.基本测试路径集 路径1:S1→S1 路径2:S1→S2→S5 路径3:S1→S2→S3→S5 路径4:S1→S2→S3→S4→S5 路径5:S1→S2→S3→S4→S1 试题内容: o 请完成下列工作: (1)请给出与此有限状态机等价的控制流图;(4分)(2)确定基本测试路径集;(9分)o 2: o (3)设计测试用例以覆盖基本测试路径。(7分)参考答案:函数的控制流程图如下: ①int leap(struct ydate d)②{if((d.year%4==0&&d.year%100!=0)||(d.year%400==0)) ③return 1;④else ⑤return 0;⑥} ⑦int numdays(struct ydate d)⑧{int day;⑨static int daytab[]= ⑩{31,28,31,30,21,30,31,31,30,31,30,31};if(leap(d)&&d.month==2)day=29;else day=daytab[d.month-1];return day;} int main(void){struct ydate today,tomorrow;printf(“format of date is:year,month,day输入的年,月,日之间应用逗号隔开\n”);printf(“ today is:”);scanf(“%d,%d,%d”,&today.year,&today.month,&today.day);while(0>=today.year ||today.year>65535||0>=today.month||today.month>12|| 0>=today.day||today.day>numdays(today)){printf(“input date error!reenter the date!\n”);printf(“today is:”);scanf(“%d,%d,%d”,&today.year,&today.month,&today.day);} if(today.day!=numdays(today)){tomorrow.year=today.year;tomorrow.month=today.month;tomorrow.day=today.day+1;} else if(today.month==12){tomorrow.year=today.year+1;tomorrow.month=1;tomorrow.day=1;} else {tomorrow.year=today.year;tomorrow.month=today.month+1;tomorrow.day=1;} printf(“tomorrow is:%d,%d,%d\n\n”, tomorrow.year,tomorrow.month,tomorrow.day); } 2.测试用例(见表一) 以上测试用例可使该程序所有函数的语句覆盖率和分支覆盖率均 达到100%。 试题内容: o 已知C源程序如下: /*Input todays date,output tomorrows date*/ /*version 2*/ #include printf(“format of date is:year,month,day 输入的年,月,日之间应用逗号隔开\n”);printf(“today is:”);scanf(“%d,%d,%d”,&today.year,&today.month,&today.day);while(0>=today.year ||today.year>65535||0>=today.month||today.month>12|| 0>=today.day||today.day>numdays(today)){printf(“input date error!reenter the date!\n”);printf(“today is:”);scanf(“%d,%d,%d”,&today.year,&today.month,&today.day);} if(today.day!=numdays(today)){tomorrow.year=today.year;tomorrow.month=today.month;tomorrow.day=today.day+1;} o 3: o ooelse if(today.month==12){tomorrow.year=today.year+1;tomorrow.month=1;tomorrow.day=1;} else {tomorrow.year=today.year;tomorrow.month=today.month+1;tomorrow.day=1;} printf(“tomorrow is :%d,%d,%d\n\n”,tomorrow.year,tomorrow.month,tomorrow.day);}(1)画出程序中所有函数的控制流程图;(10分)(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。(10分)参考答案: 试题内容: QESuite Web Version 1.0中,已知Lead 1.0邮件系统测试项目的部分信息如下: ●测试版本:总计2个测试版本,按日期排序分别为Lead1.0_090703,Lead1.0_090801 ●功能分类视图中部分待测区域及人员分配定义如下表一所示: 已知在功能区域“性能/并发处理能力”下有一个软件问题处于“打开/修复失败”状态,下表二中是该软件问题当前的部分操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。(每空1分)第三篇:2009年3月全国计算机等级考试四级软件测试工程师笔试真题
第四篇:2010年3月全国计算机等级考试四级软件测试工程师笔试真题
第五篇:2009年9月全国计算机等级考试四级软件测试工程师笔试真题(含答案)