1、CMM对软件测试没有提供单独的关键过程领域(KPA),所以许多研究机构和测试服务机构从不同角度出发提出了有关软件测试方面的能力成熟度模型,其中软件测试成熟度模型(TMM)是当前影响力最大的软件测试过程模型。TMM制定了5个成熟度等级,它们依次是:初始级、阶段定义级、集成级、管理和度量级、(6)。
(6)A.优化、缺陷预防和可重复级 B.优化、缺陷预防和质量控制级
C.缺陷预防和质量控制级 D.优化和质量控制级
【答案】B
【解析】本题考查软件测试能力成熟度模型(TMM)的概念。
TMM制定了5个成熟度等级:初始级,阶段定义级,集成级,管理和度量级,优化、缺陷预防和质量控制级。各级成熟度水平包含了一组成熟度目标和子目标,以及支持它们的任务、职责和活动。其中,第5级是优化、预防缺陷和质量控制级,本级的测试过程是可重复的、已定义的、已管理的和已度量的,因此软件组织能够优化调整和持续改进测试过程。
2、以下关于软件生命周期的叙述不正确的是(7)。
(7)A.软件生命周期包括以下几个阶段:项目规划、需求定义和需求分析、软件设计、程序编码、软件测试、运行维护
B.程序编码阶段是将软件设计的结果转换成计算机可运行的程序代码。为了保证程序的可读性、易维护性和提髙程序的运行效率,可以通过在该阶段中制定统一并符合标准的编写规范来使编程人员程序设计规范化
C.软件设计阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等
D.需求分析阶段对软件需要实现的各个功能进行详细分析。软件需求一旦确定,在整个软件开发过程中就不能再变化,这样才能保证软件开发的稳定性,并控制风险
【答案】D
【解析】本题考查对软件生命周期中各阶段特点的掌握。
软件需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。软件需求包括3个不同的层次:业务需求、用户需求和功能需求(也包括非功能需求)。在软件开发过程中软件需求可能发生变更,这确实给开发带来了不确定性。但只要把需求变更作为重点、难点小心加以控制,软件开发的进度、成本和质量也就有了可靠的基础。
3、在软件工程中,不属于软件定义阶段的任务是(8)。
(8)A.制定验收测试计划 B.制定集成测试计划
C.需求分析 D.制定软件项目计划
【答案】B
【解析】本题考查对软件生命周期中各阶段内容的理解。
在软件工程中,软件生命周期可以分为为三个阶段。即软件定义阶段、软件开发阶段和软件运行阶段。其中软件定义阶段又可划分为三个子阶段,分别是问题定义、可行性研究和需求分析。其中制定集成测试计划是软件开发阶段的任务。
4、软件设计阶段一般又可分为(9)。
(9)A.逻辑设计与功能设计 B.概要设计与详细设计
C.概念设计与物理设计 D.模型设计与程序设计
【答案】B
【解析】本题考查对故件生命周期中各阶段的理解。
软件的开发时期是具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:概要设计、详细设计、编码和单元测试、综合测试。其中,设计阶段包括概要设计和详细设计。
5、程序描述语言(PDL)是软件开发过程中用于(10)阶段的描述工具。
(10)A.需求分析 B.概要设计 C.详细设计 D.编程
【答案】C
【解析】本题考查对软件生命周期中各阶段使用工具的了解。
过程设计语言(Process Design Language, PDL),也称程序描述语言(Program Description Language),又称为伪码。它是一种用于描述模块算法设计和处理细节的语言,也就是详细设计阶段的描述工具。
6、软件测试的目的是(11) 。
(11)A.试验性运行软件 B.找出软件中的全部错误
C.证明软件正确 D.发现软件错误
【答案】D
【解析】本题考査对软件测试目的的理解。
软件测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。
7、按照测试实施组织,可将测试划分为开发方测试、用户测试、第三方测试。下面关于开发方测试的描述正确的是(12)。
①开发方测试通常也叫“验证测试”或“Alpha测试”
②开发方测试又称“Beta测试”
③开发方测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始
④开发方测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件
(12)A.②③ B.①③ C.①④ D.①②③
【答案】B
【解析】本题考查对软件测试分类的麵。
开发方测试通常也叫“验证测试”或“Alpha测试’ 不叫“Beta测试’ 开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。验证测试是在软件开发环境下,由开发者检测与证实软件的实现是否满足软件设计说明或软件需求说明的要求。主要是指在软件开发完成以后,开发方对要提交的软件进行全面的自我检查与验证,可以和软件的“系统测试” 一并进行。Beta测试通常被看成是一种“用户测试”。
Beta测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。
8、黑盒测试法是根据产品的(13)来设计测试用例的。
(13)A.功能 B.输入数据 C.应用范围 D.内部逻辑
【答案】A
【解析】本题考查对软件黑盒测试的概念。
黑盒测试,又称功能测试,主要用于集成测试和确认测试阶段。它把软件看做一个不透明的黑盒子,完全不考虑(或不了解)软件的内部结构和处理算法,它只检查软件功能是否能按照软件需求说明书的要求正常使用,软件是否能适当地接收输入数据并产生正确的输出信息,软件运行过程中能否保持外部信息(例如文件和数据库)的完整性等。它是根据产品的功能来设计测试用例的。
9、软件生命周期中持续时间最长的是(14)阶段。
(14)A.需求分析 B.程序编码 C.软件测试 D.软件运行维护
【答案】D
【解析】本题考查软件生命周期的内涵。
在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求,要延续软件的使用寿命,就必须对软件进行维护。所以软件维护是软件生命周期中持续时间最长的阶段。
10、软件工程概念的提出是由于(15)。
(15)A.计算技术的发展 B.软件危机的出现
C.程序设计方法学的影响 D.其他工程科学的影响
【答案】B
【解析】本题考查软件工程的基本史实。
由于软件危机的出现,人们希望将工程化的管理理念引入到软件行业,就提出了软件工程的概念。
11、为了使软件测试更加高效,应遵循的原则包括(17)。
①所有的软件测试都应追溯到用户需求,充分注意缺陷群集现象
②尽早地和不断地进行软件测试、回归测试
③为了证明程序的正确性,尽可能多地开发测试用例
④应由不同的测试人员对测试所发现的缺陷进行确认
⑤增量测试,由小到大
(17)A.①②③④ B.①③④⑤ C.②③④ D.①②④⑤
【答案】D
【解析】本题考查对软件测试的理解。
本题中要求使测试更加高效,即测试的质量和效率都能够得到保证。“所有的软件测试都应追溯到用户需求,充分注意缺陷群集现象”、“尽早地和不断地进行软件测试、回归测试”应由不同的测试人员对测试所发现的缺陷进行确认”“增量测试,由小到大”这些方法都能够使测试质量和效率得到提高。
我们不可能进行穷举测试,为了节省时间和资源,提高测试效率,必须要从数量极大的可用测试数据中精心教瞇出具有代表性或特殊性的测试数据来进行测试。如果不根据当时测试的条件和实际工作情况,不计成本地盲目大量开发测试用例,反而起不到好的效果,拖延了测试的时间。所以③的描述不够准确,其他选项是正确的。
12、软件测试信息流的输入包括(18) 。
①软件配置(包括软件开发文档、目标执行程序、数据结构)
②开发工具(开发环境、数据库、中间件等)
③测试配置(包括测试计划、测试用例、测试驱动程序等)
④测试工具(为提高软件测试效率,使用测试工具为测试工作服务)
(18)A.①②③④ B.①②④ C.①③④ D.②③④
【答案】C
【解析】本题考查对软件测试信息流相关知识的理解。
软件测试信息流的输入包括:软件配置、测试配置、测试工具,不包括开发工具。而输出的信息有修正软件的文件和预测可靠性或得出纠错后可交付使用的正确软件。
13、ISO/IEC 9126《软件工程产品质量》统一了多种质量模型。其中,下述关于软件使用质量的描述,不正确的是(19)。
(19)A.它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属性
B.使用质量的属性分为4个特性:有效性、生产率、安全性和满意度
C.使用质量是基于用户、开发者、维护者观点的质量
D.使用质量的获得依赖于取得必需的外部质量,而外部质量的获得则依赖于取得必需的内部质量
【答案】C
【解析】本题考查对标准ISO/IEC9126《软件工程产品质量》中使用质量内容的了解。
使用质量是从用户观点出发,而不是开发者、维护者的观点,来看待软件产品用于特定环境和条件下的质量。它测量用户在特定环境中达到其任务目标的程度,而不是测量软件自身的性质。
14、V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各阶段的对应关系。其中,集成测试阶段对应的开发阶段是(20)。
(20)A.需求分析阶段 B.概要设计阶段 C.详细设计阶段 D.编码阶段
【答案】B
【解析】本题考查对软件测试V模型的了解。
V模型是一个著名的,以测试为驱动的开发模型,该模型强调开发过程中测试贯穿始终。V模型如图所示:
15、集成测试,也叫组装测试或联合测试,它是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,进行集成测试。集成测试主要发现设计阶段产生的错误,集成测试计划应该在概要设计阶段制定。
16、下面关于软件测试模型的描述中,不正确的包括(21)。
①V模型的软件测试策略既包括低层测试又包括髙层测试,高层测试是为了源代码的正确性,低层测试是为了使整个系统满足用户的需求
②V模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段
③W模型可以说是V模型自然而然的发展。它强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试
④H模型中软件测试是一个独立的流程,贯穿产品的整个生命周期,与其他流程并发地进行
⑤H模型中测试准备和测试实施紧密结合,有利于资源调配
(21)A.①⑤ B.②④ C.③④ D.②③
【答案】A
【解析】本题考查对软件测试模型的了解。
在题干所述第①点中:低层测试应该是为了源代码的正确性,高层测试应该是为了使整个系统满足用户的需求;第⑤点中:测试准备和测试执行应该是分离的,而不是紧密结合的,所以有利于资源调配,降低成本,提髙效率。①和⑤都不够准确,所以答案是A。
17、广义的软件测试由“确认”、“验证”、“测试”三个方面组成,其中“确认”是(23)。
(23)A.确认是想证实在一个给定的外部环境中软件的逻辑正确性,并检查软件在最终的“运行环境上是否达到预期的目标”
B.检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致
C.检查某样东西是否符合事先已定好的标准
D.试图证明软件在软件生命周期各个阶段以及阶段间的逻辑协调性、完备性和正确性
【答案】A
【解析】本题考查对广义软件测试中“确认”和“验证”概念的了解。
“确认”和“验证”两个概念比较容易混靖。确认(Validation)是“确认工作产品完全提供了用户想要的功能,检验产品是否真正提供了用户想要的东西。”确认更多是从用户的角度,或者是模拟用户角度来验证产品是否和自己想要的一致。确认是想证实在一个给定的外部环境中软件的逻辑正确性,并检查软件在最终的运行环境上是否达到预期的目标,而不是检查软件是否符合某些事先约定的标准。验证注重“过程’ 确认注重“结果”。所以答案A是正确的。
18、与设计测试用例无关的文档是(24)。
(24)A.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序
【答案】A
【解析】本题考查对软件测试用例相关内容的了解。
测试用例就是将软件测试的行为活动做一个科学化的组织归纳。测试用例的来源可以是需求规格说明书、源程序、设计说明书(概要设计、详细设计)等一系列相关文档。项目开发计划主要描述项目开发背景、必要性、人员、项目开发内容、技术路线、关键性与先进性、时间节点安排、风险分析等项目管理等方面的事情,其中没有可以被测试案例使用的内容。
19、白盒测试也称结构测试或逻辑驱动测试,典型的白盒测试方法包括静态测试和动态测试。其中,静态测试除T静态结构分析法、静态质量度量法外,还有(25)。
(25)A.代码检查法 B.逻辑覆盖法 C.基本路径测试法 D.结构覆盖法
【答案】A
【解析】本题考查对软件白盒测试相关内容的了解。
白盒测试按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。典型的白盒测试方法包括:静态测试、动态测试。其中静态测试包括:代码检查法、静态结构分析法、静态质量法。
20、软件质量保证的主要目标不包括(29)。
(29)A.通过预防、检查与改进来保证软件质量
B.保证开发出来的软件和软件开发过程符合相应标准与规程
C.收集软件产品、软件过程中存在的不符合项,在项目总结时进行分析
D.确保项目组制定的计划、标准和规程适合项目需要,同时满足评审和审计需要
【答案】C
【解析】本题考查对软件质量保证的了解。
软件质量保证是通过预防、检查与改进来保证软件质量,是软件生命周期的管理以及验证软件是否满足规定的质量和用户的需求。它着眼于软件开发活动中的过程、步骤和产物,而不是对软件进行剖析,找出问题或进行评估。它不负责生产高质量的软件产品和制定质量计划,这些都是软件开发的工作,它的责任是审计软件经理和软件工程组的质量活动并鉴别活动中出现的偏差。它的内容也不包括“收集软件产品、软件过程中存在的不符合项,在项目总结时进行分析。
21、关于软件质量,(31)的叙述是正确的。
①软件满足规定或潜在用户需求特性的总和
②软件特性的总和,软件满足规定用户需求的能力
③是关于软件特性具备“能力”的体现
④软件质量包括“代码质量”、“外部质量”和“使用质量”3部分
(31)A.①③ B.①② C.②③ D.②④
【答案】A
【解析】本题考查对软件质量概念的了解。
软件质量是软件特性的总和,是软件满足规定或潜在用户需求的能力。2001年,软件产品质量国际标准ISO/IEC9126定义的软件质量包括“内部质量”、“外部质量”和“使用质量”3部分。也就是说,“软件满足规定或潜在用户需求的能力”要从软件在内部、外部和使用中的表现来衡量。在②的描述中没有提到满足潜在用户的需求,而在④中“代码质量”应该是“内部质量”,所以这两个选项是错误的。
22、关于软件测试与质量保证,正确的理解是(32)。
(32)A.软件测试关注的是过程中的活动,软件质董保证关注的是过程的产物
B.软件测试不是软件质量保证工作中的内容
C.软件测试是软件质量保证的重要手段
D.软件质量保证人员就是软件测试人员
【答案】C
【解析】本题考查对软件质量保证与软件测试的区别的理解。
软件测试就是在软件投入运行前对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤与重要手段。软件测试不关注过程中的活动,软件质量保证人员和 软件测试人员的职责、工作内容不同。
23、(33)不是正确的软件测试目的。
(33)A.尽最大的可能找出最多的错误
B.设计一个好的测试用例对用户需求的覆盖度达到100%
C.对软件质量进行度量和评估,以提髙软件的质量
D.发现开发所采用的软件过程的缺陷,进行软件过程改进
【答案】B
【解析】本题考查对软件测试目标的理解。
软件测试的目的是发现软件的错误,验证软件是否满足用户需求,并通过分析软件错误产生的原因,以帮助发现当前开发工作所采用的软件过程的缺陷,以便进行软件过程改进。但是测试不可能发现所有的软件缺陷,也不可能设计出一个测试用例对用户需求的覆盖度达到100%。
24、设计功能测试用例的根本依据是(34)。
(34)A.用户需求规格说明书 B.用户手册
C.被测产品的用户界面 D.概要设计说明书
【答案】A
【解析】本题考查对软件测试用例的相关知识的理解。
功能测试关注的是系统功能是否能够正确实现,所以设计功能测试用例的根本依据是用户需求规格说明书,所有功能测试用例都要追溯到用户需求规格说明书。
25、关于软件测试与软件开发的认识,不正确的是(35)。
(35)A.软件生命周期各个阶段都可能产生错误
B.软件测试是独立于软件开发的一个工作
C.软件开发的需求分析和设计阶段就应开始测试工作
D.测试越早进行,越有助于提高被测软件的质量
【答案】B
【解析】本题考查对软件测试与软件开发的关系。
软件开发是一个系统的工程,包括需求分析、设计、编码、测试、维护等几个环节。软件测试是整个软件开发流程中的一个环节。在现代软件开发的流程中,测试已经贯穿于整个开发流程,而不是只在编码完成以后才开始的活动了。
26、软件测试原则中指出“完全测试是不可能的”,主要原因是(36)。
(36)A.输入量太大、输出结果太多以及路径组合太多
B.自动化测试技术不够完善
C.测试的时间和人员有限
D.仅仅靠黑盒测试不能达到完全测试
【答案】A
【解析】本题考查对软件测试原则的麵。
软件测试的目的是发现软件的错误,验证软件是否满足用户需求,并通过分析软件错误产生的原因,以帮助发现当前开发工作所采用的软件过程的缺陷,以便进行软件过程改进。通过软件测试不可能完全消除错误,完全测试是不可能的,因为不可能穷举软件的所有测试路径、输入与输出。
27、产品的功能性测试的内容不包括(37)。
(37)A.适合性 B.易用性 C.正确性 D.互操作性
【答案】B
【解析】本题考查对软件测试标准。
在国际标准ISO/IEC9126的功能性中,产品的功能测试的内容包括适合性、准确性、互操作性、保密安全性、功能依从性,不包括易用性。
28、以下关于设计功能测试用例的叙述,(38)是不正确的。
(38)A.尽量用80%测试用例覆盖20%的核心业务模块
B.功能测试用例中不包括功能的依从性测试用例
C.功能测试用例中包括业务流,也包括测试数据
D.功能测试用例的设计应注意缺陷群集现象
【答案】B
【解析】本题考查对软件功能测试用例的理解。
在国际标准ISO/IEC9126的功能性度量中,包括适合性、准确性、互操作性、保密安全性、功能依从性,所以在功能测试案例中应该包括功能的依从性测试用例。
29、以下不属于软件测试对象的有(39)项。
①需求规格说明书 ②软件的程序模块
③概要设计说明书与详细设计说明书 ④软件的用户手册
(39)A.2 B.3 C.4 D.0
【答案】D
【解析】本题考査对软件测试对象的相关知识的理解。
软件测试不仅仅是执行软件,它贯穿整个软件开发周期。软件测试的对象不仅仅是软件代码,还包括软件需求文档、各种设计文档和用户手册等,所以答案选择D。
30、以下关于不同类型的软件测试的叙述,正确的是(40)。
(40)A.单元测试不是模块测试
B.多个模块不能平行地独立进行测试,应该顺序执行
C.系统测试是检验程序单元或部件之间的接口关系
D.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期用途的需求
【答案】D
【解析】本题考查对软件测试类型的相关知识的理解。
单元测试又称为模块测试,是针对辦模块(软件设计的最小单位)細亍正确性检验的测试工作,所以A是不对的;多个模块可以同时进行测试,不用顺序进行,所以B不对;系统测试是将通过确认测试的软件作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起测试,而不是检验程序单元或部件之间的接口关系,所以C不对;答案D是正确的。
31、以下关于白盒测试和黑盒测试的理解,正确是(41)。
(41)A.白盒测试通过对程序内部结构的分析、检测来寻找问题
B.白盒测试通过一些表征性的现象、事件、标志来判断内部的运行状态
C.单元测试可应用白盒测试方法,集成测试则采用黑盒测试方法
D.在软件生命周期各个阶段都需要用白盒测试方法
【答案】A
【解析】本题考查对白盒测试和黑盒测试的理解。
白盒测试是对程序内部结构的测试,所以B是不对的;集成测试采用设计-组装方法,如自顶向下、自底向上或混合的增殖方法等,所以C是不对的;白盒测试是对源代码进行测试,如单元测试,并不适用于其他开发、测试阶段,所以D是不对的。
32、V模型是具有代表意义的测试模型,以下理解正确的是(42)。
(42)A.V模型认为测试阶段是与开发阶段并行的
B.V模型是软件开发螺旋模型的变种,它反映了测试活动与分析和设计的关系
C.V模型造成需求分析阶段隐藏的问题一直到后期的验收测试才被发现
D.V模型是对W模型的改进
【答案】C
【解析】本题考查对软件测试V模型的理解。’
V模型认为测试阶段是开发阶段结束后开始的活动,所以A是不对的;V模型是软件开发爆布模型的变种,所以B是不对的;W模型是V模型的改进,所以D是不对的;答案C正确的。
33、计算以下控制流程图的环路复杂性V(G),正确答案是(44)。
(44)A.V(G)=2 B.V(G)=4 C.V(G)=9 D.V(G)=11
【答案】B
【解析】本题考查环路复杂性的计算方法。
V(G)= edge-node+2=11-9+2=4,其中edge为控制流程图的边数,node为控制流程图的节点数。
34、对需求说明书评测的内容包括(45)。
①系统定义的目标是否与用户的要求一致
②被开发项目的数据流与数据结构是否足够、确定
③与所有其他系统交互的重要接口是否都已经描述
④主要功能是否已包含在规定的软件范围之内,是否都已充分说明
⑤确认软件的内部接口与外部接口是否己明确定义
(45)A.①③⑤ B.②③⑤ C.①②④⑤ D.①②③④
【答案】D
【解析】本题考查需求说明书评测所包含的内容。
⑤是概要设计说明书评测的内容,所以正确答案是D。
35、假设A、B为布尔变量,对于逻辑表达式(A&&B||C),需要(47)个测试用例才能完成判定覆盖(DC)。
(47)A.2 B.3 C.4 D.5
【答案】A
【解析】本题考查判定覆盖的基础知识。
判定覆盖只关心判定表达式的值,即真、假分别取到即可,所以是两个测试用例。
36、有关评估系统效率质量特性,以下论述正确的是(51)。
(51)A.响应时间越长,系统执行效率越高
B.响应时间和交易执行吞吐量都是用来衡量系统执行快慢的
C.响应时间越短,交易执行吞吐量越大
D.系统的访问量越大,交易执行吞吐量越大
【答案】B
【解析】本题考査系统效率质量特性的基本概念。
响应时间越长,系统率越低,所以A是错误的;交易执行吞吐量不是由响应时间决定的,如果系统的访问量很小,响应时间再快,吞吐量也不会大,所以C是错的;同理,系统访问量很大,但是处理能力有限,交易执行吞吐量也不会大,所以D是错的。
37、(52)不属于易用性测试范畴。
(52)A.软件产品使用户能理解软件是否合适以及如何能将软件用于特定的任务和使用条件的能力
B.软件产品使用户能操作和控制它的能力
C.对软件中的缺陷或失效原因进行诊断,或识别待修改部分的能力
D.软件产品吸引用户的能力
【答案】C
【解析】本题考査对软件质量、测试标准的了解。
C为ISO/IEC 9126《软件工程产品质量》的“维护性”中的“易分析性”的范畴,不属于易用性,所以C是错误的。
38、假设在程序控制流图中有14条边、10个节点,则控制流程图的环路复杂性V(G)等于(54)。
(54)A.12 B.8 C.6 D.4
【答案】C
【解析】本题考查环路复雑的计算方法。
V(G)=edge-node+2=14-10+2=6,其中edge为控制流程图的边数,node为控制流程图的节点数。
39、针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要(56)个测试用例能够满足分支覆盖的要求。
int MathMine(int x)
{
int m = 0;
int i;
for( i = x-1; i <= x + 1; i++ )
{
if( i < 0 ) continue;
if( i >31 ) break;
if( sta[i] == -1 ) m++;
}
return m;
}
(56)A.3 B.4 C.5 D.6
【答案】A
【解析】本题考查分支覆盖的概念和相关计算方法。
分支覆盖要求程序中的每个分支测试覆盖到。本题中,X分别取0、100、10即符合要求。
40、软件测试使用各种术语描述软件出现的问题,以下叙述正确的是(58)。
(58)A.软件错误(error)是指在软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件故障的产生
B.软件缺陷(defect)是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差
C.软件故障(fault)是指软件运行过程中出现的一种不希望或不可接受的外部状态
D.软件失效(failure)是指软件运行时产生的一种不希望或不可接受的内部行为结果
【答案】B
【解析】本题考查软件测试中的各种术语的区别。
软件错误(error)的结果是导致软件缺陷的发生,所以A是不对的:软件故障(fault)一种内部状态,所以C是不对的;软件失效(failure)是一种外部行为结果,所以D是不对的。
软件错误是指在软件生命周期内的不希望或不可接受的人为错误,其结果将导致软件缺陷的产生。
软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,其结果是软件运行于某一特定条件时,将出现软件故障。
软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态。故障是一种状态行为,是指一个实体发生障碍和毛病。
软件失效是指软件运行时产生的一种不希望或不可接受的外部行为结果。软件失效时系统行为对用户要求的偏离,是一种面向用户的概念。
41、网络测试不能解决的问题是(59)。
(59)A.连通性 B.丢包 C.全表扫描 D.延迟
【答案】C
【解析】本题考查网络测试的基本概念。
全表扫描是数据库的概念,指对无索引的表中的每条记录都进行匹配,直至返画所有符合查询条件的记录为止,与网络测试无关。
42、关于bug管理流程,(60)是正确的做法。
(60)A.开发人员提交新的bug入库,设置状态为“New”
B.开发人员确认是bug,设置状态为“Fixed”
C.测试人员确认问题解决了,设置状态为“Closed”
D.测试人员确认不是bug,设置状态为“Reopen”
【答案】C
【解析】本题考查对bug管理流程的基本环节与知识的理解。
选项A:测试人员而不是开发人员提交新的bug入库,设置状态为“New”。
选项B:确认是bug,设置状态为“Open”而不是“Fixed”。
选项D:确认不是bug,设置状态为“Declined”而不是“Reopen".
43、(61)是当前自动化测试技术不能解决的问题。
(61)A.保证测试质量 B.提高测试效率
C.排除手工操作错误 D.降低测试用例设计的难度
【答案】D
【解析】本题考査对自动化测试技术局限性的理解。
在现实中有关的测试设计、测试案例以及一些关键的测试任务还是需要人工参与的,即自动化测试是对手工测试的辅助和补充(见《软件评测师教程》第59〜62页),所以选择D。
44、GB/T 18905.5《软件工程产品评价》中,分别规定了开发者用、需方用、评价者用的过程,以下理解正确的是(62)。
(62)A.计划开发新产品的厂商,该标准中规定不允许利用他们自己的技术人员进行产品评价
B.软件产品的一般评价过程是:确立评价需求,规定、设计和执行评价
C.该标准不适用于对软件产品执行独立评估的第三方评测机构
D.该标准可用来决定从众多可选产品中选择某个产品,但该产品不可以是较大产品的一部分
【答案】B
【解析】本题考查对GBA118905标准各部分分工的掌握。
选项A:计划开发新产品或增强现有的产品,以及打算利用他们自己的技术人员进行产品评价的组织应使用GBA118905.3。
选项C:使用GBfT 18905.5对软件产品执行独立评估的评价者通常为第三方组织工作。
选项D: 计划获取或复用某个已有的软件产品或预先开发的软件产品的组织应使用GB/T 8905.4。该部分可用来决定接受产品或者从众多可选产品中选择某个产品(产品可以是自包含的,或是系统的一部分,或者是较大产品的一部分)。
45、软件测评相关的标准一般可以分为国际标准、国家标准、行业标准以及企业标准。一般情况下,技术要求最高的是(63)。
(63)A.国际标准 B.国家标准 C.行业标准 D.企业标准
【答案】D
【解析】本题考查对软件测试相关标准的了解。
企业标准是参照并基于相关行业标准、国家标准和国际标准,并针对自有产品所采用的特定技术而制定的。这些技术包括企业拥有的专利、不公开的科研成果等,反映了企业的核心竞争力,通常技术性较高。
46、为验证某呼叫中心是否能够承受大量呼叫信息同时呼入并得到正确处理,测试工程师一般采用(64)测试工具。
(64)A.负载压力 B.代码 C.网络仿真 D.故障诊断
【答案】A
【解析】本题考查对性能测试基本概念的理解。
负载压力测试是在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量, 以确定系统所能承受的最大负载压力的测试。题目中呼叫中心的大量呼入测试属于本范畴,所以本题中的测试工程师应采用负载压力测试工具。
47、关于软件测试过程中的配置管理,(65)是不正确的表述。
(65)A.测试活动的配置管理属于整个软件项目配置管理的一部分
B.软件测试配置管理包括4个基本的活动:配置项变更控制、配置状态报告、 配置审计、配置管理委员会建立
C.配置项变更控制要规定测试基线,对每个基线进行描述
D.配置状态报告要确认过程记录、跟踪问题报告、更改请求以及更改次序等
【答案】B
【解析】本题考查对软件测试配置管理。
软件测试配置管理的基本活动应该包括:建立配置计划、配置标识与建立基线、配置变更管理、版本管理、配置审计、配置状态报告。
48、测试成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化,以下理解正确的是(66)。
(66)A.测试准备成本属于测试实施成本
B.可以通过加强软件测试的配置管理来降低测试维护成本
C.测试设计成本控制的目标是尽可能地减少测试总执行时间和所需的测试专用设备
D.回归测试将测试案例全部重新执行一遍,可以将测试维护成本降至最低
【答案】B
【解析】本题考查对软件测试成本控制的相关内容。
测试执行成本控制的目标是使总执行时间和所需的测试专用设备尽可能地减少。执行测试时,要求用户进行手工操作的测试时间应尽量减少,同时对劳动力和所需技能的要求也要尽量降低。为了进行测试成本控制,可以通过加强软件测试的配置管理来降低测试维护成本。
49、以下关于缺陷探测率(DDP)的表述,不正确的是(67)。
(67)A.DDP是一个衡量测试工作效率的软件质量成本指标
B.缺陷探测率越高,也就是测试者发现的错误越多,发布后客户发现的错误才可能越少
C.DDP是衡量测试投资回报的一个重要指标
D.测试周期越长,缺陷探测率就会越高
【答案】D
【解析】本题考查对缺陷探测率的了解。
DDP是Defect Detection Percentage的缩写,即缺陷探测率。DDP是衡量测试投资回报的一个重要指标,是衡量测试工作效率的软件质量成本指标之一。其计算公式如下:DDP=Bugs(tester)/[Bugs(tester)+Bugs(customer)]
其中,Bugs(tester)为软件开发方测试者发现的Bugs数目,Bugs(customer)为客户方发现并反馈给技术支持人员进行修复的Bugs数目。DDP越高,说明测试者发现的Bugs数目越多,发布后客户发现的Bugs就越少,降低了外部故障不一致成本,达到了节约总成本的目的,可获得较髙的测试投资回报率(ROI)。
测试周期长不一定会找到更多的Bug,如果没有找到足够多的Bug,不能够成功避免软件上线后用户发现Bug,也不能提高DDP。
50、在一个完整的功能测试过程中,(68)不属于应该编写的测试文档。
(68)A.测试需求文档 B.测试用例文档 C.测试标准 D.问题报告单
【答案】C
【解析】本题考查测试文档的范畴。
测试标准是测试的依据,不属于测试文档,所以C是错误的。
51、性能测试过程中需要对数据库服务器的资源使用进行监控,(69)不属于应该监控的指标。
(69)A.CPU占用率 B.可用内存数 C.点击率 D.缓存命中率
【答案】C
【解析】本题考查对性能测试监控指标的麵。
点击率是指网站页面内容被点击次数与被显示次数的比值,不属于数据库服务器的资源使用性能测试监控指标。