选择题
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.程序的三种基本结构是( B )。
A)过程子、程序、分程序 B)顺序、选择、循环
C)递归、堆栈、队列 D)调用、返回、转移
17.软件调试的目的是( A )
A)找出错误所在并改正之 B)排除存在错误的可能性
C)对错误性质进行分类 D)统计出错的次数
18.下面说法正确的是( C )。
A)经过测试没有发现错误说明程序正确
B)测试的目标是为了证明程序没有错误
C)成功的测试是发现了迄今尚未发现的错误的测试
D)成功的测试是没有发现错误的测试
20.发现错误能力最弱的是( A )。
A)语句覆盖 B)判定覆盖
C)条件覆盖 D)路径覆盖
22.下面( D )方法能够有效地检测输入条件的各种组合可能引起的错误。
A)等价类划分 B)边界值分析
C)错误推测 D)因果图
23.与确认测试阶段有关的文档是( A )。
A)需求规格说明书 B)概要设计说明书
C)详细设计说明书 D)源程序
25.( B )方法需要考察模块间的接口和各模块之间的联系。
A)单元测试 B)集成测试
C)确认测试 D)系统测试
26.调试应该由( B )完成。
A)与源程序无关的程序员
B)编制该源程序的程序员
C)不了解软件设计的机构
D)设计该软件的机构
27.在设计人机界面时,应主要考虑的因素有( D )。
系统响应时间 B)错误处理 C)用户求助机制
D)以上都是
28、用黑盒技术设计测试用例的方法之一为(A )
A)因果图 B)逻辑覆盖
C)循环覆盖 D)基本路径测试
29、软件测试的目的是( B )
A)避免软件开发中出现的错误
B)发现软件开发中出现的错误
C)尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D)修改软件中出现的错误
30、下列软件属性中,软件产品首要满足的应该是( A )
A)功能需求 B)性能需求
C)可扩展性和灵活性 D)容错纠错能力
31、以程序的内部结构为基础的测试用例技术属于( D )。
A)灰盒测试 B)数据测试 C)黑盒测试 D)白盒测试
32、为了提高测试的效率,正确的做法是( A )。
A)选择发现错误可能性大的数据作为测试用例
B)在完成程序的编码之后再制定软件的测试计划
C)随机选取测试用例
D)使用测试用例测试是为了检查程序是否做了应该做的事
33、对程序的测试最好由( )来做,对程序的调试最好由谁来做( B )。
A)程序员 第三方测试机构
B)第三方测试机构 程序员
C)程序开发组 程序员
D)程序开发组 程序开发组
34、在进行单元测试时,常用的方法是( A )
A)采用白盒测试,辅之以黑盒测试
B)采用黑盒测试,辅之以白盒测试
C)只使用白盒测试
D)只使用黑盒测试
35、以下那一种选项不属于软件缺陷( D )。
A)软件没有实现产品规格说明所要求的功能
B)软件中出现了产品规格说明不应该出现的功能
C)软件实现了产品规格没有提到的功能
D)软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题
36、软件生存周期过程中,修改错误代价最大的阶段是( D )。
A)需求阶段 B)设计阶段
C)编程阶段 D)发布运行阶段
37、在边界值分析中,下列数据通常不用来做数据测试的是( B )。
A)正好等于边界的值 B)等价类中的等价值
C)刚刚大于边界的值 D)刚刚小于边界的值
38、单元测试中设计测试用例的依据是( D )。
A)概要设计规格说明书
B)用户需求规格说明书
C)项目计划说明书
D)详细设计规格说明书
39、通常可分为白盒测试和黑盒测试。白盒测试是根据程序的( C )来设计测试用例,
黑盒测试是根据软件的规格说明来设计测试用例。
A)功能 B)性能
C)内部逻辑 D)内部数据
40、如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例( B )。
A)1 B)2 C)3 D)4
41、经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误较多,则该模块中残存的错误数目与其他模块相比,通常应该( B )。
A)较少 B)较多
C)相似 D)不确定
42、在某大学学籍管理信息系统中,假设学生年龄的输入范围为16—40,则根据黑盒测试中的等价类划分技术,下面划分正确的是(B )。
A)可划分为2个有效等价类,2个无效等价类
B)可划分为1个有效等价类,2个无效等价类
C)可划分为2个有效等价类,1个无效等价类
D)可划分为1个有效等价类,1个无效等价类
43、根据软件需求规格说明书,在开发环境下对已经集成的软件系统进行的测试是( A )。
A)系统测试 B) 单元测试 C) 集成测试 D) 验收测试
44、下面有关测试原则的说法正确的是( A )。
A)测试用例应由测试的输入数据和预期的输出结果组成
B)测试用例只需选取合理的输入数据
C)程序最好由编写该程序的程序员自己来测试
D)使用测试用例进行测试是为了检查程序是否做了它该做的事
45、软件设计阶段的测试主要采取的方式是( A )。
A)评审 B)白盒测试 C)黑盒测试 D)动态测试
46、集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性( A )
A)正确性 B)可靠性 C)可使用性 D)可维护性
47、如下所示的程序图环复杂度为( )。
A)4 B)5 C)6 D)7
48、下列关于测试方法的叙述中不正确的是( C )
A)从某种角度上讲,白盒测试与黑盒测试都属于动态测试
B)功能测试属于黑盒测试
C)对功能的测试通常是要考虑程序的内部结构
D)结构测试属于白盒测试
50、大多数实际情况下,性能测试的实现方法是( A )。
A)黑盒测试 B)白盒测试 C)静态分析 D)可靠性测试
51、下列方法中,不属于黑盒测试的是( A )。
A)基本路径测试法 B)等价类测试法
C)边界值分析法 D)基于场景的测试方法
52、测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进行测试,那么最好的选择方法是( B )。
A)随机选择 B)划分等价类
C)根据接口进行选择 D)根据数据大小进行选择
53、下列可以作为软件测试对象的是( D )。
A)需求规格说明书 B)软件设计规格说明
源程序 D)以上全部
54、在对具有层次结构的大型软件进行单元测试时,有一种方法是从上层模块开始,由上到下进行测试。此时,用于代替被测模块调用的子模块的是( A )。
A.桩模块 B.底层模块 C.驱动模块 D.主模块
55、单元测试时,调用被测模块的是( C )。
桩模块 B.通信模块
C.驱动模块 D.代理模块
56、大突击测试把所有的模块一次性集成为一个完整的系统后进行测试,很容易( B )。
A.通过测试 B.整体测试 C.快速查错 D.快速排错
57、自底向上单元测试的策略是首先对模块调用图上的( A )模块进行测试。
最底层 B.下一层 C.最高层 D.上一层
58、单元测试与系统测试的区别是( A )。
A.单元测试通常采用白盒测试方法,而系统测试采用黑盒测试方法
B.测试时间上,系统测试早于单元测试
C.单元测试从用户角度考虑问题,而系统测试从开发者角度考虑问题
以上都是
59、下面活动属于系统测试的主要工作内容的是( D )。
A.测试个单元模块之间的接口
B.测试模块内程序的逻辑功能
C.测试个模块集成后实现的功能
D.测试整个系统的功能和性能
60、系统外部接口,即外部系统(包括人、硬件和软件)与系统交互的接口,对这类接口的测试一般是在( B )阶段进行。
单元测试 B.系统测试
C.集成测试 D.验收测试
61、下列接口测试中,要延续到系统测试阶段来完成的是( A )。
A.系统外部接口 B.系统内部接口 C.函数或方法接口 D.类接口
62、根据软件需求规格说明,在开发环境下对已集成的软件系统进行的测试是( A )。
A.系统测试 B.单元测试 C.集成测试 D.验收测试
63、问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态是( A )。
A.激活状态 B.非激活状态
关闭状态 D.已修正状态
64、软件缺陷的基本状态有( D )。
A.激活状态 B.已修正状态
关闭或非激活状态 D.以上全部
65、下列关于软件测试过程模型,说法正确的是( B )。
A.H模型指出软件测试具有独立性,只要某个测试达到准备就绪点,测试执行活动就可以开展
B.W模型强调在整个项目开发中需要经历的不同测试级别,指明测试的对象是程序
C.软件测试过程与软件开发过程不同的是,它不需遵循软件工程原理
V模型强调测试的对象不仅仅是程序,需求设计等同样需要测试
详见软件测试阶段复习
二、填空题
1.动态测试通过 运行程序 发现错误。根据 测试用例 的设计方法不同,动态测试又分为 黑盒测试、白盒测试 两类。
2.白盒测试是 结构 测试,被测对象是 源程序 ,以程序的 内部逻辑 为基础设计测试用例。
3.逻辑覆盖是对程序内部有 判定 存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为 语句覆盖 、 判断覆盖 、 条件覆盖 、 判定/条件覆盖 、 条件组合覆盖 和 路径覆盖 6种覆盖技术。
4.循环覆盖是对程序内部有 循环 存在的逻辑结构设计测试用例,它通过限制 循环次数 来测试。
5.基本路径测试是在程序 控制流程图 基础上,通过分析控制构造的 环路 复杂性,导出 基本路径 集合,从而设计测试用例。
6.黑盒测试是 功能 测试,常用黑盒技术设计测试用例有:等价类划分 、边界值分析 、 因果图。
7.边界值分析是将测试 边界 情况作为重点目标,选取正好等于、刚刚大于或刚刚小于 边界值 的测试数据。如果输入或输出域是一个有序集合,则应选取集合的 第一个 元素和 最后一个 元素作为测试用例。
8.因果图的基本原理是通过画 因果 图,把用自然语言描述的 功能说明 转换为 判定表 ,最后为判定表每一列设计一个测试用例。
9.测试的综合策略是在测试中,联合使用各种 测试 方法。通常先用 黑盒 法设计基本的测试用例,再用 白盒 法补充一些必要的测试用例。
10. 单元测试 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及 编码 和 详细设计 的文档。
11.单元测试主要测试 模块 的5个基本特征:模块接口 、局部数据结构、重要的执行路径、 错误处理 、边界条件。
12.在单元测试中,需要为被测模块设计 驱动 模块和 桩 模块。 驱动模块 用来模拟被测模块的上级调用模块, 桩模块 用来代替被测模块所调用的模块。
13.集成测试指在 单元 测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称 组装 测试或 联合 测试。
14.集成测试的方法有两种: 非渐增式测试 和 渐增式测试 。
16.自顶向下渐增式测试不需要编写 驱动 模块,只需要编写 桩 模块,其步骤是从 顶层 模块开始,沿着被测程序的 软件结构图 的控制路径逐步向下测试,它有两种组合策略: 深度优先策略 和 宽度优先策略 。
17.自底向上渐增式测试不需要编写 桩 模块,只需要编写 驱动 模块。
18.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为 静态 测试。
19.用等价类划分法设计一个测试用例时,使其覆盖 尽可能多的 尚未被覆盖的合理等价类。用等价类划分法设计一个测试用例时,使其覆盖 一个 不合理等价类。
21.软件测试是为了 发现错误 而执行程序的过程。
22.运行被测程序的方法称为 动态 测试。
23.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为 判定覆盖 。
24.要覆盖含循环结构的所有路径是不可能的,一般通过限制 循环次数 来测试。
25、软件测试的模型分为::V模型、W模型、X模型、H模型、测试驱动模型。
26、一个文本框要求输入6位数字密码,且对每个帐户每次只允许出现三次输入错误,对此文本框进行测试设计的等价区间有:密码位数:6位 和 非6位的;密码内容:数字的 和 非数字的;输入次数:三次以内 和 超过三次。
27、软件的六大质量特性包括:(功能性、可靠性、可用性、效率、稳定性、可移植性 )
28、软件测试按照不同的划分方法,有不同的分类:
(1)按照软件测试用例的设计方法而论,软件测试可以分为(白盒测试法)和黑盒测试法
(2)从是否执行程序的角度,软件测试可以分为静态测试和动态测试
(3)按照软件测试的策略和过程来分类,软件测试可分为(单元测试、验证测试、确认测试)、集成测试、系统测试。