1、(7)不是单元测试主要检查的内容。
(7)A.模块接口 B.局部数据结构 C.全局数据结构 D.重要的执行路径
【答案】C
【解析】本题考查软件测试的基础知识。
单元测试又称为模块测试,是针对软件设计的最小单元—程序模块,进行正确性检验的测试。其目的在于发现各模块内不可能存在的各种问题和错误。单元测试需要从程序的内部结构出发设计测试用例。模块可以单独进行单元测试。单元测试测试以下几个方面:模块接口、局部数据结构、执行路径、错误处理和边界。

2、软件测试的对象不包括(53)。
(53)A.软件代码 B.软件开发过程 C.文档 D.数据
【答案】B
【解析】本题考查软件测试的对象。
根据软件定义,软件包括程序、数据和文档,所以软件测试的对象也应该为程序、数据、文档

3、以下关于测试计划的叙述中,不正确的是(54)。
(54)A.测试计划能使测试工作顺利进行 B.测试计划能使项目参与人员沟通顺畅
C.测试计划无益于提高软件质量 D.测试计划是软件过程规范化的要求
【答案】C
【解析】本题考查软件测试计划相关知识。
《ANSI/IEEE软件测试文档标准829-1983》将测试计划定义为:“一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务、人员安排,以及任何偶发事件的风险。”软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
根据上述描述,测试技术显然有益于提高软件质量。

4、以下关于软件测试原则的叙述中,正确的是(55)。
(55)A.测试用例只需选用合理的输入数据,不需要选择不合理的输入数据
B.应制定测试计划并严格执行,排除随意性
C.穷举测试是可能的
D.程序员应尽量测试自己的程序
【答案】B
【解析】本题考查软件测试的原则。
软件测试应遵循的原则包括:应当把“尽早和不断地测试”作为开发者的座右铭;程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成;设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件;一定要注意测试中的错误集中发生现象,应对错误群集的程序段进行重点测试;对测试错误结果一定要有一个确认的过程;制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试;回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见;妥善保存一切测试过程文档;穷举测试是不能实现的。
根据上述描述,测试过程中需要制定测试计划并严格执行。

5、以下关于测试时机的叙述中,不正确的是(56)。
(56)A.应该尽可能早地进行测试
B.软件中的错误暴露得越迟,则修复和改正错误所花费的代价就越高
C.应该在代码编写完成后开始测试
D.项目需求分析和设计阶段需要测试人员参与
【答案】C
【解析】本题考查软件测试一些基础知识。
在传统的瀑布模型中,软件项目主要有用户需求分析、概要设计、详细设计、编码和实现、测试以及运行维护几个阶段组成。因此人们一般认为,软件测试只是软件编码后的一个阶段。但随着软件测试业的发展,人们越来越认识到:软件测试不应只是软件项目的收尾工作,而应该在软件生命周期的每一阶段中都包含测试。软件测试是贯穿于整个软件开发生命周期的过程活动,包括软件测试计划、软件测试需求分析、软件测试用例设计、软件测试执行、软件缺陷管理、软件测试风险管理以及其他的一些软件测试相关的活动等等组成。在软件项目的每个阶段,都需要进行不同目的和不同A容的测试活动,以保证各个阶段工作产品输出的正确性。在项目开发的后期,发现一些软件需求阶段和概要设计阶段的错误和问题,修改这些缺陷导致的成本将是非常高的。有资料表明:平均而言,如果在需求阶段修正一个错误的代价是1,那么,在设计阶段就是它的3〜6倍,在编程阶段是它的10倍,在内部测试阶段是它的20〜40倍,在外部测试阶段是它的30〜70倍,而到了产品发布出去,这个数字就是40〜1000倍。
根据上述描述,测试活动贯穿于整个开发生命周期。

6、以下不属于软件测试工具的是(57)。
(57)A.JMeter B.LoadRunner C.JTest D.JBuilder
【答案】D
【解析】本题考查软件工具的基本知识。
JMeter、LoadRunner 和 JTest 都是软件测试工具。
JBuilder 是一种软件开发工具,不属于软件测试工具。

7、软件的易用性包括(58)。
①理解性 ②易学习性 ③易操作性 ④吸引性 ⑤依从性
(58)A.①② B.①②③ C.①②③④ D.①②③④⑤
【答案】D
【解析】本题考查易用性测试的基础知识。

8、黑盒测试不能发现(59)。
(59)A.功能错误或者遗漏 B.输入输出错误
C.执行不到的代码 D.初始化和终止错误
【答案】C
【解析】本题考查黑盒测试的基础知识。
黑盒测试是把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试能发现功能错误或者遗漏、输入输出错误以及初始化和终止错误。
由于黑盒测试不考虑程序内部结构,所以该方法不能检测到执行不到的代码。

9、以下关于边界值测试法的叙述中,不正确的是(60)。
(60)A.边界值分析法不仅重视输入域边界,而且也必须考虑输出域边界
B.边界值分析法是对等价类划分方法的补充
C.发生在输入输出边界上的错误比发生在输入输出范围的内部的错误要少
D.测试数据应尽可能选取边界上的值,而不是等价类中的典型值或仨意值
【答案】C
【解析】本题考查黑盒测试中的边界值测试法。
边界值测试法就是对输入或输出的边界值进行测试的一种黑盒测试方法。边界值测试法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。边界值测试不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。边界值测试不仅考虑输入条件,还要考虑输出空间产生的测试情况。用边界值测试方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
根据上述描述,发生在输入输出边界上的错误比发生在输入输出范围的内部的错误要多。

10、白盒测试不能发现(61)。
(61)A.代码路径中的错误 B.死循环 C.逻辑错误 D.功能错误
【答案】D
【解析】本题考查白盒测试的基础知识。
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不考虑其功能,白盒测试的主要方法有静态结构分析法、逻辑覆盖法、基本路径测试法等。白盒测试完全基于代码,能发现代码路径中的错误、程序中的死循环以及逻辑错误。白盒测试不关心功能需求,因此无法确定功能正确与否。

11、对于逻辑表达式((a&&b)||c),需要(62)个测试用例才能完成条件组合覆盖。
(62)A.2 B.4 C.8 D.16
【答案】C
【解析】本题考查白盒测试中逻辑覆盖法的条件组合覆盖。
条件组合覆盖的含义是:选择足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。
本题中有三个条件,组合之后需要的用例数是8。

12、为检测系统在长时间运行下是否存在性能瓶颈,应进行(63)。
(63)A.负载测试 B.压力测试 C.疲劳强度测试 D.大数据量测试
【答案】C
【解析】本题考查负载测试、压力测试、疲劳强度测试、大数据量测试的基本知识。
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的情况。压力测试是通过逐步增顶系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。疲劳强度测试是采用系统稳定运行情况F能够支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标和资源监控指标,来确定系统处理最大工作量强度性能的过程。大数据量测试包括独立的数据量测试和综合数据量测试,独立数据量测试是指针对系统存储、传输、统计、查询等业务进行的大数据量测试;综合数据量测试是指和压力测试、负载测试、疲劳强度测试相结合的综合测试。
本题的目标是检测系统在长时间运行下的表现,应进行疲劳强度测试。

13、以下关于负载压力测试的叙述中,不正确的是(64)。
(64)A.负载压力测试用于确认系统是否支持性能需求
B.负载压力测试能得到系统可承受的业务量增长
C.负载压力测试是在一定约束条件下测试系统所能承受的最大负载压力
D.负载压力测试不用于发现不同负载场景下的速度变慢、内存泄露等问题
【答案】D
【解析】本题考查负载压力测试的基础知识。
负载压力测试是在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力。负载压力测试有助于确认被测系统是否能够支持性能需求,以及预期的负载增长等。负载压力测试不只是关注不同负载场景下的响应时间等指标,它也要通过测试来发现在不同负载场景下会出现的,例如速度变慢、内存泄漏等问题的原因。负载压力测试是性能测试的重要组成部分。
根据上述描述,负载压力测试可以发现不同负载场景下的速度变慢、内存泄露等问题。

14、测试过程中,正确的测试顺序应该是(65)。
①单元测试 ②集成测试 ③系统测试
(65)A.①②③ B.③①② C.②③① D.③②①
【答案】A
【解析】本题考查软件测试的过程。
测试过程应该是从模块层开始,然后扩大延伸到整个基于计算机的系统集今中。因此正确的测试顺序应该是从针对单个模块的单元测试开始,然后逐步集成各个单元,最后进行系统测试。

15、以下属于静态测试方法的是(66)。
(66)A.分支覆盖率分析 B.复杂度分析 C.系统压力测试 D.路径覆盖分析
【答案】B
【解析】本题考查软件静态测试方法。
静态测试不实际运行被测软件,主要是对软件的编程格式、结构等方面过行评估。本题中分支覆盖率分析、系统压力测试和路径覆盖分析都需要实际运行测试软件才能得到,只有复杂度分析可通过静态分析程序代码实现。

16、以下关于集成测试的叙述中,不正确的是(67)。
(67)A.在完成软件的概要设计后,即开始制定集成测试计划
B.实施集成测试时需要设计所需驱动和桩
C.桩函数是所测函数的主程序,它接收测试数据并把数据传送给所测试函数
D.常见的集成测试方法包括自顶向下、自底向上、Big-Bang等
【答案】C
【解析】本题考查集成测试的基础知识。
集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。集成测试的依据是概要设计规格说明,因此在概要设计完成后印开始制定集成测试计划。集成测试需要设计所需的驱动模块和桩模块。驱动模块用来模拟被测试模块的上一级模块,相当于被测模块的主程序,它接收数据,将相关数据传送给被测模块,启动被测模块,并打印出相应的结果。桩模块用来模拟被测模块工作过锃中所调用的模块,它们一般只进行很少的数据处理。常见的集成测试方法包括自顶向f、自底向上、Big-Bang等。
本题中选项C混淆了驱动和桩的概念。

17、软件系统的安全性是信息安全的一个重要组成部分,针对程序和数据的安全性测试与评估是软件安全性测试的重要内容,(69)不属于安全性测试与评估的基本内容。
(69)A.用户认证机制 B.加密机制
C.系统能承受的并发用户量 D.数据备份与恢复手段
【答案】C
【解析】本题考查安全性测试与评估的基本内容。
安全性测试与评估是软件安全性测试的重要内容,其测试与评估的基本内容包括用户认证机制、加密机制、安全防护策略、数据备份与恢复手段、防病毒系统等,而系统能承受的并发用户量属于基本的应用负载压力测试内容。

18、模拟攻击试验是一种基本的软件安全性测试方法,以下关于模拟攻击试验的叙述中,正确的是(70)。
(70)A.模拟攻击试验必须借助于特定的漏洞扫描器才能完成
B.对安全测试来说,模拟攻击试验是一组特殊的白盒测试案例,必须在充分了解系统安全机制的软件组成基础上,才能进行相应攻击试验的设计与试验
C.缓冲区溢出攻击是一种常见的模拟攻击试验,此类攻击者通常通过截获含有身份鉴别信息或授权请求的有效消息,将该消息进行重演
D.服务拒绝攻击是一种常见的模拟攻击试验,此类攻击者通常通过向服务器发送大量虚假请求,使得服务器功能不能正常执行
【答案】D
【解析】本题考查模拟攻击试验的基本原理。
模拟攻击试验是一组特殊的墨盒测试案例,以模拟攻击来验证软件或信眉系统的安全防护能力,因为是墨盒测试,所以通常可在不借助漏洞扫描器的前提下完成,因此选项A与选项B是均是错误的;而选项C描述的应为模拟重演攻击的基本原理,因此也是错误的;选项D描述的是服务拒绝攻击的基本原理,因此本题正确答案应为D。