功能黑盒测试单元测试和集成测试二.docx

上传人:b****6 文档编号:5886762 上传时间:2023-01-01 格式:DOCX 页数:20 大小:24.90KB
下载 相关 举报
功能黑盒测试单元测试和集成测试二.docx_第1页
第1页 / 共20页
功能黑盒测试单元测试和集成测试二.docx_第2页
第2页 / 共20页
功能黑盒测试单元测试和集成测试二.docx_第3页
第3页 / 共20页
功能黑盒测试单元测试和集成测试二.docx_第4页
第4页 / 共20页
功能黑盒测试单元测试和集成测试二.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

功能黑盒测试单元测试和集成测试二.docx

《功能黑盒测试单元测试和集成测试二.docx》由会员分享,可在线阅读,更多相关《功能黑盒测试单元测试和集成测试二.docx(20页珍藏版)》请在冰豆网上搜索。

功能黑盒测试单元测试和集成测试二.docx

功能黑盒测试单元测试和集成测试二

功能(黑盒)测试、单元测试和集成测试

(二)

(总分:

100.00,做题时间:

90分钟)

一、{{B}}选择题{{/B}}(总题数:

40,分数:

100.00)

1.当在详细设计文档中缺少结构细节时,我们做单元测试时通常会采用哪种测试策略______。

∙A.自顶向下测试策略

∙B.自底向上测试策略

∙C.孤立测试策略

∙D.综合测试策略

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]自顶向下测试策略要被桩模块控制,且测试时低层进行单元测试总要依赖于顶层的测试,孤立测试与综合测试同样是要依赖结构设计信息,需要设计多个桩模块和驱动模块,所以它们对于题目中条件“详细设计文档中缺少结构细节”不适用。

而自底向上测试策略的优点之一就是不需要单独设计模块,不需要依赖结构设计,可以直接从功能设计中获取设计用例,所以在详细设计文档中缺少结构细节时通常会采用自底向上测试策略。

2.下面不属于单元测试分析对象的是______。

∙A.模块接口

∙B.独立路径

∙C.边界条件

∙D.全局数据结构

(分数:

2.50)

 A.

 B.

 C.

 D. √

解析:

[解析]单元测试分析的目的是根据可能的各种情况,确定测试内容,确认这段代码是否在任何情况下都和期望的一致。

在进行单元测试分析时。

主要从以下5个方面进行考虑:

模块接口、局部数据结构、独立路径、出错处理、边界条件,由此题目中D选项的全局数据结构不在单元测试分析的对象之中。

3.下列关于单元测试用例设计的叙述中正确的是______。

∙A.单元测试用例设计的根据是软件概要设计规格说明书

∙B.单元测试中用例的设计既可以使用白盒测试也可以使用黑盒测试,但以白盒测试为主

∙C.单元测试用例设计中仅需要设计正向的测试用例,逆向的不用设计

∙D.对于单元测试,测试用例是用来证明一个集成的系统是否实现了设计规范的要求

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]单元测试用例设计的根据是软件设计文档,即详细设计规格说明书,对于单元测试,测试用例要证明的是一个独立的单元是否做了它该做的事,即是否实现了设计规范中的要求,通常一个完整的单元测试不仅仅要进行正向测试,还要做逆向测试,这些都是单元测试的测试用例的设计原则。

而单元测试用例的设计方法通常白盒和黑盒都是可以的,但主要是以白盒测试为主,这是正确的。

4.在执行单元测试时最有用的测试方法是______。

∙A.基本路径覆盖

∙B.事件序列检查

∙C.事件响应驱动

∙D.判定表

(分数:

2.50)

 A. √

 B.

 C.

 D.

解析:

[解析]大部分情况下单元测试会选择白盒测试,故选择A选项。

5.下列工作不属于非功能测试的是______。

∙A.路径测试

∙B.压力测试

∙C.性能测试

∙D.可靠性测试

(分数:

2.50)

 A. √

 B.

 C.

 D.

解析:

[解析]单元测试涉及的测试技术通常有:

针对被测单元需求的功能测试、用于代码检查和代码走查的静态测试、覆盖测试与路径测试、基于状态的测试和一些非功能测试。

这里的非功能测试包括对单元的性能测试、压力测试和可靠性测试。

6.下列不属于单元测试策略的是______。

∙A.自顶向下测试策略

∙B.自底向上测试策略

∙C.失效恢复测试策略

∙D.孤立单元测试策略

(分数:

2.50)

 A.

 B.

 C. √

 D.

解析:

[解析]为提高单元测试的质量,只是了解单元测试技术还不够,还要选择合适的测试策略。

在选择合适的测试策略时,主要考虑以下3种方式:

自顶向下测试策略、自底向上测试策略和孤立的单元测试策略。

7.为了发现因计算错误、比较不正确和控制流不恰当而造成的错误,最常用且最有效的测试技术是______。

∙A.分支覆盖测试

∙B.基本路径测试和循环测试

∙C.语句覆盖测试

∙D.数据流覆盖测试

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]单元测试的基本任务是保证模块中每条语句都至少执行一次,此时设计测试用例是为了发现因计算错误、比较不正确和控制流不恰当而造成的错误,发现这些错误最常用且最有效的测试技术就是基本路径测试和循环测试。

8.单元测试中最后进行也是最重要的一项任务是______。

∙A.边界条件

∙B.出错处理

∙C.模块接口

∙D.独立路径

(分数:

2.50)

 A. √

 B.

 C.

 D.

解析:

[解析]单元测试的目的是根据可能的各种情况,确定测试内容,确认这段代码是否在任何情况下都和期望的一致。

在进行单元测试分析时,主要从以下5个方面进行考虑:

①模块接口;②局部数据结构;③独立路径;④出错处理;⑤边界条件。

其中边界条件是指程序中判断或循环的操作界限的边缘条件,是单元测试中最后进行也是最重要的一项任务。

9.在单元测试用例的设计中,使用白盒测试应达到的覆盖率目标是______。

∙A.语句覆盖率达到100%

∙B.分支覆盖率达到100%

∙C.覆盖程序中的主要路径

∙D.以上全部

(分数:

2.50)

 A.

 B.

 C.

 D. √

解析:

[解析]单元测试中设计测试用例可以使用白盒测试也可以使用黑盒测试,但以白盒测试为主。

为r度量的完整性,通常要求测试达到一定的覆盖率要求,通过覆盖率的统计可以知道测试是否充分。

在白盒测试方面可以使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、路径覆盖等技术,白盒测试应达到的覆盖率目标是:

语句覆盖率达到100%;分支覆盖率达到100%;覆盖程序中的主要路径,即覆盖完成需求和设计功能的代码所在的路径和程序异常处理执行到的路径。

10.在单元测试用例设计中,使用黑盒______。

∙A.程序单元有好的可靠性和安全性

∙B.程序单元满足性能要求

∙C.程序单元正确实现了需求和设计要求的所有功能

∙D.以上全部

(分数:

2.50)

 A.

 B.

 C.

 D. √

解析:

[解析]单元测试中,使用黑盒测试方法设计测试用例通常使用功能覆盖率来度量测试的完整性,而功能覆盖率中最常见的就是需求覆盖,目的是设计一定的测试用例,使得每个需求点都被测试到。

其次还包括接口覆盖,目的是通过设计测试用例,使系统的每个接口都被测试到。

黑盒测试应达到的覆盖率目标是:

程序单元正确实现了需求和设计要求的所有功能;程序单元满足性能要求;程序单元有好的可靠性和安全性。

11.单元测试的测试用例设计主要依据是______。

∙A.需求规格说明书

∙B.概要设计说明书

∙C.接口规格说明书

∙D.详细设计说明书

(分数:

2.50)

 A.

 B.

 C. √

 D.

解析:

[解析]单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

单元测试的测试用例设计主要根据接口规格说明书。

12.无论是门盒测试还是黑盒测试,每个测试用例都应包含的因素是______。

∙A.被测单元模块的初始状态声明

∙B.被测单元的输入和

∙C.测试用例实际测试的代码

∙D.以上全部

(分数:

2.50)

 A.

 B.

 C.

 D. √

解析:

[解析]无论是白盒测试还是黑盒测试,每个测试用例都应包含下面4个关键因素:

①被测单元模块的初始状态声明;②被测单元的输入;③测试用例实际测试的代码;④测试用例的期望输出结果。

13.对于传统软件来说,按集成程度不同对集成测试进行划分,不属于该分类的是______。

∙A.模块内集成测试

∙B.模块间集成测试

∙C.子系统内集成测试

∙D.子系统间集成测试

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]从软件开发和测试的各种模型中可知,一个软件产品的开发往往要经历多个不同的开发和测试阶段,可以说软件开发和测试过程都是一个分层设计和不断细化的过程。

那么对于集成测试本身的划分可以按集成的程度来进行。

对于传统软件,按集成程度不同,可以分为3个层次:

模块内集成测试、子系统内集成测试、子系统间集成测试。

对于面向对象的应用系统,按集成程度不同,可以分为两个层次:

类内集成测试和类间集成测试。

14.集成测试分析的作用是指导集成测试用例的设计,安排测试和集成顺序。

集成模块划分是集成测试分析的一个重要环节。

以下叙述中不属于合理的集成模块划分的是______。

∙A.被集成的几个模块间的联系必须很密切

∙B.可以很容易地隔离集成模块的外围模块

∙C.集成模块内部各个模块必须共享某些数据区或程序区

∙D.能够简便地模拟外围模块向集成模块发送消息

(分数:

2.50)

 A.

 B.

 C. √

 D.

解析:

[解析]合理的集成测试模块划分应满足以下几点:

被集成的几个模块之间的关系必须密切;可以方便地隔离集成模块的外围模块;能够简便地模拟外围模块向集成模块发送消息;外围模块向被测试的集成模块发送的消息能够模拟实际环境中的大多数情况。

15.从软件开发与测试的V模型中可以看出,集成测试是与软件开发的______阶段相对应。

∙A.软件需求分析

∙B.软件概要设计

∙C.软件详细设计

∙D.软件运行和维护

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]从软件开发与测试的V模型中可以看出,集成测试是与软件开发概要设计阶段相对应,而在软件概要设计中,关于整个系统的体系结构就是集成测试用例输入的基础。

16.下面不属于集成测试层次的是______。

∙A.应用环境集成测试

∙B.模块内集成测试

∙C.子系统内集成测试

∙D.子系统间集成测试

(分数:

2.50)

 A. √

 B.

 C.

 D.

解析:

[解析]集成测试层次不包括应用环境集成测试。

17.适合使用自底向上的增量式集成方式进行集成和测试的产品应属于______。

∙A.使用了严格的净室软件工程过程的产品

∙B.控制模块具有较大技术风险的产品

∙C.采用了契约式设计的产品

∙D.在极限编程中使用了探索式开发风格的产品

(分数:

2.50)

 A.

 B.

 C. √

 D.

解析:

[解析]自底向上的增量式集成的目的是从底层构件开始,按照模块调用图的机构,逐层向上集成,以检测整个系统的稳定性。

对于具有如下属性的产品,可以优先考虑本集成测试策略:

采用契约式设计的产品;底层接口比较稳定的产品;高层接口变化比较频繁的产品;底层模块较早完成的产品。

18.下列有关软件集成测试的说法中,错误的是______。

∙A.软件集成测试一般由软件供方组织并实施,测试人员与开发人员应相对独立

∙B.软件集成测试可委托第三方进行

∙C.软件集成测试的技术依据是软件需求文档

∙D.进入集成测试要求待集成的软件单元已通过单元测试

(分数:

2.50)

 A. √

 B.

 C.

 D.

解析:

[解析]集成测试一般是由项目负责人组织测试人员依据概要设计规格说明和集成测试计划进行的,故A错。

19.在集成测试阶段,人们关注的一种主要的覆盖是______。

∙A.功能覆盖

∙B.语句覆盖

∙C.基本路径覆盖

∙D.条件覆盖

(分数:

2.50)

 A. √

 B.

 C.

 D.

解析:

[解析]B、C、D都是单元测试所关注的覆盖,而A是集成测试关注的覆盖。

20.正向测试的测试用例用于验证被测单元的功能和性能指标是否能够兑现,而反向测试的测试用例则是要检查被测单元是否做了______。

∙A.应该做的事情

∙B.不该做的事情

∙C.有错误的事情

∙D.有性能缺陷的事情

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]正向集成测试的重点足验证集成之后的模块是否按照设计实现了预期的功能。

集成测试中的逆向测试包括分析被测接口是否实现了需求规格没有描述的功能,检查规格说明中可能出现的接口遗漏,或者判断接口定义是否有错误,以及可能出现的接口异常错误,包括接口数据本身的错误、接口数据顺序错误等。

21.在基于调用图的集成中,有一种集成策略就是应对与调用图的每一条边建立并执行一个集成测试会话,即对有调用关系的两个程序单元进行集成测试,这样可以免除驱动和桩的编写,这种集成策略是______。

∙A.持续集成

∙B.三明治集成

∙C.成对集成

∙D.相邻集成

(分数:

2.50)

 A.

 B.

 C. √

 D.

解析:

[解析]成对集成的思想是免除驱动/桩模块的开发,使用实际代码代替驱动模块和桩模块。

这类似于一次性集成的方式,但是这种集成限制在调用图中的一对单元上。

三明治集成(混合的增量式集成)的目的是综合自顶向下和自底向上的集成测试策略的优点。

它把系统划分成三层,中间一层为目标层,测试的时候,对目标层上面的一层使用由顶向下的集成策略,对目标层下面的一层使用自底向上的集成策略,最后测试在目标层会合。

相邻集成就是对每个邻居建立并执行一个集成测试会话,这可减少集成测试中桩模块和驱动模块的开发工作量。

相邻集成在一定程度上类似于三明治集成,但是它基于调用图来进行测试,而不是基于分解图。

22.下图(a)是一个程序的模块结构,模块A是主模块。

下图(b)是集成测试顺序的示意图。

由此图可知,这个集成策略是______。

∙A.自顶向下集成

∙B.自底向上集成

∙C.大突击集成

∙D.三明治式集成

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]自底向上策略复合题图的集成策略。

23.大突击测试把所有的模块一次性集成为一个完整的系统后进行测试,很容易______。

∙A.通过测试

∙B.整体测试

∙C.快速查错

∙D.快速排错

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]大突击测试与增量测试不同,它是把所有的模块一次性集成为一个完整的系统后进行完全测试,所有东西都集成到一起测试,很容易整体测试,也容易导致整个崩溃。

大突击测试的优点是无须编写桩模块和驱动模块代码。

不足有两点:

(1)要找出导致失效的原因很困难;

(2)一个模块中存在的缺陷还可能妨碍其他模块的测试。

24.一个功能增强型项目,即其以前的产品都已经很稳定,并且新增的项目只有少数几个构件被增加或修改。

对于这样的项目通常选择哪种集成测试策略最好______。

∙A.自顶向下集成策略

∙B.自底向上集成策略

∙C.三明治式集成策略

∙D.一次性集成测试策略

(分数:

2.50)

 A.

 B.

 C.

 D. √

解析:

[解析]集成测试中基于分解的测试策略可以分为非增量式集成和增量式集成两大类。

非增量式集成是分别对系统中的每一个模块进行单元测试,然后将所有的通过了单元测试的模块按照层次结构一次性组装在一起进行测试,增量式集成与非增量式集成不同,它是一个逐步集成的过程。

对于题目中一个功能增强型项目进行测试,采用一次性集成方式可以迅速完成集成测试,并且仅需要极少数的驱动和桩模块设计,所以这应该是最好的选择。

25.针对下面产品适合应用自底向上的增量式集成测试的是______。

∙A.底层接口比较稳定的产品

∙B.高层接口变化比较小的产品

∙C.控制模块有较大的技术风险的产品

∙D.在极限编程中使用探索式开发风格的产品

(分数:

2.50)

 A. √

 B.

 C.

 D.

解析:

[解析]自底向上的增量式集成测试是从程序模块结构的最底层开始集成和测试,其优点是可以对底层模块行为进行早期验证,减少桩模块的工作量,适用于大部分采用结构化编程方法编写的软件产品,且产品的结构相对比较简单。

通常对于契约式设计的产品、底层接口比较稳定的产品、高层接口变化比较频繁的产品、底层模块较早完成的产品,优先选择自底向上的增量式集成测试策略,而通常对于产品结构比较清晰和稳定、产品的高层接口变化比较小、产品的底层接口未定义或经常被修改、产品的控制模块具有较大的技术风险的产品、在极限编程中使用探索式开发风格的产品,优先选择自顶向下集成测试策略。

26.下列选项中不属于集成测试分析的对象的是______。

∙A.体系结构分析

∙B.边界条件分析

∙C.可测试性分析

∙D.接口分析

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]集成测试分析直接指导了集成测试用例的设计,主要从以下几个方面进行分析:

体系结构分析、模块分析、接口分析、可测试性分析、集成测试策略的分析;与单元测试分析进行比较,单元测试分析的目的是根据可能的各种情况,确定测试内容,确认这段代码是否在任何情况下都和期望的一致。

在进行单元测试分析时,主要从以下5个方面进行考虑:

模块接口、局部数据结构、独立路径、出错处理、边界条件。

27.系统外部接口,即外部系统(包括人、硬件和软件)与系统交互的接口,对这类接口的测试一般是在什么阶段______。

∙A.单元测试

∙B.系统测试

∙C.集成测试

∙D.验收测试

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]在实际环境中,接口可以划分为系统内部接口和系统外部接口。

对于系统内部的接口,即系统内部各个模块交互的接口,是在集成测试阶段完成的;对于系统外部接口,一般要延续到系统测试阶段来完成。

28.集成测试分析中,接口分析很重要,下面选项中不属于测试接口的方面是______。

∙A.功能性

∙B.安全性

∙C.顺序性

∙D.稳定性

(分数:

2.50)

 A.

 B.

 C. √

 D.

解析:

[解析]在集成测试中,接口分析测试的重点就是接口的功能性、可靠性、安全性、完整性、稳定性等多个方面,这便要求我们要对被测对象的接口进行周密细致的分析,对接口进行分类,分析并找出通过接口传递的数据。

接口的划分以概要设计为基础,其方法与相关的结构设计技术类似。

划分步骤可以分为确定系统的边界、子系统的边界和模块的边界;确定模块内部的接口;确定子系统内模块间接口;确定子系统间接口;确定系统与操作系统的接口;确定系统与硬件的接口;确定系统与第三方软件的接口。

29.对于软件集成的进度优先级高于软件质量的项目,我们通常采用的集成测试方法是______。

∙A.基于风险的集成测试

∙B.基于路径的集成测试

∙C.基于调用图的集成测试

∙D.基于进度的集成测试

(分数:

2.50)

 A.

 B.

 C.

 D. √

解析:

[解析]在集成测试中,进度压力是每个软件开发项目都会遇到的问题,为了完成进度,很多项目往往会牺牲部分质量,并加班加点地工作,基于进度的集成就是在兼顾进度和质量两者之间寻找一个均衡点,该集成基本策略就是把最早可获得的代码拿来立即进行集成,必要时开发桩模块和驱动模块,在最大限度上保持与开发的并行性,从而缩短项目集成的时间,因此其主要适应于软件的进度优先级高于质量的项目。

30.基于功能的集成测试方法是要做到______。

∙A.所有模块的覆盖

∙B.所有路径的覆盖

∙C.所有功能的覆盖

∙D.所有语句的覆盖

(分数:

2.50)

 A. √

 B.

 C.

 D.

解析:

[解析]在基于功能的测试策略中,首先要确定功能的优先级别,然后分析优先级最高的功能路径,把该路径上的所有模块集成到一起,必要时使用驱动模块和桩模块,再增加关键功能,继续上面过程,直到所有模块都被集成到被测系统中。

所以基于功能的集成测试方法是要做到所有模块的覆盖,而不是功能的覆盖或路径的覆盖。

31.对应单元调用图的每一个边建立并执行一个集成测试会话,这种集成测试方法是______。

∙A.基于分解的集成测试

∙B.成对集成测试

∙C.相邻集成测试

∙D.基于进度的集成测试

(分数:

2.50)

 A.

 B. √

 C.

 D.

解析:

[解析]基于分解的集成测试方法是以系统功能分解为基础的,把功能分解图细化为单元调用图,则可以使集成测试向结构性测试方法发展,这样便有了基于调用图的集成测试方法。

基于调用图的集成方式有两种:

成对集成和相邻集成。

成对集成的思想就是免除驱动/桩模块的开发,使用实际代码来代替驱动模块和桩模块,成对集成方法是对应单元调用图的每一个边建立并执行一个集成测试会话,虽然要完成多个集成测试过程,但可以大大减少驱动模块和桩模块开发的工作量。

而相邻集成方法是对每个邻居建立并执行一个集成测试会话。

32.下列位置的结点不可能是程序中源结点的是______。

∙A.转移控制到其他单元的结点

∙B.转移控制到其他单元的结点之后

∙C.程序开始执行的语句片段

∙D.程序第一个可执行语句

(分数:

2.50)

 A. √

 B.

 C.

 D.

解析:

[解析]源结点是在基于路径集成测试中涉及的重要概念。

程序中的源结点是指程序开始执行或重新开始处的语句片段,因此单元中的第一个可执行语句就是源结点,另外,程序的源结点还会出现在转移控制到其他单元的结点之后。

33.下列集成测试方法中,能保持与软件开发具有最好的并行性的是______。

∙A.基于分解的集成测试

∙B.基于调用图的集成测试

∙C.基于进度的集成测试

∙D.基于功能的集成测试

(分数:

2.50)

 A.

 B.

 C. √

 D.

解析:

[解析]基于进度的集成(Schedule-BasedIntegration)测试方法就是在兼顾进度和质量两者之间寻找一个均衡点,该集成基本策略就是把最早可获得的代码拿来立即进行集成,必要时开发桩模块和驱动模块,在最大限度上保持与开发的并行性,从而缩短项目集成的时间。

这种集成方法的主要优点是具有与软件开发较高的并行性,能够有效地缩短项目开发的进度。

34.在体系结构分析中,一个子系统的实现主要通过______。

∙A.界面构件

∙B.业务构件

∙C.用于数据传递的构件和访问数据库构件

∙D.以上全部

(分数:

2.50)

 A.

 B.

 C.

 D. √

解析:

[解析]体系结构的分析需要从两个角度出发,首先从需求的跟踪实现出发,划分出系统实现上的结构层次图;其次需要描述系统构件之间的依赖关系。

在结构层次图中可以看出,一个子系统主要通过4类构件来实现:

界面构件、业务构件、用于数据传递的构件和访问数据库构件。

其中界面构件负责与用户交互;业务构件负责处理业务逻辑;访问数据库构件提供与数据库的接口;用于数据连接的构件负责向业务构件传递系统更新的数据。

35.一个关键模块具有的特性有______。

∙A.和多个软件需求有关,或与关键功能相关

∙B.处于程序控制结构的顶层

∙C.含有确定的性能需求

∙D.以上全部

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1