11、 软件测试按照测试过程分类为黑盒、白盒测试。
( F)
(F )
(F )
12、在设计测试用例时, 应包括合理的输入条件和不合理的输入条件。 ( T)
13、集成测试计划在需求分析阶段末提交。 (F ) 14、单元测试属于动态测试。 (F )
15、缺陷跟踪系统只针对测试人员来使用。 (F )
16、从用户软件开发者的角度出发,普遍希望通过软件测试暴露软件 中隐藏的错误和缺陷,以考虑是否可接受该产品。 17、项目立项前测试人员不需要提交任何工件。 ( F) 18、软件测试的目的是尽可能多的找出软件的缺陷。
( F) ( F)
19、软件项目在进入需求分析阶段, 测试人员应该开始介入其中。 (T ) 20、软件生存周期是从软件开始开发到开发结束的整个时期。
( F)
21、单元测试能发现约 80%的软件缺陷。 ( F) 22、数据流图和数据字典共同构成系统的逻辑模型。
(T )
(F )
23、负载测试是验证要检验的系统的能力最高能达到什么程度。 24、测试人员要坚持原则,缺陷未修复完坚决不予通过。 25、代码评审员一般由测试员担任。 ( F) 26、测试组负责软件质量。 (F )
27、程序的效率与程序的复杂性相关。 (F )
(T
28、详细设计的目的是为软件结构图中的每一个模块确定使用的算法 和块内数据结构,并用某种选定的表达工具给出清晰的描述。
(T )
29、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象 性。 (T )
30、测试程序仅仅按预期方式运行就行了。 ( F)
二、 单选题(正确的“√”,错误的“╳”) 1、在软件测试中,下面说法中错误的是 ( B )。 A. 测试是为了发现程序中的错误而执行程序的过程 B. 测试是为了表明程序是正确的
C. 好的测试方案是极可能发现迄今为止尚未发现的错误的方案 D. 成功的测试是发现了至今为止尚未发现的错误的测试 2、软件测试的目的是 ( B )。 A. 试验性运行软件 B. 发现软件错误
C. 证明软件正确 D. 找出软件中全部错误
3、软件测试用例主要由测试输入数据和 ( C )两部分组成。 A. 测试计划 B. 测试规则 C. 测试的预期结果 D. 以往测试记录分析
4、与设计测试用例无关的文档是 ( A )。 A. 项目开发计划 B. 需求规格说明书 C. 软件设计说明书 D. 源程序
5、软件测试是软件质量保证的主要手段之一,测试的成本已超过 ( A )的 30%以上。因此,提高测试的有效性非常重要。 A. 软件开发成本 B. 软件维护成本
C. 软件开发成本和维护成本 D. 软件研制成本
6、“高产”的测试是指 ( C )。
A. 用适量的测试用例说明被测试程序正确无误 B. 用适量的测试用例说明被测试程序符合相应的要求 C. 用适量的测试用例发现被测试程序尽可能多的错
?
D. 用适量的测试用例纠正被测试程序尽可能多的错误 7、如果想要进行成功的测试,为其设计测试用例主要依赖于 A. 黑盒测试方法 B. 测试人员的经验 C. 白盒测试方法 D. 错误推测法
8、使用白盒测试方法时,确定测试数据应根据 准。
A. 程序的内部结构 B. 程序的复杂性 C. 使用说明书 D. 程序的功能
9、在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件 覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等。其中 ( D )是最强 的覆盖准则。 A. 语句覆盖 B. 条件覆盖 C. 判定-条件覆盖 D. 路径覆盖
10、在设计测试用例时, ( A )是用得最多的一种黑盒测试方法。 A. 等价类划分 B. 边界值分析
( A )和指定的覆盖标
( B )。
C. 因果图 D. 功能图
11、在黑盒测试中, 着重检查输入条件的组合的测试用例设计方法是 ( D )。 A. 等价类划分 B. 边界值分析 C. 错误推测法 D. 因果图法
12、从下列叙述中,能够与软件开发各阶段,如需求分析、设计、编码相对应的软件测试是 ( D )。 A. 集成测试、确认测试、单元测试 B. 单元测试、集成测试、确认测试 C. 单元测试、确认测试、集成测试 D. 确认测试、集成测试、单元测试
13、单元测试将根据在 ( D )阶段中产生的规格说明进行 A. 可行性研究与计划 B. 需求分析 C. 概要设计 D. 详细设计
14、集成测试计划是在 ( C )阶段制定的 A. 可行性研究与计划 B. 需求分析
C. 概要设计 D. 详细设计
15、确认测试计划是在 ( B )阶段制定的。 A. 可行性研究与计划 B. 需求分析 C. 概要设计 D. 详细设计
16、软件的集成测试最好是由 ( D )承担,以提高集成测试的效果。 A. 该软件的设计者 B. 该软件开发组的负责人 C. 该软件的编程者 D. 不属于该开发组的人员
17、( D )是简化了的模拟较低层次模块功能的虚拟子程序。 A. 过程 B. 函数 C. 仿真 D. 桩
18、( A )是指为查明程序中的错误和缺陷,可能使用的工具和手段。 A. 调试技术 B. 测试技术 C. 跟踪法 D. 动态测试
19、从已发现故障的存在到找到准确的故障位置并确定故障的性质, 这一过程称为 ( C )。 A. 错误检测 B. 故障排除 C. 调试 D. 测试
20、在程序设计的过程中应为程序调试做好准备,主要体现在 方面。
A. 采用模块化、结构化的程序设计方法设计程序 B. 编写程序时要为程序调试提供足够的灵活性
C. 根据程序调试的需要,选择并安排适当的中间结果输出和必要的 断?
D. 以上全是
21、统计资料表明, 软件测试的工作量占整个软件开发工作量的 ( C )。 A. 30% B. 70% C. 40%~50% D. 95%
22、软件测试计划是一些文档,它们描述了 ( D )。 A. 软件的性质
B. 软件的功能和测试用例 C. 软件的规定动作
( D )
D. 对于预定的测试活动将要采取的手段
23、IBM 公司的统计资料表明,使用静态测试的方法最高可以查出 在测试中查出的全部软件错误的 ( B )。 A. 80% B. 70% C. 50% D. 35%
24、黑盒测试方法的优点是 ( D )。 A. 可测试软件的特定部位 B. 能站在用户立场测试 C. 可按软件内部结构测试 D. 可发现实现功能需求中的错误 25、白盒测试方法的优点是 ( C )。 A. 可测试软件的特定部位 B. 能站在用户立场测试 C. 可按软件内部结构测试 D. 可发现实现功能需求中的错误 26、等价类划分完成后, 就可得出 ( C A. 有效等价类 B. 无效等价 C. 等价类表 D. 测试用例集
),它是确定测试用例的基础。
27、由因果图转换出来的 ( A )是确定测试用例的基础。 A. 判定表 B. 约束条件表 C. 输入状态表 D. 输出状态表
28、(A)是用户和设计交换最频繁的方法 A. 原型化方法 B. 瀑布模型方法 C. 螺旋模型方法 D. 构件组装模型
29、软件测试的目的 : (C) A. 避免软件开发中出现的错误 B. 发现软件开发中出现的错误
C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D. 修改软件中出现的错误
30、某次程序调试没有出现预计的结果,下列( B )不可能是导致出 错的原因。 A. 变量没有初始化
B. 编写的语句书写格式不规范 C. 循环控制出错 D. 代码输入有误
31、下列关于程序效率的描述错误的是( B )。
A. 提高程序的执行速度可以提高程序的效率 B. 降低程序占用的存储空间可以提高程序的效率 C. 源程序的效率与详细设计阶段确定的算法的效率无关 D. 好的程序设计可以提高效率
32、软件测试是软件开发过程的重要阶段,是软件质量保证的重要手 段,下列哪个(些)是软件测试的任务? D Ⅰ预防软件发生错误 信息 A.只有Ⅰ B.只有Ⅱ C.只有Ⅲ D.都是
33、软件测试是软件质挝保证的重要手段,下述哪种测试是软件测试 的最基础环节? B A.功能测试 B.单元测试 C.结构测试 D.确认测试
34、通常可分为白盒测试和黑盒测试。白盒测试是根据程序的(
C )
Ⅱ发现改正程序错误
Ⅲ提供诊断错误
来设计测试用例 , 黑盒测试是根据软件的规格说明来设计测试用例。 A.功能 B.性能
C.内部逻辑 D.内部数据
35、常用的黑盒测试方法有边值分析、等价类划分、错误猜测、因果 图等。其中( C )经常与其它方法结合起来使用。软件测试的步骤主 要有单元测试、集成测试和确认测试。 A.边值分析 B.等价类划分 C.错误猜测 D.因果图
三、 选择填空题 (正确的“√”,错误的“╳”)
1、从供选择的答案中选出应填入下列 ( )中的字句。
软件测试的目的是 ( A 2 )。为了提高测试的效率, 应该( B 4 )。 使用白盒测试方法时,确定测试数据应根据(
C 1 )和指定的覆盖
标准。与设计测试数据无关的文档是 ( D 4 )。软件的集成测试工作 最好由( E 4 )承担,以提高集成测试的效果 ?BR>供选择的答案: A.
发现软件的错误 证明软件是正确的
B.
随机地选取测试数据
取一切可能的输入数据作为测试数据 在完成编码以后制定软件的测试计划
选择发现错误的可能性大的数据作为测试数据
C.
程序的复杂程度 程序的功能
D.
程序的复杂程度 项目开发计划
E.
该软件开发组的负责人 不属该软件开发组的软件人员
2、从供选择的答案中选出应填入下列 ( )中的字句。
( A 2 )和( B 3 )工作。( A )的目的是想证实在一给定的外 部环境中软件的逻辑正确性。它包括(
C 2 )和( D 3 ),( B )
E 3 )、
则试图证明在软件生存期各个阶段,以及阶段间的逻辑( ( F 4 )和正确性。 供选择的答案: A, B. C, D.
操作 ② 确认 用户的确认 ③ 程序的确认
E, F.
③ 验证 ④ 测试 ⑤ 调试 ② 需求规格说明的确认 ④ 测试的确认
可靠性 ② 独立性 ③ 协调性 ④ 完备性 ⑤ 扩充性
3、从供选择的答案中选出应填入下列 ( )中的字句。
测试过程需要三类输入: ( A )、( B )和( C )。请选择正确 的答案填入下图中以完成测试信息处理的全过程。
供选择的答案 ?2 4 6 3 1 2 A~C.
④
D~ F.
排错
硬件配置 测试工具
② 可靠性分析 ③ 结果分析
④ 数据分类
4、请从供选择的答案中选出应填入下列( )中的字句。
A 2 )。它们的共同点是( B 4 )。
结构化程序设计的一种基本方法是( ( D 2 )。软件调试的目的是( 供选择的答案: A.
过程,子程序,分程序 递归,堆栈,队列
② 顺序,条件,循环 E 1 )。
C 4 )。软件测试的目的是
④ 调用,返回,转移
四、 填空题 (正确的“√”,错误的“╳”)
1、测试用例不仅要选用合理的测试输入数据,还需要选用不合理的 测试输入数据,这样能更多地《发现错误》 ,提高程序的可靠性。对 于不合理的测试输入数据,程序应《拒绝执行》 ,并给出相应的提示。 2、动态测试指通过《运行程序》发现错误。对软件产品进行动态测 试时使用黑盒测试法和《白盒测试》法。
3、静态测试指《被测试程序》不在机器上运行,而是采用《人工测 试》和《计算机辅助静态分析》的手段对程序进行检测。
4、黑盒测试依据《软件规格说明》 ,检查程序是否满足《功能需求》 。 因此,黑盒测试由称为功能测试或《数据驱动》测试。
5、白盒测试以检查处理过程的细节为基础, 对程序中尽可能多的 《逻 辑路径》进行测试,检查内部《逻辑结构》和《运行原理》是否有错, 程序的《运行状态》与预期的状态是否一致。
6、在基本路径测试中, 独立路径是指包括一组以前没有处理过的 《语 句或条件》的一条路径。从程序图来看,一条独立路径是至少包含有 一条《从未走过》的边的路径。
7、在单元测试中,驱动模块的作用是用来模拟被测模块的《上层调 用模块》。它的工作是接受《测试输入数据》 ,以上层模块调用被测模 块的形式《把数据传送给》被测模块,接收被测模块的《实测结果》 并输出。
8、在单元测试中,桩模块用来代替被测模块的《子模块》 。其作用是 《返回被测模块所需》的信息。
9、错误的群集现象是指模块错误发现率与模块的残留错误数成《正 比》关系。 B.
不能嵌套使用 已经用硬件实现
C. D.
② 只能用来写简单的程序
④ 只有一个入口和一个出口
筛选法 ② 递归法 ③ 归纳法 ④ 逐步求精法 证明程序中没有错误
② 发现程序中的错误
测量程序的动态特性
E.
找出错误所在并改正之 对错误性质进行分类
④ 检查程序中的语法错误 ② 排除存在错误的可能性 ④ 统计出错的次数
5、从供选择的答案中选出同下列各条叙述关系最密切的字句。 (1) 对可靠性要求很高的软件,例如操作系统,由第三者对源代码 进行逐行检查。
(2) 已有的软件被改版时,由于受到变更的影响,改版前正常的功 能可能发生异常,性能也可能下降。因此,对变更的软件进行测试是 必要的。
(3) 在意识到被测试模块的内部结构或算法的情况下进行测试。 (4) 为了确认用户的需求,先做出系统的主要部分,提交给用户试 用。
(5) 在测试具有层次结构的大型软件时,有一种方法是从上层模块 开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过 的下层模块。 供选择的答案: A~E
仿真器 ② 代码审查 ③ 模拟器 ④ 桩 驱动器 ⑥ 域测试 ⑦ 黑盒测试 ⑧ 原型 白盒测试
⑩ 退化测试
)内的正确答案。
6、从供选择的答案中选出应填入下面叙述的(
软件测试方法可分为黑盒测试法和白盒测试法两种。
A 3 )来设计测试用例的方法。
除了测试程序外,它还适用于对( B 4 )阶段的软件文档进行测试。
C 2 )来设计测试用例的方法。除了
测试程序外,它也适用于对(
D 2 )阶段的软件文档进行测试。
( E 2 )
覆盖比( F 1 )覆盖严格,它使得每一个判定的每一条分支至少经 历一次。( G 4 )覆盖既是判定覆盖,又是条件覆盖,但它并不保证 使各种条件都能取到所有可能的值。 ( H 5 )覆盖比其他条件都要严 格,但它不能保证覆盖程序中的每一条路径 ( I 1 )为主,测试的依据是( 供选择的答案: A, C B, D 分析 E~H
语句 ② 判定 多重条件
I: J
白盒法
⑥ 路径 ② 黑盒法
② 系统模块结构图
③ 系统需求
③ 条件
④ 判定/条件
应用范围 编码
② 内部逻辑
③ 功能
④ 输入数据
J 1 )。
?BR> 单元测试一般以
② 软件详细设计 ③ 软件总体设计 ④ 需求
① 模块功能规格说明
规格说明
7、从供选择的答案中选出应填入下面叙述的(
)内的正确答案。
A 3 )或( B 6 )。通常,在( C 1 )的基
础上,将所有模块按照设计要求集成成为系统。子系统的集成测试特 别称为?nbsp; D 2 ),它所做的工作是要找出子系统和系统需求规格说
明之间的( E 6 )。需要考虑的问题是:在把各个模块连接起来的时 侯,穿越模块接口的数据是否会(
F 2 ); 一个模块的功能是否会
G 1 )组合起来,能
对另一个模块的功能产生不利的影响;各个(
否达到预期要求的( H 3 );( I 5 )是否有问题;单个模块的误差 累积起来是否会放大。 供选择的答案: A~D.
单元测试 ② 部件测试 ③ 集成测试 ④ 系统测试 ⑤ 确认测试 ⑥ 联合测试
E~I.
子功能
② 丢失 ③ 父功能
④ 局部数据结构 ⑤ 全局数据结构 ⑥ 不一致 ⑦ 一致
8、从供选择的答案中选出应该填入下列叙述的 ( )内的正确答案。
A 1 )和( B 5 )。( B )
用于检查模块或子程序间的调用是否正确。分析方法(白盒方法)中 常用的方法是( C 1 )方法。非分析方法(黑盒方法)中常用的方 法是( D 2 )方法和( E 3 )方法。( E )方法根据输出对输入 的依赖关系设计测试用例。 供选择的答案: A~B 析
接口分析
C~E
路径测试
⑥ 操作分析 ② 等价类
③ 因果图
④ 归纳测试
引用分析
② 算法分析 ③ 可靠性分析 ④ 效率分
综合测试 相对图
⑥ 追踪 ⑦ 深度优先 ⑧ 调试
9、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
A 2 )方法,也是一种非常实用的重
要的测试方法。使用这一方法,完全不考虑程序的(
B 1 )。用所有
可能输入的数据来测试程序是不可能的, 只能从全部可供输入的数据 中选择一个( C 2 )进行测试。( D 5 )是指某个输入域的集合, 在该集合中,各个输入数据对于揭露程序中的错误是( 供选择的答案: A B C~E
白盒测试方法
② 黑盒测试方法
E 3 )。
① 内部结构 ② 外部环境 ③ 顺序 ④ 流程
全集
② 子集
③ 等效?BR> ④ 不同的 ⑤ 等价
类 ⑥ 典型集 简答
1 你认为一个优秀的测试工程师应该具备哪些素质?
探索者,故障排除员,不放过任何蛛丝马迹,创造性,老练的追求完 美者,判断准确,注重策略和外交,善于说服。 2 软件开发模型分哪几种
瀑布模型、渐增模型 /演化/迭代、原型模型、螺旋模型、喷泉模型、 智能模型、混合模型
3 软件生命周期分哪几个阶段?
可行性分析、 总体描述、 系统设计、 编码、调试和测试、 验收与运行、
维护升级到废弃
4 应该由谁来进行确认测试?是软件开发者还是软件用户?为什么? 由软件开发者,开发者对软件产品进行评估,若不满足要求则与用户 协商解决办法
5 如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么? 需要,黑盒测试可根据程序规格检验程序是否完成规定功能,但无法 发现程序内部的编码和逻辑错误,白盒测试与之相反互补。 6 产品测试到什么时候就算是足够了?
测试一直贯穿软件的整个生命周期,从需求、设计到编码、实现一直 到软件的最终交付用户, 测试时期已满或特定的测试用例作为判断测 试停止的基础。
7 测试计划的目的是什么?
确定测试基本原则,生成测试概要设计。
8 软件测试应该划分几个阶段 ?简述各个阶段应重点测试的点 ?各个阶 段的含义?
按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试 和验收测试。
单元测试:针对每个单元的测试, 标。
集成测试:对已测试过的模块进行组装,进行集成测试。 系统测试:检验软件产品能否与系统的其他部分协调工作。 验收测试:检验软件产品质量的最后一道工序。
以确保每个模块能正常工作为目
9 对小的程序进行穷举测试是可能的,用穷举测试能否保证程序是百 分之百正确呢?
不能,不能查出错误程序本身违反了设计规范 不可能查出程序因遗漏而出错 发现不了一些与权据相关的错误
10 在任何情况下单元测试都是可能的吗?都是需要的吗?、
单元测试,其目的在于发现各模块内部可能存在的各种差错。多个模 块可以平行地独立进行单元测试。单元测试是在编码阶段完成的,每 编写出一个程序模块,就开始做这个模块的单元测试,所以只要采用 模块化方法开发软件,单元测试都是必需的。 11α测试和 β测试
α是软件公司组织内部人员模拟各类用户对将面世的软件产品进行测 试。 Β是由软件的多个用户在一个或多个用户的实际使用环境下进行 测试。
12 驱动模块和桩模块
桩模块:也叫存根程序,用于模拟被测模块工作过程中所调用的子模 块
驱动模块:用于模拟所测模块的上级模块,它接受测试数据,把这些 数据传输给被测模块。 13 白盒测试和黑盒测试
白盒测试,它是按照程序内部的结构测试程序,通过测试来检测产品 内部动作是否按照设计规格说明书的规定正常进行。
黑盒测试也称功
能测试,它是通过测试来检测每个功能是否都能正常使用。 14 静态测试和动态测试
静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语 法、结构、过程、接口等来检查程序的正确性。
动态测试方法是指通过运行被测程序, 检查运行结果与预期结果的差 异,并分析运行效率和健壮性等性能, 15 累进测试和回归测试
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引 入新的错误或导致其他代码产生错误。 问答计算题
1、画出下列伪码程序的程序流程图。 START IF m THEN WHILE n DO A B END DO ELSE BLOCK C D END BLOCK
END IF STOP
2、如图所示的程序有三条不同的路径。分别表示为
L1(a→b)、L2(a
→c→d)、L3(a→c→e),或简写为 ace、abd、abe及 acd。根据判定覆 盖、条件覆盖、判定 –条件覆盖、条件组合覆盖和路径覆盖等五种覆 盖标准, 从供选择的答案中分别找出满足相应覆盖标准的最小测试用 例组。(用①~ ⑩回答)
供选择的答案: x = 90, y = 90 x = 90, y = 90
x = 50, y = 50 x = 90, y = 90 x = 50, y = 50 x = 90, y = 70 x = 90, y = 90 x = 50, y = 50
x = 50, y = 50 x = 90, y = 70
x = 40, x = 90 x = 90, y = 90 x = 70, y = 90 x = 50, y = 50 x = 90, y = 90 x = 50, y = 50
x = 80, y = 70 x = 70, y = 90 x = 90, y = 90 x = 90, y = 70 x = 90, y = 30 x = 70, y = 90 x = 30, y = 90 x = 70, y = 70 x = 50, y = 50 x = 50, y = 50
x = 90, y = 50 x = 80, y = 80 x = 90, y = 90 x = 80, y = 80 x = 90, y = 70 x = 90, y = 30 x = 70, y = 90 x = 30, y = 90 x = 70, y = 70
3、在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路 径覆盖等,其中(
A 4 )是最强的覆盖准则。为了对如下图所示的
x, y 是两个变
程序段进行覆盖测试,必须适当地选取测试用例组。若
量,可供选择的测试用例组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组,如表中给出, 则实现判定覆盖至少应采取的测试用例组是(
B 5 )或( C 8 );
实现条件覆盖至少应采取的测试用例组是 ( D 4 );实现路径覆盖至 少应采取的测试用例组是(
E 5 )或( F 8 )。
供选择的答案 A B~F:
语句覆盖 Ⅰ和Ⅱ组
② 条件覆盖
③ 判定覆盖
④ 路径覆盖
② Ⅱ和Ⅲ组 ③ Ⅲ和Ⅳ组 ④ Ⅰ和Ⅳ组
⑥ Ⅱ、Ⅲ、Ⅳ组
⑦ Ⅰ、Ⅲ、Ⅳ组
⑤ Ⅰ、Ⅱ、Ⅲ组 ⑧ Ⅰ、Ⅱ、Ⅳ组
4、根据下面给出的规格说明,利用等价类划分的方法,给出足够的 测试用例。
一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。 这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、 还是等边的。
5、根据下面给出的规格说明,利用边界值的方法,给出足够的测试 用例。
有一个处理单价为 1 元 5 角钱的盒装饮料的自动售货机软件。 若投入 1 元 5 角硬币,按下 “可乐 ”、“雪碧 ”或“红茶 ”按钮,相应的饮料就送 出来。若投入的是 2 元硬币,在送出饮料的同时退还 5 角硬币。
因篇幅问题不能全部显示,请点此查看更多更全内容