您的当前位置:首页正文

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

来源:帮我找美食网
?

2009年9月全国计算机等级考试四级软件测试工程师笔试真

?

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

? 1.软件验证和确认是保证软件质量的重要措施,它的实施应该针对 (2分) o A:程序编写阶段 o B:软件开发的所有阶段 o C:软件调试阶段 o D:软件设计阶段 ? 2.在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是 (2分) o A:程序结构 o B:软件外部功能 o C:程序正确性 o D:程序内部逻辑 ? 3.在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是 (2分)

o A:操作性分析 o B:可靠性分析 o C:引用分析 o D:接口分析 ? 4.下列指导选择和使用测试覆盖率的原则中错误的是 (2分) o A:覆盖率不是目的,仅是一种手段 o B:不要追求绝对100%的覆盖率 o C:不可能针对所有的覆盖率指标来选择测试用例 o D:只根据测试覆盖率指标来指导测试用例的设计 ? 5.在以下有关逻辑覆盖的说法中错误的说法是 (2分) o A:所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准 o B:条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求 o C:路径覆盖的查错能力很强,但有时达不到条件组合覆盖的覆盖率要求 o D:判定覆盖包含了语句覆盖,但它不能保证每个错误条件都能检查得出来 ? 6.走查是对软件进行静态测试的一种方法,以下不属于走查活动的是 (2分) o A:计划走查会议 o B:准备测试用例 o C:执行走查以发现和改正错误 o D:在走查过程中程序员逐条讲解自己的程序 ? 7.设有一段程序如下 满足判定—条件覆盖的要求下,最少的测试用例数目是 (2分)

?

o A:6 o B:8 o C:3 o D:4 ? 8.在以下有关集成测试的说法中,错误的说法是 (2分) o A:自底向上集成的缺点是在早期不能进行并行测试,不能充分利用人力 o B:自底向上集成的优点是减少了编写桩模块的工作量 o C:自顶向下集成的优点是能够较早地发现在高层模块接口、控制等方面的问题 o D:自顶向下集成的缺点是需要设计较多的桩模块,测试的开销较大 ? 9.在集成测试阶段,人们关注的一种主要的覆盖是 (2分) o A:功能覆盖 o B:语句覆盖 o C:基本路径覆盖 o D:条件覆盖 ? 10.可跟踪性分析是一种重要的软件验证和确认方法。不属于可跟踪性分析的活动是 (2分)

o A:正确标识在需求规格说明中的每项需求 o B:从需求规格开始的正向跟踪应确保完全支持需求规格 o C:每个当前的阶段产品的规格或特性应确保被可跟踪的前驱规格所支持 o D:确保所有不同接口规格说明的完整性 ? 11.以下关于软件性能测试的说法中,不正确的是 (2分) o A:发现软件缺陷是性能测试的目的之一 o B:压力测试与负载测试的目的都是为了探测软件在满足预定的性能需求的情况下所能负担的最大压力 o C:性能测试通常需要对测试结果进行分析才能获得测试结论 o D:检验软件的最大负载是性能测试的目的之一 ? 12.以下哪种软件测试不属于广义软件性能测试的范畴 (2分) o A:并发测试 o B:压力测试 o C:兼容性测试 o D:负载测试 ? 13.以下关于软件可靠性与硬件可靠性主要区别的说法中,正确的是 (2分) o A:软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别 o B:软件经常面临恶意的使用者,而硬件没有恶意的使用者 o C:软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区 o D:软件的失效都是逻辑错误引起的,而硬件的失效都不是逻辑错误引起的 ? 14.以下关于面向对象软件测试的说法中,错误的是 (2分) o A:对于面向对象程序集成测试而言,大突击集成可能导致测试不充分 o B:面向对象软件只能采用白盒测试,不能采用黑盒测试 o C:在存在多态的情况下,为了提高测试的充分性需要对所有可能的绑定都进行测试 o D:单个成员方法的测试属于面向对象程序单元测试考虑的范畴 ? 15.以下关于面向对象软件测试的说法中,正确的是 (2分) o A:对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用 o B:基于判定表的测试不能用于面向对象程序的单元测试 o C:不变式边界测试可用于类层次的测试,其目的是测试功能组合 o D:对于抽象类,需要进行单元测试 ? 16.以下关于面向对象程序集成测试的说法中,正确的是 (2分) o A:大突击集成在任何情况下都是效果最差的面向对象程序集成测试策略 o B:自底向上集成和自顶向下集成都需要为集成测试开发大量辅助代码 o C:协作集成从本质上讲是一种自底向上集成 o D:基干集成从本质上讲是一种自顶向下集成 ? 17.以下关于Web应用软件测试的说法中,正确的是 (2分) o A:对Web应用软件进行性能测试时,不需要进行压力测试 o B:内容测试是Web应用软件易用性测试的一项重要内容 o C:Cookie测试是Web应用软件功能测试的一项重要内容 o D:是否存在无效链接是Web应用软件安全性测试关注的范畴 ? 18.以下哪一项属于软件易用性测试关注的范畴 (2分) o A:软件是否能在多种操作系统下运行 o B:软件是否能与同类软件共享数据 o C:软件是否能主动禁止用户可能进行的非法操作 o D:软件是否能抵御网络攻击 ? 19.以下哪一项属于数据兼容性测试关注的范畴 (2分) o A:软件在异常退出时是否会破坏正在处理的文件 o B:软件是否可以在不同的J2EE应用服务器上运行 o C:软件同类功能的使用风格是否一致 o D:软件是否能打开以前版本保存的文件 ? 20.以下关于极限测试的说法中,正确的是 (2分) o A:极限测试是一种针对极限编程的软件测试 o B:极限测试中所有的测试均由编码人员完成 o C:与传统的软件测试相比,极限测试是一种更严格的测试 o D:极限测试中只需要进行单元测试 ? 21.下列有关软件缺陷报告的编写原则中,哪个是错误的 (2分) o A:一个软件缺陷报告中只应记录一个不可再划分的软件缺陷 o B:软件缺陷报告的标题应该能够最简洁表达一个软件缺陷 o C:软件缺陷报告中应提供全面的有关该软件缺陷再现的信息 o D:同一个软件缺陷可以被重复报告 ? 22.依据QESuite Web Version 1.0软件问题生命周期定义,对于一个处在“新建”状态的软件问题报告,下列哪个操作是不可能出现的 (2分) o A:校验 o B:关闭 o C:验证 o D:分类与分配 ? 23.下列哪个不是测试环境的组成要素 (2分) o A:软硬件 o B:技术文档 o C:测试工具 o D:网络环境 ? 24.根据《GB/T155322008计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及 (2分) o A:测试用例管理 o B:测试环境管理 o C:配置管理 o D:测试系统管理 ? 25.根据《GB/T155322008计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及 (2分)

o A:测试用例无冗余性原则 o B:测试执行可重复性原则 o C:测试用例可操作性原则 o D:测试用例可管理性原则

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

o 1:参考答案:B我的答案:

参考解析:(P25)验证与确认的主要活动有关键性分析、可跟踪性分析、评估等,这些工作分布在软件开发的各个阶段。 o 试题内容: o 软件验证和确认是保证软件质量的重要措施,它的实施应该针对 ? A:程序编写阶段 ? B:软件开发的所有阶段 ? C:软件调试阶段 ? D:软件设计阶段 o 2:参考答案:B我的答案: 参考解析:(P37)软件功能测试属于黑盒测试。 o 试题内容: o 在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是 ? A:程序结构 ? B:软件外部功能 ? C:程序正确性 ? D:程序内部逻辑 o 3:参考答案:D我的答案: 参考解析:接口分析主要是看程序模块或子程序之间的调用是否正确。 o 试题内容: o 在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是

? A:操作性分析 ? B:可靠性分析 ? C:引用分析 ? D:接口分析 o 4:参考答案:D我的答案: 参考解析:(P85~86)在设计测试用例时,还应考虑从需求和设计的角度出发,使用已有的经验去挖掘测试用例。 o 试题内容: o 下列指导选择和使用测试覆盖率的原则中错误的是 ? A:覆盖率不是目的,仅是一种手段 ? B:不要追求绝对100%的覆盖率 ? C:不可能针对所有的覆盖率指标来选择测试用例 ? D:只根据测试覆盖率指标来指导测试用例的设计 o 5:参考答案:A我的答案: 参考解析:(P68)满足条件组合覆盖,可能漏掉某些路径覆盖。 o 试题内容: o 在以下有关逻辑覆盖的说法中错误的说法是 ? A:所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准 ? B:条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求 ? C:路径覆盖的查错能力很强,但有时达不到条件组合覆盖的覆盖率要求 ? D:判定覆盖包含了语句覆盖,但它不能保证每个错误条件都能检查得出来 o 6:参考答案:D我的答案: 参考解析:(P53)走查程序不需要程序员逐条讲解程序。 o 试题内容: o 走查是对软件进行静态测试的一种方法,以下不属于走查活动的是 ? A:计划走查会议 ? B:准备测试用例 ? C:执行走查以发现和改正错误 ? D:在走查过程中程序员逐条讲解自己的程序 o 7:参考答案:A我的答案: 参考解析:暂无解析 o 试题内容: o 设有一段程序如下 满足判定—条件覆盖的要求下,最少的测试用例数目是 ? A:6 ? B:8 ? C:3 ? D:4 o 8:参考答案:A我的答案: 参考解析:(P135)自底向上集成可以在早期进行并行测试。 o 试题内容: o 在以下有关集成测试的说法中,错误的说法是 ? A:自底向上集成的缺点是在早期不能进行并行测试,不能充分利用人力 ? B:自底向上集成的优点是减少了编写桩模块的工作量 ? C:自顶向下集成的优点是能够较早地发现在高层模块接口、控制等方面的问题 ? D:自顶向下集成的缺点是需要设计较多的桩模块,测试的开销较大 o 9:参考答案:A我的答案: 参考解析:(P147)

o 试题内容: o 在集成测试阶段,人们关注的一种主要的覆盖是 ? A:功能覆盖 ? B:语句覆盖 ? C:基本路径覆盖 ? D:条件覆盖 o 10:参考答案:D我的答案:

参考解析:暂无解析 o 试题内容: o 可跟踪性分析是一种重要的软件验证和确认方法。不属于可跟踪性分析的活动是

? A:正确标识在需求规格说明中的每项需求 ? B:从需求规格开始的正向跟踪应确保完全支持需求规格 ? C:每个当前的阶段产品的规格或特性应确保被可跟踪的前驱规格所支持 ? D:确保所有不同接口规格说明的完整性 o 11:参考答案:B我的答案: 参考解析:(P180)负载测试目的是探测软件处理能力的极限,压力测试目的是利用压力揭示潜在缺陷。

o 试题内容: o 以下关于软件性能测试的说法中,不正确的是 ? A:发现软件缺陷是性能测试的目的之一 ? B:压力测试与负载测试的目的都是为了探测软件在满足预定的性能需求的情况下所能负担的最大压力 ? C:性能测试通常需要对测试结果进行分析才能获得测试结论 ? D:检验软件的最大负载是性能测试的目的之一 o 12:参考答案:C我的答案: 参考解析:(P179~180)广义软件性能测试不包括兼容性测试。 o 试题内容: o 以下哪种软件测试不属于广义软件性能测试的范畴 ? A:并发测试 ? B:压力测试 ? C:兼容性测试 ? D:负载测试 o 13:参考答案:A我的答案: 参考解析:(P186)

o 试题内容: o 以下关于软件可靠性与硬件可靠性主要区别的说法中,正确的是 ? A:软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别 ? B:软件经常面临恶意的使用者,而硬件没有恶意的使用者 ? C:软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区 ? D:软件的失效都是逻辑错误引起的,而硬件的失效都不是逻辑错误引起的 o 14:参考答案:B我的答案: 参考解析:(P197)在面向对象软件的系统测试中用到了黑盒测试。 o 试题内容: o 以下关于面向对象软件测试的说法中,错误的是 ? A:对于面向对象程序集成测试而言,大突击集成可能导致测试不充分 ? B:面向对象软件只能采用白盒测试,不能采用黑盒测试 ? C:在存在多态的情况下,为了提高测试的充分性需要对所有可能的绑定都进行测试 ? D:单个成员方法的测试属于面向对象程序单元测试考虑的范畴 o 15:参考答案:C我的答案: 参考解析:暂无解析 o 试题内容: o 以下关于面向对象软件测试的说法中,正确的是 ? A:对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用 ? B:基于判定表的测试不能用于面向对象程序的单元测试 ? C:不变式边界测试可用于类层次的测试,其目的是测试功能组合 ? D:对于抽象类,需要进行单元测试 o 16:参考答案:B我的答案: 参考解析:(P201)自底向上和自顶向下都要辅助大量代码。 o 试题内容: o 以下关于面向对象程序集成测试的说法中,正确的是 ? A:大突击集成在任何情况下都是效果最差的面向对象程序集成测试策略 ? B:自底向上集成和自顶向下集成都需要为集成测试开发大量辅助代码 ? C:协作集成从本质上讲是一种自底向上集成 ? D:基干集成从本质上讲是一种自顶向下集成 o 17:参考答案:C我的答案: 参考解析:(P217)Cookies测试是功能测试的一项内容。 o 试题内容: o 以下关于Web应用软件测试的说法中,正确的是 ? A:对Web应用软件进行性能测试时,不需要进行压力测试 ? B:内容测试是Web应用软件易用性测试的一项重要内容 ? C:Cookie测试是Web应用软件功能测试的一项重要内容 ? D:是否存在无效链接是Web应用软件安全性测试关注的范畴 o 18:参考答案:C我的答案: 参考解析:(P231)软件易用性包括禁止用户的非法操作。 o 试题内容: o 以下哪一项属于软件易用性测试关注的范畴 ? A:软件是否能在多种操作系统下运行 ? B:软件是否能与同类软件共享数据 ? C:软件是否能主动禁止用户可能进行的非法操作 ? D:软件是否能抵御网络攻击 o 19:参考答案:D我的答案: 参考解析:(P229)软件能否打开以前版本保存的文件体现了兼容性。 o 试题内容: o 以下哪一项属于数据兼容性测试关注的范畴 ? A:软件在异常退出时是否会破坏正在处理的文件 ? B:软件是否可以在不同的J2EE应用服务器上运行 ? C:软件同类功能的使用风格是否一致 ? D:软件是否能打开以前版本保存的文件 o 20:参考答案:A我的答案: 参考解析:(P240)极限检测是对极限编程软件的测试。 o 试题内容:

o 以下关于极限测试的说法中,正确的是

? A:极限测试是一种针对极限编程的软件测试 ? B:极限测试中所有的测试均由编码人员完成 ? C:与传统的软件测试相比,极限测试是一种更严格的测试 ? D:极限测试中只需要进行单元测试 o 21:参考答案:D我的答案: 参考解析:(P329)同一个软件缺陷,不应重复报告。 o 试题内容: o 下列有关软件缺陷报告的编写原则中,哪个是错误的 ? A:一个软件缺陷报告中只应记录一个不可再划分的软件缺陷 ? B:软件缺陷报告的标题应该能够最简洁表达一个软件缺陷 ? C:软件缺陷报告中应提供全面的有关该软件缺陷再现的信息 ? D:同一个软件缺陷可以被重复报告 o 22:参考答案:C我的答案: 参考解析:(P331)在新建状态下,验证操作是无法实现的。 o 试题内容: o 依据QESuite Web Version 1.0软件问题生命周期定义,对于一个处在“新建”状态的软件问题报告,下列哪个操作是不可能出现的 ? A:校验 ? B:关闭 ? C:验证 ? D:分类与分配 o 23:参考答案:B我的答案: 参考解析:(P262~264)技术文档不是测试环境组成要素。 o 试题内容: o 下列哪个不是测试环境的组成要素 ? A:软硬件 ? B:技术文档 ? C:测试工具 ? D:网络环境 o 24:参考答案:C我的答案: 参考解析:国家标准《GB/T155322008 计算机软件测试规范 》第4.6节,测试管理包括过程管理、配置管理和评审。 o 试题内容: o 根据《GB/T155322008计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及 ? A:测试用例管理 ? B:测试环境管理 ? C:配置管理 ? D:测试系统管理 o 25:参考答案:B我的答案: 参考解析:国家标准《GB/T155322008 计算机软件测试规范 》第4.5.1节 测试用例设计原则: a)基于测试需求的原则。应按照测试类别的不同要求,设计测试用例。如,单元测试依据详细设计说明,集成测试依据概要设计说明,配置项测试依据软件需要规格说明,系统测试依据用户需求(系统/子系统设计说明、软件开发计划等);

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

c)兼顾测试充分性和效率的原则。测试用例集就兼顾测试的充分性和测试的效率;每个测试用

例的内容也应完整,具有可操作性;

d)测试执行的可再现性原则。应保证测试用例执行的可再现性。 o 试题内容: o 根据《GB/T155322008计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及 ? A:测试用例无冗余性原则 ? B:测试执行可重复性原则 ? C:测试用例可操作性原则 ? D:测试用例可管理性原则 ?

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

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

? 1.请完成下列工作:

(1)请给出与此有限状态机等价的控制流图;(4分) (2)确定基本测试路径集;(9分)

(3)设计测试用例以覆盖基本测试路径。(7分) (20分)

? 参考答案: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

? 我的答案: ? 我给自己评()分

? 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

|oday.year>65535||0>=today.month|oday.month>12|| 0>=today.day|oday.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分) ? 参考答案:函数的控制流程图如下: ①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\ while(0>=today.year

|oday.year>65535||0>=today.month|oday.month>12|| 0>=today.day|oday.day>numdays(today)) {printf(\"input date error!reenter the date!\n\"); printf(\"today is:\");

scanf(\"%d,%d,%d\ }

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%。

? 我的答案: ? 我给自己评()分

? 3.QESuite Web Version 1.0中,已知Lead 1.0邮件系统测试项目的部分信息如下: ●测试版本:总计2个测试版本,按日期排序分别为Lead1.0_090703,Lead1.0_090801 ●功能分类视图中部分待测区域及人员分配定义如下表一所示:

已知在功能区域“性能/并发处理能力”下有一个软件问题处于“打开/修复失败”状态,下表二中是该软件问题当前的部分操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。(每空1分) (10分)

? 参考答案:

? 我的答案: ? 我给自己评()分

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

Top