软件测试复习题集1解答
- 格式:docx
- 大小:16.99 KB
- 文档页数:6
软件测试复习题 1
一、判断题 (10 题 ,10 分 )
1. 程序员兼任测试员可以提高工作效率。(X )
2. 测试用例的数目越多,测试的效果越好。(X )
3. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。 (V )
4. 软件质量保证和软件测试是同一层次的概念。 ( X )
5. 验收测试是以最终用户为主的测试。 ( V )
6. 没有发现错误的测试是没有价值的。 ( X )
7. 只要能够达到 100%的逻辑覆盖率,就可以保证程序的正确性。 ( X )
8. 在边界值方法中, 对于一个有 n 个变量的函数作最坏情况测试, 生成的测试用
例个数是 7 个。( X ) 4n+1
9. 我们有理由相信只要能够设计出尽可能好的测试方案, 经过严格测试之后的软 件可以没有缺陷。( X )
10. 单元测试属于动态测试。 ( V )
11. 软件生存周期是从软件开始开发到开发结束的整个时期。 ( X )
12. 传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。
(V)
13. 调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从 一个未知的条件开始,结束的过程不可预计。 ( X )
14. 软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试 评估。( V )
15. 白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏 洞。( X )
16. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。 ( V )
17. 可以把不合格的开发人员安排做测试。 ( X )
18. 传统测试是在开发的后期才介入, 现在测试活动已经扩展到了整个生命周期。
(V)
19. 在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的 测试方法。( V )
20. 永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃 避检测。( V ) 二、填空题: (10 空, 10 分)
1 .软件开发过程中所产生的 (需求规格说明)、概要设计规格说明、(详细设计规
格说明)以及(源程序)都是软件测试的对象。
2. 按照软件测试用例的设计方法而论,软件测试可以分为(白盒测试法)和(黑 盒测试法)。
3. 按照软件测试的策略和过程来分类,软件测试可分为单元测试、 (集成测试)、
(系统测试)、(验证测试)和确认测试。
4. 质量管理是指以组织为质量中心、 企业全员参与为基础, 为追求客户满意和组 织所有受益者满意而建立和形成的一整套质量方针、目标和(体系) 。质量管理通过(质量策划)设定组织的质量目标,并规定必要的过程和相关资源;通过质 量控制监视内部质量过程, 排除质量控制过程中可能存在的缺陷隐患; 通过质量 改进提高内部的质量管理能力,改善组织内部的质量过程;通过(质量保证)提 供足够的信任证据,表明组织有能力满足客户的质量要求。
5. 确认测试也称为(合格性测试) ,是检验所开发的软件是否能按用户提出的要
求进行。软件确认要通过一系列证明 (软件功能)和要求一致的黑盒测试来完成。
6. (安全测试)的目的在于验证安装在系统内的保护机制能否在实际中保护系统 且不受非法入侵,不受各种非法干扰。
7. (强度测试)需要在反常规数据量、频率或资源的方式下运行系统,以检验系 统能力的最高实际限度。
8. 面向对象技术所独有的封装、 (继承)、多态等新特点给测试带来一系列新的问
题,增加了测试的难度。 与传统的面向过程程序设计相比, 面向对象程序设计产 生错误的可能性(增大) ,或者使得传统软件测试中的重点不再那么突出,或者 使得原来测试经验和实践证明的次要方面成为了主要问题。
9. (正确性测试)检查软件的功能是否符合规格说明。
10. 对可靠性测试来说,最关键的测试数据包括(失效间隔时间) ,(失效修复时
间),失效数量,失效级别等。根据获得的测试数据,应用可靠性模型,可以得 到系统的失效率及可靠性增长趋势。
11. 软件兼容性测试是检测各软件之间能否正确地交互和共享信息,其目标是保 证软件按照用户期望的方式进行交互,使用其它软件检查(软件操作)的过程。
12. 单元测试:针对每个单元的测试,以确保每个(模块)能正常工作为目标。
二、选择题: (10 题,10 分)
1. 软件测试的目的是( )。B
A. 评价软件的质量 B.
C. 找出软件中的所有错误 D.
2. 为了提高测试的效率,应该( )。 D
A. 随机地选取测试数据
B. 取一切可能的输入数据作为测试数据
C. 在完成编码以后制定软件的测试计划
D. 选择发现错误的可能性大的数据作为测试数据
3. 与设计测试数据无关的文档是(
A. 该软件的设计人员 B.
C. 源程序 D.
4. 程序的三种基本控制结构是(
A. 过程,子程序,分程序 B.
C. 递归,堆栈,队列 D.
5. 结构化程序设计的一种基本方法是( )。 D 发现软件的错误
证明软件是正确的
)。 C
程序的复杂程度
项目开发计划
)。 B
顺序,条件,循环
调用,返回,转移 A. 筛选法
C. 归纳法 B. 递归法
D. 逐步求精法 6. 使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。 A
A. 程序的内部逻辑 B. 程序的复杂程度
C. 使用说明书 D. 程序的功能
)承担,以提高集成测试的效果。 D 该软件开发组的负责人 不属于该软件开发组的软件设计人员
8. 用户在真实的工作环境中使用软件, 用于测试系统的用户友好性等, 这种测试 是( )。 D
A. 集成测试 B. 系统测试 C.Alpha 测试 D.Beta 测试
)。 A
B. 排除存在错误的可能性
D. 统计出错的次数
10. 在单元测试中,最主要的测试是针对( )的测试。 C
A. 条件
C. 路径 B. 需求
D. 设计
11. 下列关于软件测试的叙述中错误的是( )。 D
A. 软件测试可以作为度量软件与用户需求间差距的手段
B. 没有发现错误地测试也是有价值的
C. 软件测试的根本目的是尽可能多地发现软件中存在地问题, 最终把以个高质量 地软件系统交给用户使用
D. 软件测试的主要工作内容包括发现软件中存在的错误并解决存在的问题
12•做好测试自动化(TA)基本原则中叙述错误的是(D)
A. 根据客户端、Web和服务器的不同特点可选择不同的测试工具
B. 负载、性能自动化测试比较容易实现,但功能性测试更困难
C. 软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充, TA
绝不能代替手工测试。
D. 自动测试可以发现70-85%勺缺陷;
13. 下列几种逻辑覆盖标准中,查错能力最强的是( )。
D
A. 语句覆盖 B.
C.条件覆盖 D. 判定覆盖 条件组合覆盖
14. 不属于白盒测试的技术是( )。 D
A. 语句覆盖 B. 判定覆盖
C. 循环覆盖 D. 边界值分析 7. 软件的集成测试工作最好由( A. 该软件的设计人员 B.
C. 该软件的编程人员 D.
9. 软件调试的目的是(
A. 找出错误所在并改正之
C. 对错误性质进行分类 15. 软件测试过程中的集成测试主要是为了发现( )阶段的错误。 B
A. 需求分析 B. 概要设计
C. 详细设计 D. 编码
17. 在黑盒测试中,着重检查输入条件组合的方法是( )。 D
A. 等价类划分 B. 边界值分析法
C. 错误推断法 D. 因果图
18. 单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是
( )。 A
A. 系统功能 B. C .重要的执行路径 D.
)文档作为测试的基础。 A
B. 设计说明书
D. 开发计划
20. 覆盖准则最强的是( )。 D
A. 语句覆盖 B. 判定覆盖
C. 条件覆盖 D. 路径覆盖 三、名词解释:(4 题,20 分)
1. 黑盒测试: 主要根据规格说明书设计测试用例, 并不涉及程序内部构造和内部
特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。
2. 白盒测试:将被测程序看作一个打开的盒子, 测试者能够看到被测源程序, 可
以分析被测程序的内部结构, 此时测试的焦点集中在根据其内部结构设计测试用
例。
3. 集成测试:也叫组装测试。 通常在单元测试的基础上将所有的程序模块进行有 序的、递增的测试。
4. 确认测试:又称为有效性测试。 它的任务是验证软件的功能和性能及其特性是 否与客户的要求一致。
5. 动态测试:是通过源程序运行时体现出来的特征来进行跟踪、 时间分析以及测 试覆盖等方面的测试
6. 单元测试:又称模块测试, 是针对软件设计的最小单位-程序模块进行正确性
检验的测试工作, 16. 测试的关键问题是(
A. 如何组织软件评审
C.如何验证程序的正确性 )。 B
B. 如何选择测试用例
D. 如何采用综合策略
局部数据结构
错误处理
19. 确认测试以( A. 需求规格说明书
C.源程序 7. 验收测试:在软件产品完成了功能测试和系统测试之后、 产品发布之前所进行 的软件测试活动它是技术测试的最后一个阶段 , 也称为交付测试。
8. 边界测试:是单元测试的最后一步, 必须采用边界值分析方法来设计测试用例, 认真仔细地测试为限制数据处理而设置的边界处,看模块是否能够正常工作。
9. 自动化测试:是相对手工测试而存在的一个概念, 由手工逐个地运行测试用例 的操作过程被测试工具自动执行的过程所代替。 测试工具的使用是自动化测试的 主要特征。
10. 测试驱动开发:简称 TDD是一种不同于传统软件开发流程的新型的开发方 法。它要求在编写某个功能的代码之前先编写测试代码, 然后只编写使测试通过 的功能代码, 通过测试来推动整个开发的进行。 这有助于编写简洁可用和高质量 的代码,并加速开发过程。
11. 压力测试:也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件 环境及用户使用过程的系统负荷, 长时间或超大负荷地运行测试软件, 来测试被 测系统的性能、可靠性、稳定性等。
12. 软件评审:是对软件元素或者项目状态的一种评估手段,以确定其是否与计 划的结果保持一致, 并使其得到改进。 检验工作产品是否正确地满足了以往工作 产品中建立的规范。