9月软件测试工程师_软件测试工程师指南
9月软件测试工程师由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件测试工程师指南”。
2009年9月
一、选择题(1-25每题2分,共50分)
下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
1.软件验证和确认是保证软件质量的重要措施,它的实施应该针对________。(A)程序编写阶段
(B)软件开发的所有阶段(C)软件调试阶段(D)软件设计阶段
2.在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是________。(A)程序结构(B)软件外部功能(C)程序正确性
(D)程序内部逻辑
3.在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是________。
(A)操作性分析(B)可靠性分析(C)引用分析(D)接口分析
4.下列指导选择和使用测试覆盖率的原则中错误的是________。(A)覆盖率不是目的,仅是一种手段(B)不要追求绝对100%的覆盖率
(C)不可能针对所有的覆盖率指标来选择测试用例(D)只根据测试覆盖率指标来指导测试用例的设计
5.在以下有关逻辑覆盖的说法中错误的说法是________。
(A)所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准
(B)条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求(C)路径覆盖的差错能力很强,但有时达不到条件组合覆盖的覆盖率要求(D)判定覆盖包含了语句覆盖,但它不能保证每个错误条件都能检查得出来 6.走查是对软件进行静态测试的一种方法,以下不属于走查活动的是________。(A)计划走查会议(B)准备测试用例
(C)执行走查以发现和改正错误
(D)在走查过程中程序员逐渐讲解自己的程序 7.设有一段程序如下
if((a==b)and((c==d)or(e==f)))do S1 else if((p==q)or(s==t))do S2 else do S3 满足判定/条件覆盖的要求下,最少的测试用例数目是________。(A)6(B)8(C)3
(D)4 8.在以下有关集成测试的说法中,错误的说法是________。
(A)自底向上集成的缺点是在早期不能进行并行测试,不能充分利用人力(B)自底向上集成的优点是减少了编写桩模块的工作量
(C)自顶向下集成的优点是能够较早地发现在高层模块接口、控制等方面的问题(D)自顶向下集成的缺点是需要设计许多的桩模块,测试的开销较大 9.在集成测试阶段,人们关注的一种主要的覆盖是________。(A)功能覆盖(B)语句覆盖(C)基本路径覆盖(D)条件覆盖
10.可跟踪性分析是一种重要的软件验证和确认方法。不属于可跟踪性分析的活动是________。
(A)正确标识在需求规格说明中的每项需求
(B)从需求规格开始的正向跟踪应确保完全支持需求规格
(C)每个当前的阶段产品的规格或特性应确保被可跟踪的前驱规格所支持(D)确保所有不同接口规格说明的完整性
11.以下关于软件性能测试的说法中,不正确的是________。(A)发现软件缺陷是性能测试的目的之一
(B)压力测试与负载测试的目的都是为了探测软件在满足预定的性能需求的情况下所能负担的最大压力
(C)性能测试通常需要对测试结果进行分析才能获得测试结论(D)检验软件的最大负载是性能测试的目的之一
12.以下哪种软件测试不属于广义软件性能测试的范畴________。(A)并发测试(B)压力测试(C)兼容性测试
(D)负载测试
13.以下关于软件可靠性与硬件的可靠性主要区别的说法中,正确的是________。
(A)软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别(B)软件经常面临恶意的使用者,而硬件没有恶意的使用者
(C)软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区(D)软件的失效都是逻辑错误引起的,而硬件的失效都不是逻辑错误引起的 14.以下关于面向对象软件测试的说法中,错误的是________。(A)对于面向对象程序集成测试而言,大突击集成可能导致测试不充分(B)面向对象软件只能采用白盒测试,不能采用黑盒测试
(C)在存在多态的情况下,为了提高测试的充分性需要对所有可能的绑定都进行测试(D)单个成员方法的测试属于面向对象程序单元测试考虑的范畴 15.以下关于面向对象软件测试的说法中,正确的是________。
(A)对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用(B)基于判定表的测试不能用于面向对象程序的单元测试
(C)不变式边界测试可用于类层次的测试,其目的是测试功能组合(D)对于抽象类,需要进行单元测试
16.以下关于面向对象程序集成测试的说法中,正确的是________。
(A)大突击集成在任何情况下都是效果最差的面向对象程序集成测试策略(B)自底向上集成和自顶向下集成都需要为集成测试开发大量辅助代码(C)协作集成从本质上讲是一种自底向上集成(D)基于集成从本质上讲是一种自顶向下集成17.以下关于Web应用软件测试的说法中,正确的是________。(A)对Web应用软件进行性能测试时,不需要进行压力测试(B)内容测试是Web应用软件易用性测试的一项重要内容(C)Cookie测试是Web应用软件功能测试的一项重要内容(D)是否存在无效链接是Web应用软件安全性测试关注的范畴 18.以下哪一项属于软件易用性测试关注的范畴________。(A)软件是否能在多种操作系统下运行(B)软件是否能与同类软件共享数据
(C)软件是否能主动禁止用户可能进行的非法操作(D)软件是否能抵御网络攻击
19.以下哪一项属于数据兼容性测试关注的范畴________。(A)软件在异常退出时是否会破坏正在处理的文件(B)软件是否可以在不同的J2EE应用服务器上运行(C)软件同类功能的使用风格是否一致(D)软件是否能打开以前版本保存的文件
20.以下关于极限测试的说法中,正确的是________。(A)极限测试是一种针对极限编程的软件测试
(B)极限测试中所有的测试均由编码人员完成(C)与传统的软件测试相比,极限测试是一种更严格的测试(D)极限测试中只需要进行单元测试
21.下列有关软件缺陷报告的编写中,哪个是错误的________。(A)一个软件缺陷报告中只应记录一个不可再划分的软件缺陷(B)软件缺陷报告的标题应该能够最简洁表达一个软件缺陷
(C)软件缺陷报告中应提供全面的有关该软件缺陷再现的信息(D)同一个软件缺陷可以被重复报告 22.依据QESuite Web Version 1.0软件问题生命周期定义,对于一个处在“新建”状态的软件问题报告,下列哪个操作是不可能出现的________。(A)校验(B)关闭(C)验证
(D)分类与分配
23.下列哪个不是测试环境的组成要素________。(A)软硬件(B)技术文档(C)测试工具
(D)网络环境 24.根据《GB/T15532-2008计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及________。(A)测试用例管理(B)测试环境管理
(C)配置管理
(D)测试系统管理
25.根据《GB/T15532-2008计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及________。(A)测试用例无冗余性原则(B)测试执行可重复性原则(C)测试用例可操作性原则
(D)测试用例可管理性原则
二、论述题(1-2每题20分,3-3每题10分,共50分
1.下图是一个简单的ATM机中描述验证信用卡PIN活动的有限状态机。其中包含5个用“ ”表示的状态和8个用“→”表示的转移。转移上的标签所遵循的是:横线上方是引起转移的事件,横线下方是与该转移相关联的行动。该有限状态机允许储户有三次输入PIN的机会,如果三次都输入错误,则停止交易退卡。
请完成下列工作:
(1)请给出与此有限状态机等价的控制流图;(4分)(2)确定基本测试路径集;(9分)
(3)设计测试用例以覆盖基本测试路径。(7分)
2.QESuite Web Version 1.0中,已知Lead 1.0邮件系统测试项目的部分信息如下:
测试版本:总计2个测试版本,按日期排序分为Lead1.0_090703,Lead1.0_090801
功能分类视图中部分待测区域及人员分配定义如下表所示:
已知在功能区域“性能/并发处理能力”下有一个软件问题处于“打开/修复失败”状态,下表中是该软件问题当前的部分操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。(每空1分)
3.已知C源程序如下:
/* Input today's date,output tomorrow's date */ /* version 2 */ #include struct ydate {
int day;
int month;
int year;};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,31,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 day!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,%dnn”,tomorrow.year,tomorrow.month,tomorrow.day);}(1)画出程序中所有函数的控制流程图;(10分)
(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。(10分)
答案:
1.分析:(1)把有限状态自动机图的状态用结点代替,迁移用弧线代替,则可画出相应的控制流图。
2.分析:本题主要考察QESuite Web Version 1.0的使用方法 3.分析:(1)函数leap的流程图如下:
函数numdays的流程图如下:
main函数的流程图如下(语句的具体内容已略去):
本题的程序用来打印输入日期的第二天日期,只要根据程序中的判断语句设计出相关的测试用例,就能使得所有函数的语句覆盖率和分支覆盖率均能达到100%。
为了满足leap函数的语句覆盖率和分支覆盖率均能达到100%,应当设置两个测试用例,使得一个是闰年,一个不是,在这里可以取2008年和2007年。
由于numdays函数的判定语句是对leap的函数值进行判定,满足了leap的覆盖率要求,就
能够满足numdays的覆盖率要求。
对于main函数中的while语句,根据流程图,先使判断部分为1,然后为0,这样就可以达到覆盖要求。对于while语句之后的if…else if…else语句,只要能够使每个分支都执行一遍,就能达到覆盖要求。
根据以上分析,设计测试用例如下:
注意,这里的第1、2个用例使得leap函数中的return 1和 return 0都能执行一遍,同时numdays函数中的if…else结构两个分支也都能得到执行;第1个用例也能够使while循环体能够得到执行;第2、3、4用例三个测试用例刚好使main中的if…else if…else三个分支都执行一遍。
◆ 基本要求1.熟悉软件质量、软件测试及软件质量保证的基础知识;2.掌握代码检查、走查与评审的基本方法和技术;3.掌握白盒测试和黑盒测试的测试用例的设计原则和方法;4.掌握......
软件测试工程师个人简历光阴如水,又将迎来自己找工作的生活,这时候可别把简历给忘了哦。但是怎么写才更能吸引眼球呢?下面是小编收集整理的软件测试工程师个人简历,欢迎大家分享......
刀豆文库小编为你整合推荐6篇软件测试工程师求职信,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
刀豆文库小编为你整合推荐5篇软件测试工程师总结,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
刀豆文库小编为你整合推荐4篇软件测试工程师简历,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
