一、 选择题
1.软件测试的目的是( B )。
A)试验性运行软件 B)发现软件错误 C)证明软件正确 D)找出软件中全部错误 2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。 A)应用范围 B)内部逻辑 C)功能 D)输入数据 3.黑盒法是根据程序的( C )来设计测试用例的。 A)应用范围 B)内部逻辑 C)功能 D)输入数据 4.为了提高软件测试的效率,应该( D )。
A)随机地选取测试数据 B)取一切可能的输入数据作为测试数据
C)在完成编码以后制定软件的测试计划 D)选择发现错误可能性最大的数据作为测试用例 5.与设计测试用例无关的文档是( A )。
A)项目开发计划 B)需求规格说明书 C)设计说明书 D)源程序 6.测试的关键问题是( B )。
A)如何组织软件评审 B)如何选择测试用例 C)如何验证程序的正确性 D)如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。
A)测试计划 B)测试规则 C)预期输出结果 D)以往测试记录分析 8.成功的测试是指运行测试用例后( B )。
A)未发现程序错误 B)发现了程序错误 C)证明程序正确性 D)改正了程序错误 9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。 A)语句覆盖 B)判定覆盖 C)条件覆盖 D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是( D )。
A)等价类划分法 B)边界值分析法 C)错误推测法 D)因果图法
11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A )。 A)系统功能 B)局部数据结构 C)重要的执行路径 D)错误处理 12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。 A)需求分析 B)概要设计 C)详细设计 D)编码 13.不属于白盒测试的技术是( D )。
A)路径覆盖 B)判定覆盖 C)循环覆盖 D)边界值分析 14.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。
A)自顶向下渐增式测试 B)自底向上渐增式测试 C)非渐增式测试 D)系统测试 15.确认测试以( A )文档作为测试的基础。
A)需求规格说明书 B)设计说明书 C)源程序 D)开发计划 16.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A)程序内部逻辑 B)程序的复杂度 C)使用说明书 D)程序的功能 17.程序的三种基本结构是( B )。
A)过程子、程序、分程序 B)顺序、选择、循环 C)递归、堆栈、队列 D)调用、返回、转移 18.结构化程序设计的一种基本方法是( D )
A)筛选法 B)递归法 C)归纳法 D)逐步求精法 19.软件调试的目的是( A )
A)找出错误所在并改正之 B)排除存在错误的可能性 C)对错误性质进行分类 D)统计出错的次数 20.程序三种基本结构的共同特点是( D ) A)不能嵌套使用 B)只能用来写简单程序
C)已经用硬件实现 D)只有一个入口和一个出口 21.下面说法正确的是( C )。
A)经过测试没有发现错误说明程序正确 B)测试的目标是为了证明程序没有错误 C)成功的测试是发现了迄今尚未发现的错误的测试 D)成功的测试是没有发现错误的测试 22.覆盖准则最强的是( D )。 A)语句覆盖 C)条件覆盖 A)语句覆盖 C)条件覆盖 A)条件覆盖 C)条件组合覆盖
B)判定覆盖 D)路径覆盖 B)判定覆盖 D)路径覆盖 B)判定覆盖 D)路径覆盖
23.发现错误能力最弱的是( A )。
24.实际的逻辑覆盖测试中,一般以( C )为主设计测试用例。
25.下面( D )方法能够有效地检测输入条件的各种组合可能引起的错误。 A)等价类划分 B)边界值分析 C)错误推测
D)因果图
26.与确认测试阶段有关的文档是( A )。 A)需求规格说明书 B)概要设计说明书 C)详细设计说明书 D)源程序 27.超出软件工程范围的测试是( D )。 A)单元测试 C)确认测试 A)功能 C)处理过程 A)单元测试 C)确认测试 30.调试应该由( B )完成。 A)与源程序无关的程序员 C)不了解软件设计的机构
B)编制该源程序的程序员 D)设计该软件的机构 B)集成测试 D)系统测试 B)内部结构 D)条件 B)集成测试 D)系统测试
28.软件测试不需要了解软件设计的( D )。
29.( B )方法需要考察模块间的接口和各模块之间的联系。
31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( C )上。
A)配置项 B)程序 C)基线 D)过程 32.版本管理是对系统不同版本进行的( A )过程
A)标识与跟踪 B)标识变更 C)发布变更 D)控制变更
33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( D )。 A)异步控制 C)存取控制 A)异步控制 C)基线控制 A)软件元素 C)软件项目
B)同步控制 D)基线控制 B)同步控制 D)存取控制 B)软件配置项 D)软件过程
34. 在配置管理中,“登入”和“检出”处理实现了两个重要的变更控制要素,即同步控制和( B )。
35. 按照软件配置管理的原始指导思想,受控制的对象应是( C )。
36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( B )。 A)接口 B)软件环境 C)信息项 A)异步控制 B)同步控制 C)存取控制 38.以下说法错误的是( A )。 A)软件配置管理简称SCI
B)软件配置项是配置管理的基本单位 C)软件配置实际上是一动态的概念
D)软件工程过程中某一阶段的变更均要引起软件配置的变更 39.在设计人机界面时,应主要考虑的因素有(D)。
A) 系统响应时间 B)错误处理 C)用户求助机制 D)以上都是 40.人机界面的风格大致经过了( D )代的演变
A)一 B)二 C)三 D) 四 二、 填空题
1.软件测试的目的是尽可能多地发现软件中存在的 错误 ,将测试 测试结果 作为纠错的依据。 2.测试阶段的基本任务是根据软件开发各阶段的 文档资料 和程序的 内部结构 ,精心设计一组 测试用例 ,利用这些实例执行 程序 ,找出软件中潜在的各种 错误 和 缺陷 。 3.测试用例由 输入数据 和预期的 输出数据 两部分组成。
4.软件测试方法一般分为两大类: 动态测试 方法和 静态测试 方法。
5.动态测试通过 运行程序 发现错误。根据 测试用例 的设计方法不同,动态测试又分为 黑盒测试 与 白盒测试 两类。
6.静态测试采用 人工检测 和 计算机辅助静态分析 的手段对程序进行检测。
7.人工审查程序偏重于 编码质量 的检验,而软件审查除了审查 编码 还要对各阶段 软件产品 进行检验。
8.计算机辅助静态分析利用 静态分析 工具对测试程序进行 特性 分析。
9.黑盒法只在软件的 接口 处进行测试,依据 需求规格 说明书,检查程序是否满足 功能 要求。 10.白盒法必须考虑程序的 内部结构 和 处理过程 ,以检查 处理过程 的细节为基础,对程序中尽可能多的逻辑路径进行 测试 。
11.白盒测试是 结构 测试,被测对象是 源程序 ,以程序的 内部逻辑 为基础设计测试用例。 12.逻辑覆盖是对程序内部有 判定 存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖6种覆盖技术。
13.实际的逻辑覆盖测试中,一般以 条件组合 覆盖为主设计测试用例,然后再补充部分用例,以达到 路径 覆盖测试标准。
14.循环覆盖是对程序内部有 循环 存在的逻辑结构设计测试用例,它通过限制 循环次数 来测试。 15.基本路径测试是在程序 控制流程图 基础上,通过分析控制构造的 环路 复杂性,导出 基本路径 集合,从而设计测试用例。
16.黑盒测试是 功能 测试,用黑盒技术设计测试用例有4种方法:等价类划分 边界值分析 错误推测 因果图。
17.等价类划分从程序的 功能 说明,找出一个输入条件(通常是 一句话 或 一个短语 ),然后将每个输入条件划分成两个或多个 等价类 。
18.边界值分析是将测试 边界 情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值 的测试数据。如果输入或输出域是一个有序集合,则应选取集合的 第一个 元素和 最后一个 元素作为测试用例。
19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为 错误推测法 。
20.因果图的基本原理是通过画 因果 图,把用自然语言描述的 功能说明 转换为 判定表 ,最后为
D)版本 D)基线控制
37.在变更控制中,可用来确保由不同用户所执行的并发控制是( B )。
判定表每一列设计一个测试用例。
21.测试的综合策略是在测试中,联合使用各种 测试 方法。通常先用 黑盒 法设计基本的测试用例,再用 白盒 法补充一些必要的测试用例。
22.软件测试过程中需要3类信息:软件配置 、 测试配置 和 测试工具 。 23.软件测试一般经过4个测试:单元测试 集成测试 确认测试 系统测试 。
24.单元测试 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及 编码 和 详细设计 的文档。
25.单元测试主要测试模块的5个基本特征:模块接口 局部数据结构 重要的执行路径 错误处理 边界条件。
26.在单元测试中,需要为被测模块设计 驱动 模块和 桩 模块。 驱动模块 用来模拟被测模块的上级调用模块, 桩模块 用来代替被测模块所调用的模块。
27.集成测试指在 单元 测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称 组装 测试或 联合 测试。
28.集成测试的方法有两种: 非渐增式测试 渐增式测试 。
29.渐增式测试有两种不同的组装模块的方法: 自顶向下结合 自底向上结合 。
30.自顶向下渐增式测试不需要编写 驱动 模块,只需要编写 桩 模块,其步骤是从 模块开始,沿着被测程序的 顶层 的控制路径逐步向下测试,它有两种组合策略: 软件结构图 和深度优先策略 宽度优先策略 。
31.自底向上渐增式测试不需要编写 桩 模块,只需要编写 驱动 模块。
32.确认测试指检查软件的功能 与 性能 是否与 需求规格 说明书中确定的指标相符合,又称 有效性 测试。
33.确认测试在模拟环境下运用 黑盒 测试方法,由专门测试人员 和 用户 参加的测试。
34.确认测试开始前需要制定 测试 计划,结束后要写出 测试分析 报告。其测试用例要选用实际运用 的数据。
35.软件配置审查的任务是检查软件的所有文档资料的 完整性 和 正确性 。
36.调试也称 纠错 ,是在成功的测试之后才开始进行,其目的是确定错误的 原因 和 位置 ,并改正错误。
37.调试技术包括 简单调试 归纳法调试 演绎法调试 回溯法调试
38.回溯法调试是从程序产生错误的地方 出发,而归纳法调试是从 测试结果发现的线索 入手。 39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为 静态 测试。
40.用等价类划分法设计一个测试用例时,使其覆盖 尽可能多的 尚未被覆盖的合理等价类。 41.用等价类划分法设计一个测试用例时,使其覆盖 一个 不合理等价类。 42.在单元测试时,需要为被测模块设计 驱动模块与桩模块 。 43.在集成测试时有两种测试方法,它们是 渐增式和非渐增式 。 44.软件测试是为了 发现错误 而执行程序的过程。 45.运行被测程序的方法称为 动态 测试。
46.动态测试中,主要测试软件功能的方法称为 黑盒 法。
47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为 判定覆盖 。
48.要覆盖含循环结构的所有路径是不可能的,一般通过限制 循环次数 来测试。
49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和 两个不合理的等价类 。
50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是 错误推测法 。 51.集成测试中的具体方法是 渐增式和非渐增式测试方法 。