软件工程(第五版)--习题与答案---第九章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、判断题
1、(×)测试是为了验证该软件以正确地实现了用户的需求。
2、(√)发现错误多的程序模块,残留在模块中的错误也多。
3、(×)白盒测试法是根据程序的功能来设计测试用例的。
4、(×)黑盒法是根据程序的内部逻辑来设计测试用例的。
5、(√)确定测试计划是在需求分析阶段制定的。
6、(√)集成测试计划是在概要设计阶段制定的。
7、(√)单元测试是在编码阶段完成的。
8、(√)集成测试工作最好由不属于该软件开发组的软件设计人员承担。
9、(√)为了提高软件的测试效率,测试工作需要有测试工具的支持。
10、(×)在做程序的单元测试时,桩模块比驱动模块容易编写。
二、选择题
1、测试用例是专门为了发现软件错误而设计的一组或多组数据,它由(C)组成。
A、测试输入数据
B、预期的测试输出数据
C、测试输入与预期的输出数据
D、按照测试用例设计方法设计出的数据
2、测试和调试最大的不同在于(A)。
A、操作者的心理状态不同
B、它们的行为取向不同
C、使用的工具不同
D、运用的方法不同
3、一个成功的测试是(B)。
A、发现错误
B、发现至今尚未发现的错误
C、没有发现错误
D、证明发现不了错误
4、白盒法和黑盒法最大的不同在于(A)。
A、测试用例设计方法不同
B、测试的任务不同
C、应用的测试阶段不同
D、基于的知识集不同
5、单元测试阶段主要涉及(D)的文档。
A、需求设计
B、编码和详细设计
C、详细设计
D、概要设计
6、检查软件产品是否符合需求定义的过程称为(A)。
A、确认测试
B、集成测试
C、验
证测试D、验收测试
7、软件调试的目的是(B)。
A、发现错误
B、改正错误
C、改善软件的性能
D、挖掘软件的潜能
8、进行软件测试的目的是(A)。
A、尽可能多地找出软件中的错误
B、缩短软件的开发时间
C、减少软件的维护成本
D、证明程序没有缺陷
9、选择一个适当的测试用例,用于测试下面的程序,能达到判定覆盖的是(C)。
A、B、
A B
1
A B
False True False True
True False
C、 D 、
A B
A B
False False False True
True True True False
True True
A OR B
False
True 语句
10、在进行单元测试时,常用的方法是(A)。
A、采用白盒测试,辅之以黑盒测试
B、采用黑盒测试,辅之以白盒测试
C、只使用白盒测试
D、只使用黑盒测试
11、白盒测试方法一般适合于(A)测试。
A、单元
B、系统
C、集成
D、确认
12、为了提高测试的效率,应该(D)。
A、随机地选取测试数据
B、取一切可能的输入数据作为测试数据
C、在完成编码以后制定软件的测试计划
D、选择发现错误可能性大的数据作为测试数据
13、不属于白盒测试的技术是(D)。
A、语句覆盖
B、判定覆盖
C、条件覆盖
D、边界值分析
14、下列逻辑覆盖标准中,差错能力最强的是(D)。
A、语句覆盖
B、判定覆盖
C、条件覆盖
D、条件组合覆盖
15、在黑盒法中,着重检查输入条件组合的测试方法是(D)。
A、等价类划分法
B、边界值分析法
C、错误推测法
D、因果图法
三、简答题
1、为什么要进行软件测试?软件测试要以什么目标和原则?
答:软件测试的目的是为了发现软件产品中存在的软件缺陷,进而保证软件产品的质量。软件测试是软件开发过程中的一个重要阶段,是软件产品正式投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试的结果也是分析软件可靠性的重要依据。
2
在软件测试中,应注意以下指导原则:
(1)所有测试都应追溯到需求
(2)坚持“尽早地和不断地进行软件测试”。
(3)测试用例应由输入数据和预期的输出结果两部分组成。
(4)程序员应避免测试自己的程序。
(5)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
(6)充分注意测试中的群集现象。
(7)严格执行测试计划,排除测试的随意性。
(8)应当对每个测试结果做全面检查。
(9)在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该
做的事。
(10)应长期保留所有测试用例。保留测试用例有助于以后修改程序后的回归测试。
2、软件测试包括哪几个过程?测试过程中包括哪些数据源?
答:测试过程分为 4 个步骤,即单元测试、组装测试、确认测试和系统测试。
数据源有:
(1)软件配置:包括软件需求规格说明、软件设计规格说明、源代码等。
(2)测试配置:包括测试计划、测试用例、测试驱动程序等。
(3)测试工具:测试工具为测试的实施提供某种服务,以减轻测试过程中的手工劳动,
提高测试效率。
3、黑盒测试法与白盒测试法的本质区别是什么?它们的使用场合有何不同。
答:黑盒测试法与白盒测试法的根本区别是设计测试用例的方法不同。前者是测试产品的功能,后者是测试产品的内部结构和处理过程。
通过黑盒测试主要发现以下错误:
(1)是否有不正确或遗漏了的功能。
(2)界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。
(3)是否有数据结构或外部数据库访问错误。
(4)性能是否满足要求。
(5)是否有初始化或终止性错误。
白盒测试法是一种程序级的微观上的测试,不适合于大单元、大系统的测试,主要用于很小单元的测试,以及从事软件底层工作、生产构件的测试人员使用。
4、试比较测试与调试的异同。
答:软件测试的目的是尽可能多地发现程序中的错误,而调试的目的是根据测试时发现
的错误,找出错误的原因和具体位置,并改正错误。测试与调试的不同如下表所示。
测试与调试的不同
测试(test) 调试(debug) 目的是发现错误目的是找出错误位置并排除
有计划被动的
以已知条件开始, 使用预先定义的程序, 有预知的结
果
以不可知内部条件开始, 结果一般不可预见
由独立的测试组,在不了解软件设计的条件下完成由程序作者进行,谁开发的程序就由谁来调试
5 、试叙述面向对象的单元测试、组装测试、确定测试的内涵。
(1)面向对象的单元测试
面向对象的单元测试是进行面向对象集成测试的基础。面向对象的单元测试以类或对
象为单位。由于类包含一组不同的操作,并且某些特殊的操作可能被多个类共享,因此,单
3