2009年9月全国计算机等级考试四级软件测试工程师笔试真题(含答案)

时间:2019-05-14 11:02:00下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《2009年9月全国计算机等级考试四级软件测试工程师笔试真题(含答案)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《2009年9月全国计算机等级考试四级软件测试工程师笔试真题(含答案)》。

第一篇:2009年9月全国计算机等级考试四级软件测试工程师笔试真题(含答案)

历年真题考试时间: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/T155322008 计算机软件测试规范 》第4.6节,测试管理包括过程管理、配置管理和评审。

o 试题内容:

o 根据《GB/T155322008计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及

o 

   

A:测试用例管理 B:测试环境管理 C:配置管理 D:测试系统管理

25: 参考答案:B  参考解析:国家标准《GB/T155322008 计算机软件测试规范 》第4.5.1节 测试用例设计原则:

a)基于测试需求的原则。应按照测试类别的不同要求,设计测试用例。如,单元测试依据详细设计说明,集成测试依据概要设计说明,配置项测试依据软件需要规格说明,系统测试依据用户需求(系统/子系统设计说明、软件开发计划等);

b)基于测试方法的原则。应明确所采用的测试用例设计方法。为达到不同的测试充分性要求,就采用相应的测试方法,如等价类划分、边界值分析、猜错法、因果图等方法;

c)兼顾测试充分性和效率的原则。测试用例集就兼顾测试的充分性和测试的效率;每个测试用例的内容也应完整,具有可操作性;

d)测试执行的可再现性原则。应保证测试用例执行的可再现性。

o 试题内容:

o 根据《GB/T155322008计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及

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 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 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分)

第二篇:2010年3月全国计算机等级考试四级软件测试工程师笔试真题(含答案)

历年真题考试时间:120试卷总分:100 2010年3月全国计算机等级考试四级软件测试工程师笔试真题

一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

1: 参考答案:C  参考解析:(P26)接口分析的目的是评估软件交付物是否正确、一致、完整和准确地说明了接口需求。接口分析必须关注三种接口:用户接口、硬件接口和软件接口。

o 试题内容:

o 以下叙述中正确的是

o 

A:可跟踪性分析是在整体上分析整个系统的资源分配策略

B:关键性分析是标识原始需求和相应开发结果之间关系的能力

C:接口分析必须关注三种接口:用户接口、硬件接口和软件接口

D:评估仅在软件开发的最后阶段进行,以确认产品是否符合规模说明

2: 参考答案:D  参考解析:(P109)场景测试方法是基于IBM推行的RUP的测试用例生成方法。该方法从系统分析的结果——用例出发,通过对每个用例的场景进行分析,逐步实现测试用例的构造。

o 试题内容:

o 场景测试方法是基于IBM推行的RUP的测试用例生成方法。该方法的出发点是

o 

   

A:事件流 B:数据流 C:控制流 D:用例

3: 参考答案:A  参考解析:(P115)内部边界值测试可以用来发现一些内部错误,如误把“<”写作“<=”。但内部边界值测试应作为一种补充方法,在其他方法的最后使用。

o 试题内容:

o 下面一段小程序是判断一个长度为n的字符数组是否中心对称。例如,“abcddcba”或“abcdcba”就是中心对称。作为内部边界值,应填入()内的判断应是 

o    

A:ij

D:i!=j(判不等)4: 参考答案:C  参考解析:(P152)功能测试主要是为了发现以下几类错误:是否有不正确或遗漏了的功能;功能实现是否满足用户需求和系统设计的隐式需求;能否正确地接受输入,能否正确地输出结果。

o 试题内容:

o 检查系统能否正确地接受输入,能否正确地输出结果,这属于

o

  

A:安全性测试 B:GUI测试 C:功能测试

D:协议一致性测试

5: 参考答案:A  参考解析:(P44)静态错误分析有以下几种:类型和单位分析,引用分析等,其中在静态错误分析中,最广泛使用的技术就是发现引用异常。

o 试题内容:

o 检查是否存在“已定义但未使用”的变量引用异常应属于

o

   

A:静态分析 B:动态分析 C:代码执行 D:调试

6: 参考答案:A  参考解析:(P63)语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。

o 试题内容:

o 如果程序通过了百分之百的代码覆盖率测试,则说明程序满足了

o

   

A:语句覆盖 B:编程规范 C:设计规格 D:功能需求

7: 参考答案:B  参考解析:(P65)

o 试题内容:

o 下面有关逻辑覆盖的说法中错误的是

o

 

A:DDP覆盖是判定覆盖的一个变体 B:满足条件覆盖一定也满足判定覆盖

 

C:指令块覆盖属于语句覆盖

D:若判定覆盖率达到100%,则语句覆盖率一定也达到100% 8: 参考答案:A  参考解析:(P71)

试题内容:

o 对于具有串联型分支结构的程序,如果有7个判断语句串联,则使用正交实验设计法,至少需要的测试用例数应为

o o

   

A:23 B:24 C:26 D:27 9: 参考答案:B  参考解析:(P114)规范导出的测试是根据相关的规格说明书描述来设计测试用例的。每一个测试用例用来测试一个或多个规格说明的陈述语句。规范导出法就是根据陈述规范所用语句的顺序来相应地为被测单元设计测试用例。

o 试题内容:

o 考虑一个计算平方根的函数,其规格说明如下:

■输入:浮点数 ■输出:浮点数 ■规格:当输入一个大于或等于零的浮点数时,函数输出其正的平方根并返回true;当输入一个小于零的浮点数时,函数显示出错信息“非法输入值”并返回false。

按照规范导出法,应设计的测试用例数至少应为

o

 

A:1 B:2

 

C:3 D:4 10: 参考答案:C  参考解析:(P135~136)自底向上的增量式集成的目的是从底层构件开始,按照模块调用图的结构,逐层向上集成,以检测整个系统的稳定性。对于具有如下属性的产品,可以优先考虑本集成测试策略:采用契约式设计的产品;底层接口比较稳定的产品;高层接口变化比较频繁的产品;底层模块较早完成的产品。

o 试题内容:

o 适合使用自底向上的增量式集成方式进行集成和测试的产品应属于

o

   

A:使用了严格的净室软件工程过程的产品 B:控制模块具有较大技术风险的产品 C:采用了契约式设计的产品

D:在极限编程中使用了探索式开发风格的产品

11: 参考答案:C  参考解析:(P180)

o 试题内容:

o 以下哪种软件测试属于软件性能测试的范畴

o

   

A:分支覆盖测试 B:极限测试 C:负载测试 D:硬件兼容性测试

12: 参考答案:A  参考解析:暂无解析

o 试题内容:

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

o 

A:达到百分之百的语句覆盖是软件性能测试的一个前提条件

 

B:并发进程数是度量软件性能的一项基本指标 C:探测软件在满足预定的性能需求的情况下所能负担的最大压力是失效恢复测试的主要目的之一

D:发现压力下软件功能的缺陷是软件性能测试的主要目的之一

13: 参考答案:D  参考解析:(P186)软件可靠性测试的目的是收集软件测试时软件故障的情况,并对其进行整理从而为分析和预测软件的可靠性提供帮助。对于具体每个测试用例的设计,可靠性测试需要的测试用例与普通的软件测试并无不同,关键是要保证用于可靠性测试的测试用例集要完全符合运行剖面的定义。因此,此时的测试用例的设计可以完全在运行剖面的指导下进行。

o 试题内容:

o 以下关于软件可靠性测试的说法中,正确的是

o 

A:软件可靠性测试能有效地减少软件在恶意使用下出现崩溃的次数

 

B:软件可靠性测试的主要目的是度量软件的可靠性 C:在一次软件可靠性测试中,执行的测试用例可以不完全符合所定义的软件运行剖面

D:软件可靠性测试使用的测试用例必须满足语句覆盖

14: 参考答案:A  参考解析:暂无解析

o 试题内容:

o 以类为单元进行单元测试时,以下说法中正确的是

o

A:一个测试用例可以调用该类的多个方法,但每个方法只能调用一次

B:一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法

C:由该类方法组成的任何一个序列都是一个合理的测试用例

D:针对一个类的多个实例间协作的测试仍然属于面向对象单元测试的范畴

15: 参考答案:B  参考解析:暂无解析

o 试题内容:

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

o 

 

A:不变式边界测试是一种类级别的单元测试技术 B:对于一棵继承树上的多个类,只有处于叶节点的类需要测试

 

C:测试动态绑定是类树测试的一个目标

D:在面向对象单元测试中,等价类划分测试可以用于方法级别的测试

16: 参考答案:C  参考解析:(P201)所谓大突击集成就是将系统的所有组成成分都集成在一起进行测试。与其他集成策略不同的是,大突击集成只进行一轮,无需进行增量集成。

o 试题内容:

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

o 

A:大突击测试总是面向对象软件集成测试效果最差的方法

B:基于判定表的测试是面向对象软件集成测试的常用方法

C:大突击测试无需增量集成

D:自底向上集成需要开发的测试代码总是比自顶向下集成需要开发的测试代码多

17: 参考答案:C  参考解析:(P219)

o 试题内容:

o 以下关于Web应用软件测试的说法中,正确的是

o 

 

A:内容测试是Web应用软件易用性测试的一项重要内容 B:Web应用软件虽然需要频繁地进行演化,但不需要频繁地进行测试

C:Cookie安全性测试是Web应用软件安全性测试的一项重要内容

D:Web应用软件只能进行白盒测试,不能进行黑盒测试

18: 参考答案:B  参考解析:(P218)对Web应用软件而言,Web服务器,中间服务器和数据库服务器的配置都可能影响其性能。

o 试题内容:

o 以下关于Web应用软件测试的说法中,正确的是

o

A:Web应用软件安全性测试只关注用户能否绕开访问控制使用超越访问权限的内容

B:Web应用软件的性能不仅与Web应用软件自身的代码有关,还可能与所用的Web服务器、中间件服务器以及数据库服务器有关

C:测试Web应用软件是否支持不同的浏览器是Web应用软件表示层测试关注的一项主要内容

D:对于没有使用数据库的Web应用软件,不需要进行性能测试

19: 参考答案:A  参考解析:(P231)与手工相比,使用软件的一个主要优点是能够减少重复的输入,从而保证数据的一致性。

试题内容:

o 以下哪一项属于软件功能易用性测试关注的内容

o o

  

A:软件是否能帮助用户减少输入中的重复劳动 B:软件界面的色彩是否协调

C:软件是否允许用户导入由该软件以前版本生成的数据

D:软件的界面风格是否与同类软件的界面风格一致

20: 参考答案:A  参考解析:(P229)数据兼容性测试包括两类:不同版本间的数据兼容性和不同软件间的数据兼容性。

o 试题内容:

o 以下哪一项不属于数据兼容性测试关注的范畴

o

  

A:一个Web应用软件是否支持不同的关系型数据库 B:一个浏览器是否同时支持不同版本的HTML文件格式 C:一个排版软件是否可以打开该软件以前版本保存的文件

D:一个文字处理软件是否可以打开其他文字处理软件保存的文件

21: 参考答案:B  参考解析:(P247~249)

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:严格来说,回归测试不是一个测试阶段,只是一种可以用于各个测试阶段的测试技术

B:回归测试的目标是保证被测应用在系统被修改和扩充后,各项功能依然正确

 

C:回归测试可以在系统和验收测试环境下进行 D:回归测试适合采用传统手工方法来完成,而不适合使用自动化测试工具来完成

 24: 参考答案:A

 参考解析:(P44~45)静态错误分析主要用于确定在源程序中是否有某类错误或危险结构。它有以下几种:类型和单位分析,引用分析,表达式分析,接口分析。

o 试题内容:

o 软件静态分析一般包括:控制流分析、数据流分析、接口分析,以及

o

   

A:表达式分析 B:功能分析 C:边界值分析 D:因果图分析

25: 参考答案:C  参考解析:(P120)系统测试与单元测试,集成测试的区别在于测试方法不同:系统测试一般采用黑盒测试方法;单元测试一般采用白盒测试方法,辅以黑盒测试方法;集成测试主要采用黑盒测试方法,辅以白盒测试方法。

o 试题内容:

o 以下说法中错误的是

o 

   

A:单元测试一般采用白盒测试方法,辅以黑盒测试方法 B:集成测试主要采用黑盒测试方法,辅以白盒测试方法 C:配置项测试一般采用白盒测试方法 D:系统测试一般采用黑盒测试方法

二、论述题(共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 考虑一个根据以下简单规则确认输入数有效性的应用程序:

■输入数由数字、符号“+”或“-”开始。■该数字或符号后面可接任意位数的数字。

■这些数字可以有选择地后接用英文句号表示的小数点。■如果有一个小数点,则小数点后面应该有两位数字。■任何输入数,不管是否有小数点,都应该以空格结束。请根据以上处理规则:

(1)画出相应的状态转换图。(4分)(2)根据状态转换图,列出相应的状态转换表,给出“当前状态”、当前状态允许的“输入”和对应每一个输入的“下一个状态”。(4分)

(3)根据状态转换图和状态转换表,导出基本路径测试的测试用例及其覆盖的测试路径。(12分)o

 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

(表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 语句永远无法执行。

试题内容:

o 已知C源程序如下:

#include #include void reverse(char s[]){ int c,i,j;for(i=0,j=strlen(s)-1;i0){ if(number%16<10)s[i++]=number%16+0;else switch(number%16){ case 10:s[i++]=A;break;case 11:s[i++]=B;break;case 12:s[i++]=C;break;case 13:s[i++]=D;break;case 14:s[i++]=E;break;case 15:s[i++]=F;break;default:printf(“Error”);break;} number/=16;} s[i]=;reverse(s);} int main(){ unsigned int number;int i=0;char s[50];printf(“%s”,“please input number:”);scanf(“%d”,&number);getHex(number,s);i=0;while(s[i])o

printf(“%c”,s[i++]);return 0;}(1)画出程序中所有函数的控制流程图;(10分)

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

第三篇:2009年3月全国计算机等级考试四级软件测试工程师笔试真题(含答案)

历年真题考试时间:120试卷总分:100  2009年3月全国计算机等级考试四级软件测试工程师笔试

真题

一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

1: 参考答案:D  参考解析:(P6)可靠性:在指定条件下使用,软件产品维持规定的性能水平的能力;效率:在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力;易用性:在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力;功能性:当软件在指定条件下使用,软件产品提供明确的和隐含要求的功能的能力。

o 试题内容:

o 在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的

o 

   

A:效率 B:易用性 C:功能性 D:可靠性

2: 参考答案:C  参考解析:(P19)独立测试是指软件测试工作由在经济上和管理上独立于开发机构的组织进行。

o 试题内容:

o 程序独立测试的人员应是

o

  

A:程序员自己

B:同一开发组的测试成员 C:第三方测试人员

D:同一开发组的其他成员

3: 参考答案:B  参考解析:(P13)严重的错误,是指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明;致命的错误,是指造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等;一般的错误,是指不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好的实现功能,没有达到预期的效果;微小的错误,是指一些小的问题,对功能几乎没有影响,产品及属性仍可使用。

o 试题内容:

o 如果一个软件产品的功能或特性没有实现,包括主要功能部分丢失,次要功能完全丢失,或错误的声明,这是属于

o

   

A:致命的错误 B:严重的错误 C:一般的错误 D:微小的错误

4: 参考答案:B  参考解析:(P21)对与嵌套型分支结构,若有N个判定语句,则存在N+1条不同的路径。

试题内容:

o 有一段小程序,对数组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];o

else if(A[i]>0&&A[i]<=maxInt-posit)posit=posit+A[i];可能的测试路径数是

o    

A:A B:B C:C D:D 5: 参考答案:A  参考解析:(P65)DDP覆盖率公式:DDP覆盖率=被评价到的判定路径数量/程序中判定路径总数×100%=4/7×100%=57.1%。

o 试题内容:

o 下图是一个判定路径覆盖图,其中用“◇”表示判定语句,用“”表示处理语句,用“○”表示判定汇合点,用“●——●”表示判定路径,若有一个测试用例覆盖了判定路径A、B、E、H,则判定路径覆盖率为

o    

A:57.1% B:78.6% C:90% D:100%

6: 参考答案:A  参考解析:(P94)人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。

o 试题内容:

o 人们从长期的测试工作经验得知,大量的错误是发生在输入范围的

o 

   

A:边界上 B:内部 C:外部 D:相互作用上

7: 参考答案:D  参考解析:(P120)单元测试的测试对象是实现了具体功能的程序单元,一般对应详细设计中所描述的设计单元。

o 试题内容:

o 单元测试的测试对象不包括

o

   

A:设计单元 B:各个操作 C:内部消息序列 D:场景

8: 参考答案:C  参考解析:(P125)一个好的设计应能预见各种出错条件,并进行适当的出错处理,即预设各种出错处理通路。

o 试题内容:

o 一个好的程序实现是要考虑各种可能出错的条件,并进行适当的出错处理,即预设各种出错处理的

o

 

A:现象 B:策略

 

C:通路 D:场景

9: 参考答案:B  参考解析:(P146)集成测试中的逆向测试包括分析被测接口是否实现了需求规格没有描述的功能,检查规格说明中可能出现的接口遗漏,或者判断接口定义是否有错误,以及可能出现的接口异常错误,包括接口数据本身的错误、接口数据顺序错误等。

o 试题内容:

o 正向测试的测试用例用于验证被测单元的功能和性能指标是否能够兑现,而反向测试的测试用例则是要检查被测单元是否做了

o

   

A:应该做的事情 B:不该做的事情 C:有错误的事件 D:有性能缺陷的事情

10: 参考答案:C  参考解析:(P138)成对集成的思想就是免除驱动/桩模块的开发,使用实际代码代替驱动模块和桩模块;三明治集成:把系统划分成三层,中间一层为目标层,测试的时候,对目标层上面的一层使用由顶向下的集成策略,对目标层下面的一层使用自底向上的集成策略,最后测试在目标层会合;相邻集成就是对每个邻居建立并执行一个集成测试会话。

o 试题内容:

o 在基于调用图的集成中,有一种集成策略就是对应与调用图的每一条边建立并执行一个集成测试会话,即对有调用关系的两个程序单元进行集成测试,这样可以免除驱动和桩的编写,这种集成策略是

o

   

A:持续集成 B:三明治集成 C:成对集成 D:相邻集成

11: 参考答案:B  参考解析:(P180)软件性能测试的分类:性能测试、并发测试、压力测试、可靠性测试、负载测试、配置测试、失效恢复测试。

o 试题内容:

o 以下哪种软件测试不属于软件性能测试的范畴

o 

   

A:配置测试 B:健壮性测试 C:失效恢复测试 D:负载测试

12: 参考答案:B  参考解析:(P178)软件性能测试的目标:发现缺陷、性能调优、能力检验与规划。

o 试题内容:

o 以下目标中,哪个是软件性能测试的目标

o

   

A:检查软件的容错能力 B:发现压力下软件功能的缺陷 C:发现软件的安全漏洞 D:检查用户界面是否易于使用

13: o 参考答案:A  参考解析:(P187)人们通过软件运行剖面来刻画软件实际运行情况。对于具体每个测试用例的设计,可靠性测试需要的测试用例与普通的软件测试并无不同,关键是要保证用于可靠性测试的测试用例集要完全符合运行剖面的定义。可靠性测试的目的是进行软件可靠性的预测。

o 试题内容:

o 以下关于软件可靠性测试的说法中,正确的是

o

A:软件运行剖面的定义需要符合软件的实际运行情况

 

B:测试用例的生成必须采用白盒测试方法

C:软件可靠性测试通常能够比黑盒测试发现更多的错误

D:软件可靠性测试必须在集成测试中实施

14: 参考答案:C  参考解析:(P192)在设计每个类的测试用例时,不仅要考虑调用各个成员方法的输入参数,还要考虑如何设计调用的序列,而有的测试序列会在某些成员方法执行时因为不能满足方法正常执行的前提条件而导致方法处于不正常的工作状态,这些测试序列不是合理的测试序列。类B继承类A,合理的使用继承时类B的实例应该也是类A的实例,对类B的实例的测试应该已经包括其作为类A实例的测试,但如果继承使用不合理,还需要按照类A的规格说明对类A重新进行测试。等价类划分是一种方法层次的测试。

o 试题内容:

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

o

 

A:面向对象软件只能采用白盒测试,不能采用黑盒测试 B:测试一个类时,该类成员方法的任何一个消息序列都是合理的测试用例

C:若类B是类A的子类,针对类B的测试用例可以包含对类A的成员方法的调用

D:等价类划分是一种类树层次的测试技术

15: 参考答案:C  参考解析:(P201)大突击集成只进行一轮,无需进行增量式集成;与大突击集成相比,自底向上集成中测试的充分性容易得到保证;基干集成的优点是:集中了自底向上集成、自顶向下集成和大突击集成三者的优点,而对三者的缺点也进行了控制,更适合于大型复杂项目的集成。

o 试题内容:

o 以下关于面向对象程序集成测试的说法中,错误的是

o

A:大突击集成只进行一轮,无需增量集成

B:与大突击集成相比,自底向上集成通常有助于得到更高的测试充分性

 

C:基干集成在任何情况下都优于自底向上集成 D:无论是自底向上集成还是自顶向下集成,都需要为集成测试开发相应代码

16: 参考答案:C  参考解析:(P206)集成策略需要关注如何充分测试类间的各种连接。

o 试题内容:

o 以下哪种测试属于面向对象程序集成测试考虑的范畴

o 

   

A:针对一个类的多个成员方法间协作的测试 B:针对一个成员方法的不同输入情况的测试 C:针对多个类的多个实例间协作的测试 D:针对一个类树上多个类间继承的测试

17: 参考答案:A  参考解析:(P217)Web应用软件的系统测试包括性能测试、易用性测试、内容测试、安全性测试、接口测试等;功能测试包括链接测试、表单测试和Cookie测试。

o 试题内容:

o 以下关于Web应用软件测试的说法中,正确的是

o

   

A:链接测试是Web应用软件测试的一项内容 B:Web应用软件测试通常不考虑安全性测试 C:与传统软件相比,Web应用软件测试更简单 D:Web应用软件只能进行黑盒测试,不能进行白盒测试

18: 参考答案:D  参考解析:(P217)Web应用软件的系统测试包括性能测试、易用性测试、内容测试、安全性测试、接口测试等;功能测试包括链接测试、表单测试和Cookie测试。安全性测试包括服务器端的内容安全性、客户端的内容

安全性、Cookie安全性和日志功能;性能测试包括并发测试、负载测试和压力测试、配置测试和性能调优。

o 试题内容:

o 以下关于Web应用软件测试的说法中,错误的是

o

 

A:内容测试是Web应用软件测试的一项重要内容 B:Cookie安全性测试是Web应用软件安全性测试的一项重要内容

 

C:并发测试是Web应用软件性能测试的一项重要内容 D:表单测试是Web应用软件性能测试的一项重要内容

19: 参考答案:D  参考解析:(P230-233)易用性测试包括易安装性测试、功能易用性测试以及用户界面测试;易安装性测试包括安装手册的易用性、安装的自动化程度、安装的灵活性、安装中断的处理、修复安装和卸载、多环境安装的支持;功能易用性测试包括业务符合度、功能定制性、功能的关联度、数据的共享度、用户约束的合理度;用户界面测试包括界面整体测试、界面元素测试、输入测试。A选项属于界面整体测试的合理性测试;B选项属于易安装性测试;C选项属于功能易用性测试的功能定制性。D选项是在静态关联下具有的。

o 试题内容:

o 以下哪一项不属于软件易用性测试关注的范畴

o

   

A:软件界面的色彩是否协调 B:软件是否能在多种操作系统下运行

C:软件是否支持用户根据自己的需要进行定制 D:软件是否能主动引导用户使用相互关联的功能

20: 参考答案:B  参考解析:(P228)与其他软件的兼容性包括与其他支撑软件的兼容性、与其他同类软件的兼容性和与不同类软件的兼容性。同类软件间的互操作:当存在多个同类软件时,用户一般希望它们之间可以互操作,用户因此可以充分利用各个软件的优势;不同类的软件间通常不存在交互和冲突,因此通常不存在兼容性的问题,但对于一些特殊情况需要加以考虑。

试题内容:

o 以下哪一项属于兼容性测试关注的范畴

o o

   

A:办公软件在异常退出时是否会破坏正在处理的文档 B:杀毒软件在清除病毒时是否会破坏办公软件的文档 C:软件同类功能的使用风格是否一致 D:软件提供的功能与用户手册的说明是否一致

21: 参考答案:A  参考解析:(P258)软件测试设计的要点:所设计的测试技术方案是否可行,是否有效和是否能达到预期的测试目标;所设计的测试用例是否完整,边界条件是否考虑,其覆盖范围能达到多高;所设计的测试环境是否和用户的实际使用环境比较接近;白盒测试的用例设计的方法:采用逻辑覆盖的结构测试用例的设计方法;基于程序结构的域测试用例设计方法;数据流测试用例设计方法;根据对象状态或等待状态变化来设计测试用例;基于程序错误的变异来设计测试用例;基于代数运算符合的测试用例设计方法。测试开发是测试用例设计的一部分工作内容。

o 试题内容:

o 下列有关软件测试设计的说法中,正确的是

o

A:测试方案应考虑是否可行、是否有效和是否能够达到预期的测试目标

B:基于判定表的测试用例设计方法是白盒测试用例设计方法

 

C:测试方案设计中可以忽略软件系统的实际使用环境 D:测试开发不是测试用例设计的工作内容

22: 参考答案:D  参考解析:(P265)测试项目结束的阶段性标志是将测试报告或质量报告发送出去,并得到测试经理或项目经理的认可。需要完成的管理操作:①审查测试全过程。在原来跟踪的基础上,要对测试项目进行全过程、全方位的审视,检查测试计划、测试用例是否得到执行,检查测试是否有遗漏。②对当前状态的审查。包括产品缺陷和过程中没有解决的各类问题。对产品目前存在的缺陷进行逐个的分析,了解对产品质量影响的程序,从而决

定产品的测试是否能告一段落。③结束标识。根据上述两项的审查进行评估,如果所有测试内容完成,测试的覆盖率达到要求以及产品质量达到已定义的标准,就可以定稿测试报告。④项目总结。通过对项目中的问题分析,找出流程、技术和管理中存在的问题根源,避免今后再度发生并获得项目成功经验。

o 试题内容:

o 下列有关测试项目结束与定稿测试报告的说法中,正确的是

o

A:测试执行完成,测试人员向测试负责人提交测试报告后,测试项目就可以结束了

B:对当前软件产品存在的缺陷进行逐个分析,认定剩余缺陷对产品质量无重大影响后,即可定稿测试报告

C:审查测试全过程,检查测试计划和内容无遗漏后,即可定稿测试报告

D:当所有测试计划内容完成,测试覆盖率达到要求以及产品质量达到定义的标准,即可定稿测试报告

23: 参考答案:D  参考解析:(P282)如果仅执行自动测试,而不进行自动比较,就不算是自动化测试;自动比较的内容可能是多种类型的:文本信息、专用格式化数据、屏幕输出内容、电子邮件信息、发送到硬件设备的数据或信号、通过网络发送到其他机器和进程的信息、数据库的内容等;自动比较的局限性在于办公自动比较可能没有人工比较灵活。

o 试题内容:

o 下列有关自动测试的基本概念中,错误的是

o 

A:仅有自动测试执行而无自动比较,则不算是完全自动化测试

B:自动比较的内容可以是:文本、格式化数据、电子邮件信息、数据库内容等

C:自动比较的局限性在于自动比较可能没有人工比较灵活性高

D:自动比较海量数据、屏幕输出等信息不是计算机能够胜任的自动工作

24: 参考答案:C  参考解析:(P305)回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,并测试软件变更之后,对软件原有正确的功能、性能和其他规定的要求不产生损害。在变更之后,首先应对变更的软件单元进行测试,然后再进行相关的测试;软件测试规范规定,对具体的软件可根据软件测试合同及软件的重要性、完整性级别的对上述各类软件测试的内容进行裁剪。

o 试题内容:

o 以下关于软件回归测试的说法中错误的是

o 

A:软件变更后,应对软件变更部分的正确性和对变更需求的符合性进行测试

B:软件变更后,首先应对变更的软件单元进行测试,然后再进行其他相关的测试

C:软件变更后,不必再对软件原有正确的功能、性能和其他规定的要求进行测试

D:对具体的软件,可以根据软件测试合同及软件的重要性、完整性级别对回归测试内容进行剪裁

25: 参考答案:D  参考解析:(P305)验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统。验收测试一般由软件的需方组织,由独立于软件开发的人员实施。如果验收测试委托第三方实施,一般应委托国家认可的第三方测试机构。软件验收测试的技术依据是软件研制合同。其测试工作应满足被验收测试的软件已通过系统测试。

o 试题内容:

o 以下说法中错误的是

o 

A:验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统

B:验收测试的技术依据是软件研制合同(或用户需求或系统需求)

C:进行验收测试的软件必需已经通过系统测试

D:验收测试一般应由软件的需方组织,不可以委托第三方测试机构实施

二、论述题(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。

 1: 参考答案:

试题内容:

o 一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。转换到各个状态的条件如下: S1:(t0)创建栈对象时初始化,这是系统做的;(t1)在S2状态下执行置空运算setEmpty();(t2)在S3状态下执行置空运算setEmpty();(t3)在S2状态下执行出栈运算Pop();S2:(t4)在S1状态下执行进栈运算Push();o

(t5)在S3状态下执行出栈运算Pop();S3:(t6)在S2状态下执行进栈运算Push()。为简化问题,假设栈Stack的容量为2,栈元素的数据类型为整数。要求

1.根据题意,画出栈对象的状态迁移图; 2.计算该状态迁移图的McCabe环路复杂性;

3.确定基本的测试路径,要求测试路径从S1出发最后回到S1,同时在状态转换时注明转换条件。

 2: 参考答案:子系统客户端容量未设计测试用例。登录与退出测试用例未执行,即时消息的个人设置功能的测试用例未执行完,其中还有6个未执行;测试用例设计存在问题:功能区域划分不详细,客户端容量的测试用例没有覆盖到,用例覆盖不全面。测试执行存在问题:存在未执行的用例。

2.存在问题是开发组和测试组不能在2天后完成工作。

根据题中描述的数据,开发组中要修改的问题数是14+151=165,需要修改时间是160/40=4天;测试组即便新建的问题不需要修改,需要时间是:(105+151)/90=3天。

试题内容:

o 某测试项目中的测试执行阶段按计划在3天后结束,将进入测试总结阶段。

1.测试管理人员通过QESuite Web version 1.0测试过程管理工具观察到部分测试用例的设计状况和执行状况如下表,请从测试用例设计和测试用例执行2个方面说明观察到的问题和需要尽快开展的相关测试工作。

2.该项目当前的软件问题处理状况如下:

测试项目当前剩余处在“待验”状态的软件问题有105个,处在“新建”状态的软件问题有14个,处在“打开”状态的软件问题有151个。已知该测试组的软件问题日常处理能力是90个软件问题/工作日,开发组日常修复软件问题的能力是40个软件问题/工作日。请说明软件问题报告处理方面说明存在的问题和需要尽快开o

展的相关开发和测试工作。

 3:参考答案:1.int main(void){ Char choice;

Init_list();for(;;){ choice=menu_select();switch(choice){ case 1: enter();break;case 2: deleteAddr();break;case 3: list();break;case 4: exit(0);} } Return 0;} Void init_list(void){ Register int t;

For(t=0;t

}

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;④ }

Void enter(void){ Int slot;Char s[80];

Slot=find_free();

If(slot==-1){ Printf(“\Nlist FULL”);Return;⑦ }

Printf(“Enter name:”);Gets(add_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);⑧ }

Int find_free(void){ Register int t;

For(t=0;addr_list[t].name[0] && t

Void deleteAddr(void){ Register int slot;Char s[80];

Printf(“enter record # :”);Gets(s);Slot=atoi(s);⑨

If(slot>=0 && slot

}

void list(void){ Register int t;

for(t=0;t4 S3: addr_list[t].name[0] && t=0&&slot

TEST1:输入:在“Enter your choice:”后输入:输出:“1.Enter a name” “2.Delete a name” “3.list the file” “4.Quit”

; 1

“List Full” Test2:输入:在“Enter your choice:”后输入:1; 在“Enter name:” 后输入:王明

在 “Enter street :” 后输入:王府井 在 “Enter city: :” 后输入:北京 在 “Enter zip: :” 后输入:4121500 输出:“1.Enter a name” “2.Delete a name” “3.list the file” “4.Quit” Test3:输入:在“Enter your choice:”后输入:2; 在“Enter record $:” 后输入:4; 输出:“1.Enter a name” “2.Delete a name” “3.list the file” “4.Quit” Test4:输入:在“Enter your choice:”后输入:3; 输出:“1.Enter a name” “2.Delete a name” “3.list the file” “4.Quit” 王明 王府井 北京 4121500 Test4:输入:在“Enter your choice:”后输入:4; 输出:无输出,系统退出

不能达到100%,一些独立的路径如此程序中的【输入】,往往不是完全孤立的,有时候它是程序正常的控制流的一部分,这时,这些路径的测试

可以是另一条路径测试的一部分。

o 试题内容:

o 已知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(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%,需说明原因。

第四篇: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 #include /*主函数*/ int main(){ char letter;

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 #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天。

第五篇: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/T155322008计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及(2分)

o o o o A:测试用例管理 B:测试环境管理 C:配置管理 D:测试系统管理

 25.根据《GB/T155322008计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及(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 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 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分)

下载2009年9月全国计算机等级考试四级软件测试工程师笔试真题(含答案)word格式文档
下载2009年9月全国计算机等级考试四级软件测试工程师笔试真题(含答案).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐