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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全国计算机等级考试四级软件测试工程师真题2009年3月
(总分:100.00,做题时间:90分钟)
一、{{B}}选择题{{/B}}(总题数:25,分数:50.00)
1.在指定条件下使用时,软件产品维持规定的性能水平的能力。

这是指软件外部质量的______。

(分数:2.00)
A.效率
B.易用性
C.功能性
D.可靠性√
解析:[解析] 软件质量的度量主要是根据软件生存周期中对软件质量的要求所进行的一项活动。

它主要分为三个方面:外部度量、内部度量和使用度量。

这里在指定条件下使用,来测量其维持规定性能水平的能力为可靠性测量,测量软件在特定条件下的可靠性。

2.程序独立测试的人员应是______。

(分数:2.00)
A.程序员自己√
B.同一开发组的测试成员
C.第三方测试人员
D.同一开发组的其他成员
解析:[解析] 代码检查、走查与评审环节中,桌上检查是由程序员自己独立完成的。

桌上检查是一种程序员自己检查自己源程序的方法。

其目的是发现程序中的错误。

而代码检查、走查与评审环节都要成立专门的小组来完成。

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

(分数:2.00)
A.致命的错误
B.严重的错误√
C.一般的错误
D.微小的错误
解析:[解析] 软件缺陷有四种级别,分别为:致命的(Fatal)。

致命的错误,导致系统或者应用程序崩溃、死机、系统悬挂,或者造成数据丢失、主要功能完全丧失。

严重的(Critical)。

功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明。

一般的(Major)。

这种级别的错误不是很严重,虽然有一些缺陷,但是不影响系统和程序的基本使用。

功能没有被很好地实现,没有达到预期要求。

微小的(Minor)。

无关紧要的小问题,软件仍然可以使用,不影响功能的实现。

此处为B选项,严重的错误。

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.00)
A.3 √
B.4
C.5
D.6
解析:[解析] 由程序段可以看出,程序中一共有两个串行判定结点,则需要2+1=3条测试路径即可。

数组A[n]中全部为负数。

数组A[n]中全部为正数。

数组A[n]中既有负数又有正数。

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

(分数:2.00)
A.57.1% √
B.78.6%
C.90%
D.100%
解析:[解析] 覆盖率公式:DDP覆盖率=被评价到的判定路径数量/程序中判定路径总数
×100%=4/7×100%=57.1%。

由图可以看出,图中一共有七条判定路径,而该测试用例覆盖了判定路径A、B、
E、H四条。

所以该测试用例的判定路径覆盖率为4/7=57.1%。

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

(分数:2.00)
A.边界上√
B.内部
C.外部
D.相互作用上
解析:[解析] 边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。

人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。

7.单元测试的测试对象不包括______。

(分数:2.00)
A.设计单元
B.各个操作
C.内部消息序列
D.场景√
解析:[解析] 单元测试对象是实现了具体功能的程序单元,而集成测试对象是概要设计规划中的模块及模块间的组合。

单元测试的环境并不是系统投入使用后所需的真实环境,而应建立一个满足单元测试要求的
环境来做好单元测试工作,环境中要用到一些辅助模块来模拟与被测模块相联系的其他模块,通常分为两种:①驱动模块(Driver),相当于被测模块的主模块。

②桩模块(Stub),用于代替被测模块调用的子模块。

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

(分数:2.00)
A.现象
B.策略
C.通路√
D.场景
解析:[解析] 一个好的设计应能预见各种出错条件,并进行适当的出错处理,即预设各种出错处理通路。

出错处理是模块功能的一部分,这种带有预见性的机制保证了在程序出错时,对出错部分及时修补,保证
其逻辑上的正确性。

因此,出错处理同样需要认真测试。

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

(分数:2.00)
A.应该做的事情
B.不该做的事情√
C.有错误的事情
D.比性能缺陷的事情
解析:[解析] 正向集成测试的重点是验证集成之后的模块是否按照设计实现了预期的功能。

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

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

(分数:2.00)
A.持续集成
B.三明治集成
C.成对集成√
D.相邻集成
解析:[解析] 成对集成的思想是免除驱动/桩模块的开发,使用实际代码代替驱动模块和桩模块。

这类似于一次性集成的方式,但是这种集成限制在调用图中的一对单元上。

三明治集成(混合的增量式集成)的目的是综合自顶向下和自底向上的集成测试策略的优点。

它把系统划分成三层,中间一层为目标层,测试的时候,对目标层上面的一层使用由顶向下的集成策略,对目标层下面的一层使用自底向上的集成策略,最后测试在目标层会合。

相邻集成就是对每个邻居建立并执行一个集成测试会话,这可减少集成测试中桩模块和驱动模块的开发工作量。

相邻集成在一定程度上类似于三明治集成,但是它基于调用图来进行测试,而不是基于分解图。

11.以下哪种软件测试不属于软件性能测试的范畴______。

(分数:2.00)
A.配置测试
B.健壮性测试√
C.失败恢复测试
D.负载测试
解析:[解析] 软件性能测试分为以下几类:性能测试:测试软件的性能与软件需求规格说明是否相符。

并发测试:模拟多个用户并发使用软件,以测试软件是否存在与并发有关的缺陷。

压力测试:在较大的业务压力下,即系统运行环境超常的情况(如提供超常数量、频率或总量资源)下,测试软件是否存在功能和性能上的缺陷。

可靠性测试:在比较大的业务压力情况下进行的软件可靠性测试。

负载测试:不断增加软件的业务压力,探测软件在保证预定性能指标(如响应时间)的情况下所能负担的最大压力。

配置测试:通过调整软件的运行环境,测试不同的环境配置对软件性能的影响程度。

失效恢复测试:很多系统应当具有一些容错的能力,在出现某些故障时,仍然能够让用户继续使用下去。

失效恢复测试是指验证系统从故障中恢复能力的测试。

B项的健壮性测试属于系统测试的方法。

12.以下目标中,哪个是软件性能测试的目标______。

(分数:2.00)
A.检查软件的容错能力
B.发现压力下软件功能的缺陷
C.发现软件的安全漏洞√
D.检查用户界面是否易于使用
解析:[解析] 软件测试的目标不仅仅是发现(和改正)性能缺陷(Performance Bug),还包括探索和规划软件的实际性能,具体软件性能测试包括以下几方面的目标:①发现缺陷;②性能调优;③能力检验与规划。

13.以下关于软件可靠性测试的说法中,正确的是______。

(分数:2.00)
A.软件运行剖面的定义需要符合软件的实际运行情况√
B.测试用例的生成必须采用白盒测试方法
C.软件可靠性测试通常能够比黑盒测试发现更多的错误
D.软件可靠性测试必须在集成测试中实施
解析:[解析] 软件可靠性有两方面含义:①在规定的条件下和规定的时间内,软件不引起系统失效的概率。

②在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。

软件可靠性测试的目的不在于通过测试揭示软件中的缺陷并通过修改这些缺陷来提高软件的可靠性,而是通过受控的软件测试过程来预测软件在实际运行中的可靠性。

因为软件可靠性的预测依赖于出错数据的统计,软件在可靠性测试中的运行情况必须完全符合软件的实际运行情况,否则预测的软件可靠性只能适用于所使用的测试用例,而不能反映实际运行时的可靠性。

由此可得A正确。

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

(分数:2.00)
A.面向对象软件只能采用白盒测试,不能采用黑盒测试
B.测试一个类时,该类成员方法的任何一个消息序列都是合理的测试用例
C.若类B是类A的子类,针对类B的测试用例可以包含对类A的成员方法的调用√
D.等价类划分是一种类树层次的测试技术
解析:[解析] 在面向对象中,进行系统测试时,通常不关心软件各个实体的实现细节和实体间的连接细节。

因此,系统测试主要是黑盒测试,A说法不对。

在面向对象测试中,成员方法对成员变量有或多或少的依赖,成员方法的许多功能需要在特定的实例状态下才能执行。

因此,在测试面向对象软件时,不能够简单地对每个类的成员方法进行测试,在调用任何一个成员方法之前必须保证相应的实例处于该成员方法的预期工作状态。

也就是说,为了测试一个成员方法,需要在调用该方法前调用一系列其他方法以使得相应的实例达到合适的状态。

换句话说,由于每个测试用例不仅仅调用一个成员方法,而是对整个类进行测试的一个方法调用序列。

因此,在设计类的测试用例时,仅仅考虑成员方法的输入参数是不够的,还要考虑如何设计调用序列。

有些测试序列会在某些成员方法执行时因为不能满足该方法正常执行的前提条件而导致此方法处于不正常的工作状态,这些测试序列是不合理的测试序列,因此选项B说法不正确。

因为类B继承类A,合理的使用继承时类B的实例应该也是类A的实例,对类B的实例的测试应该已经包括其作为类A 例的测试,C说法正确。

等价类划分是一种方法层次的测试,而不是类树层次的测试技术,D错误。

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

(分数:2.00)
A.大突击集成只进行一轮,无需增量集成
B.与大突击集成相比,自底向上集成通常有助于得到更高的测试充分性
C.基于集成在任何情况下都优于自底向上集成√
D.无论是自底向上集成还是自顶向下集成,都需要为集成测试开发相应代码
解析:[解析] 大突击测试就是把系统的所有模块集成在一起进行测试。

与其他集成测试策略不同,大突击集成只进行一轮,无需进行增量式集成,A说法正确。

自底向上集成总比大突击集成更能够提高测试的充分性,这点很明显,因为大突击测试集成只进行一轮,而自底向上集成要好几轮,每个轮回都有新的测试内容,因此B说法正确。

基干集成的优点是:集中了自底向上集成、自顶向下集成和大突击集成三者的优点,而对三者的缺点电进行了控制,更适合于大型复杂项目的集成。

基于集成的缺点是:①需要对系统的结构和相互依存性进行详细的分析。

②需要开发桩模块和驱动模块。

③因为局部采用了一次性集成的策略,因此对某些接口的测试可能不完整。

基干集成适用于大型的复杂项目,并不是对任何项目都适用,C说法错误。

自底向上集成需要开发驱动模块,自顶向下集成需要开发桩模块,两者都要开发相应代码,D说法正确。

16.以下哪种测试属于面向对象程序集成测试考虑的范畴?______。

(分数:2.00)
A.针对一个类的多个成员方法间协作的测试
B.针对一个成员方法的不同输入情况的测试
C.针对多个类的多个实例间协作的测试√
D.针对一个类树上多个类间继承的测试
解析:[解析] A、B、D都是面向对象中单元测试所考虑的范畴。

集成策略需要关注如何充分测试类间的各种链接,C属于集成测试考虑的范畴。

17.以下关于Web应用软件测试的说法中,正确的是______。

(分数:2.00)
A.链接测试是Web应用软件测试的一项内容√
B.Web应用软件测试通常不考虑安全性测试
C.与传统软件相比,Web应用软件测试更简单
D.Web应用软件只能进行黑盒测试,不能进行白盒测试
解析:[解析] Web应用软件的系统测试包括功能测试、性能测试、易用性测试、内容测试、安全性测试、接口测试等。

其中,功能测试包括链接测试、表单测试和Cookie测试。

由此可知A正确,B错误。

与传统软件相比,Web应用软件具有特殊的结构,且Web应用软件的开发主要是在固定的结构中填充相应的内
容,而不是根据需求由开发人员设定结构。

因此,Web应用软件的运行和测试在很大程度上要受到环境的制约,特别是单元测试和集成测试。

这也使得Web应用软件的系统测试不仅包括按照测试大纲检查Web应用软件能不能满足要求,而且需要对Web应用软件的的薄弱环节进行测试。

可见,Web应用软件测试并不比传统软件测试更简单,甚至还要复杂,C错误。

Web应用软件测试中既有白盒测试,也有黑盒测试,D 说法错误。

18.以下关于web应用软件测试的说法中,错误的是______。

(分数:2.00)
A.内容测试是Web应用软件测试的一项重要内容
B.Cookie安全性测试是Web应用软件安全性测试的一项重要内容
C.并发测试是Web应用软件性能测试的一项重要内容
D.表单测试是Web应用软件性能测试的一项重要内容√
解析:[解析] Web应用软件的系统测试包括功能测试、性能测试、易用性测试、内容测试、安全性测试、接口测试等。

由此可知A说法正确。

Web应用软件安全性测试包括服务器端的内容安全性测试、客户端的内容安全性测试、Cookie安全性测试、日志功能的测试等,由此可知B说法正确。

Web应用软件性能测试包括并发测试、负载测试和压力测试、配置测试和性能调试。

C正确。

Web应用软件的功能测试包括链接测试、表单测试和Cookie测试。

由此可知表单测试不是Web应用软件性能测试的一项重要内容,而是功能测试的一项重要内容。

19.以下哪一项不属于软件易用性测试关注的范畴?______。

(分数:2.00)
A.软件界面的色彩是否协调
B.软件是否能在多种操作系统下运行
C.软件是否支持用户根据自己的需要进行定制
D.软件是否能主动引导用户使用相互关联的功能√
解析:[解析] 软件易用性是对软件是否好用的一种度量。

易用性测试包括用户文档的测试,易安装性测试、功能易用性测试以及用户界面测试。

易安装性测试包括安装手册的易用性、安装的自动化程度、安装的灵活性、安装中断的处理、修复安装和卸载、多环境安装的支持。

功能易用性测试包括业务符合度、功能定制性、功能的关联度、数据的共享度、用户约束的合理度。

用户界面测试包括界面整体测试、界面元素测试、输入测试。

A项属于用户界面整体测试的合理性测试;B项属于易安装性测试的多环境安装的支持;C 项属于功能易用性测试的功能定制性。

D项不属于软件易用性测试关注的范畴。

20.以下哪一项属于兼容性测试关注的范畴?______。

(分数:2.00)
A.办公软件在异常退出时是否会破坏正在处理的文档
B.杀毒软件在清除病毒时是否会破坏办公软件的文档√
C.软件同类功能的使用风格是否一致
D.软件提供的功能与用户手册的说明是否一致
解析:[解析] 所谓兼容性测试,是指针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行。

通常,兼容性测试主要考虑硬件、软件和数据三个方面。

软件兼容性测试通常考虑以下几个方面:与操作系统的兼容性、与数据库的兼容性、与浏览器的兼容性、与中间件的兼容性、与其他软件的兼容性、与平台软件的兼容性。

与其他软件的兼容性包括三个方面:①与其他支撑软件的兼容性。

②与其他同类软件的兼容性。

③与不同类软件的兼容性。

B项属于与其他软件的兼容性中的与不同类软件的兼容性,故其为正确答案。

21.下列有关软件测试设计的说法中,正确的是______。

(分数:2.00)
A.测试方案应考虑是否可行、是否有效和是否能够达到预期的测试目标√
B.基于判定表的测试用例设计方法是白盒测试用例设计方法
C.测试方案设计中可以忽略软件系统的实际使用环境
D.测试开发不是测试用例设计的工作内容
解析:[解析] 软件测试设计的要点有:·所设计的测试技术方案是否可行,是否有效和是否能达到预期的测试目标。

·所设计的测试用例是否完整,边界条件是否考虑,其覆盖范围能达到多高。

·所设计的
测试环境是否和用户的实际使用环境比较接近。

·关键是做好测试设计前的知识传递。

由以上可知A说法正确。

基于判定表的测试用例设计方法是黑盒测试用例设计方法,B说法错误。

测试环境应当和用户的实际使用环境比较接近,这样才能更好地进行测试,C说法错误。

测试开发是测试用例设计的一部分工作内容,D项的说法与事实相反,不选。

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

(分数:2.00)
A.测试执行完成,测试人员向测试负责人提交测试报告后,测试项目就可以结束了
B.对当前软件产品存在的缺陷进行逐个分析,认定剩余缺陷对产品质量无重大影响后,即可定稿测试报告
C.审查测试全过程,检查测试计划和内容无遗漏后,即可定稿测试报告
D.当所有测试计划内容完成,测试覆盖率达到要求以及产品质量达到定义的标准,即可定稿测试报告√解析:[解析] 测试执行的完成,并不等于测试项目的结束。

测试项目结束的阶段性标志是将测试报告或质量报告发送出去,并得到测试经理或项目经理的认可。

不仅要完成测试报告和质量报告,还要对测试计划、测试的设计以及测试的执行进行检查和分析,以完成测试项目的总结。

需要完成的管理操作如下:①审查测试全过程。

在原来跟踪的基础上,要对测试项目进行全过程、全方位的审视,检查测试计划、测试用例是否得到执行,检查测试是否有遗漏。

②对当前状态的审查。

包括产品缺陷和过程中没有解决的各类问题。

对产品目前存在的缺陷进行逐个的分析,了解对产品质量影响的程序,从而决定产品的测试是否能告一段落。

③结束标识。

根据上述两项的审查进行评估,如果所有测试内容完成,测试的覆盖率达到要求以及产品质量达到已定义的标准,就可以定稿测试报告。

④项目总结。

通过对项目中的问题分析,找出流程、技术和管理中存在的问题根源,避免今后再度发生并获得项目成功经验。

由以上可得A、B、C选项说法均错误,D正确。

23.下列有关自动测试的基本概念中,错误的是______。

(分数:2.00)
A.仅有自动测试执行而无自动比较,则不算是完全自动化测试
B.自动比较的内容可以是:文本、格式化数据、电子邮件信息、数据库内容等
C.自动比较的局限性在于自动比较可能没有人工比较灵活性高
D.自动比较海量数据、屏幕输出等信息不是计算机能够胜任的自动工作√
解析:[解析] 如果仅执行自动测试,而不进行自动比较,就不算是自动化测试,A说法正确。

自动比较的内容可能是多种类型的,例如:文本信息、专用格式化数据、屏幕输出内容、电子邮件信息、发送到硬件设备的数据或信号、通过网络发送到其他机器和进程的信息、数据库的内容等,B选项的说法正确。

自动比较的局限性在于办公自动比较可能没有人工比较灵活,C选项说法正确。

比较海量数据、屏幕输出等信息不是人类能够胜任的工作,因为这种工作带有重复的劳动和相当复杂的任务,但是计算机却非常能够胜任这样的工作,D选项与事实刚好相反。

24.以下关于软件回归测试的说法中错误的是______。

(分数:2.00)
A.软件变更后,应对软件变更部分的正确性和对变更需求的符合性进行测试
B.软件变更后,首先应对变更的软件单元进行测试,然后再进行其他相关的测试
C.软件变更后,不必再对软件原有正确的功能、性能和其他规定的要求进行测试√
D.对具体的软件,可以根据软件测试合同及软件的重要性、完整性级别对回归测试内容进行剪裁
解析:[解析] 回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,并测试软件变更之后,对软件原有正确的功能、性能和其他规定的要求不产生损害。

其测试的对象有未通过单元测试、系统集成测试、配置项测试、系统测试的软件。

在变更之后,首先应对变更的软件单元进行测试,然后再进行相关的测试。

回归测试的内容可能有:只重复测试原来软件单元测试做过的测试内容;修改原软件单元测试做过的测试内容;以及在前两者基础之上新增测试内容。

由以上可得A、B项说法均正确,而C选项说法明显错误。

软件测试规范规定,对具体的软件可根据软件测试合同及软件的重要性、完整性级别对上述各类软件测试的内容进行裁剪。

D选项说法错误。

25.以下说法中错误的是______。

(分数:2.00)
A.验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统
B.验收测试的技术依据是软件研制合同(或用户需求或系统需求)
C.进行验收测试的软件必须已经通过系统测试
D.验收测试一般应由软件的需方组织,不可以委托第三方测试机构实施√
解析:[解析] 验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统,A选项的说法正确。

软件验收测试的技术依据是软件研制合同。

B选项说法正确。

软件验收测试工作应满足被验收测试的软件已通过系统测试。

C选项说法正确。

验收测试一般由软件的需方组织,由独立于软件开发的人员实施。

如果验收测试委托第三方实施,一般应委托国家认可的第三方测试机构。

D选项说法错误。

二、{{B}}论述题{{/B}}(总题数:3,分数:50.00)
一个栈(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,栈元素的数据类型为整数。

要求:
(分数:21.00)
(1).
根据题意,画出栈对象的状态迁移图;
(分数:7.00)
__________________________________________________________________________________________ 正确答案:()
解析:根据题意,状态转换图如下:
(2).
计算该状态迁移图的MeCabe环路复杂性;
(分数:7.00)
__________________________________________________________________________________________ 正确答案:()
解析:从图上可以看出,该图分为五个区域,所以V(G)=5。

此外,图中边数E为6,结点数N为3,则
V(G)=E-N+2=6-3+2=5。

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

(分数:7.00)
__________________________________________________________________________________________ 正确答案:()
解析:根据上图,可得基本测试路径如下:。

相关文档
最新文档