软件测试技术与测试实训教程讲座(13 ) 第13章 集成测试的实用技术 v1 2学时课件

上传人:我*** 文档编号:145241826 上传时间:2020-09-18 格式:PPT 页数:51 大小:301.50KB
返回 下载 相关 举报
软件测试技术与测试实训教程讲座(13 ) 第13章 集成测试的实用技术 v1 2学时课件_第1页
第1页 / 共51页
软件测试技术与测试实训教程讲座(13 ) 第13章 集成测试的实用技术 v1 2学时课件_第2页
第2页 / 共51页
软件测试技术与测试实训教程讲座(13 ) 第13章 集成测试的实用技术 v1 2学时课件_第3页
第3页 / 共51页
软件测试技术与测试实训教程讲座(13 ) 第13章 集成测试的实用技术 v1 2学时课件_第4页
第4页 / 共51页
软件测试技术与测试实训教程讲座(13 ) 第13章 集成测试的实用技术 v1 2学时课件_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《软件测试技术与测试实训教程讲座(13 ) 第13章 集成测试的实用技术 v1 2学时课件》由会员分享,可在线阅读,更多相关《软件测试技术与测试实训教程讲座(13 ) 第13章 集成测试的实用技术 v1 2学时课件(51页珍藏版)》请在金锄头文库上搜索。

1、软件测试技术与测试实训教程黎连业 王华 李龙 黎照北京:机械工业出版社 2012.05,第13讲:第13章 集成测试的实用技术,集成是子系统功能的关联、链接完整性、数据和数据库完整性的集成,突出一体化的整合思想,目的就是组合产品组件最终形成产品,并要确保已集成的产品是符合用户和设计需要的。 集成测试也称组装测试或子系统测试。集成测试是在所有模块都通过了单元测试和子系统的功能测试成功的基础上,按照系统设计说明书的要求组合起来进行的测试。集成测试主要由系统设计人员、软件评测人员、开发人员共同完成的。 本章重点讨论以下内容: 集成测试概述; 集成测试的方法; 集成测试阶段的工作; 集成测试的步骤和测

2、试用例; 集成测试中的注意事项; 集成测试完成的标志; 集成测试的人工测试实训和操作方法。,13.1 集成测试概述,13.1.1 集成测试基本情况 集成测试是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成子系统(组件),而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。 集成测试识别组合单元时出现的问题。通

3、过使用要求在组合单元前测试每个单元并确保每个单元的生存能力的测试计划,可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。这种方法将可能发生的情况数量减少到更简单的分析级别。,集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。也就是说,在集成测试之前,单元测试应该已经完成,集成测试中所使用的对象应该是已经经过单元测试的软件单元。这一点很重要,因为如果不经过单元测试,那么集成测试的效果将会受到很大影响,并且会大幅增加软件单元代码纠错的代价。 集成测试是单元测试的逻辑扩展。在现

4、实方案中,集成是指多个单元的聚合,许多单元组合成模块,而这些模块又聚合成程序的更大部分,如分系统或系统。集成测试采用的方法是测试软件单元的组合能否正常工作,以及与其他组的模块能否集成起来工作。最后,还要测试构成系统的所有模块组合能否正常工作。集成测试所持的主要标准是软件概要设计规格说明,任何不符合该说明的程序模块行为都应该加以记载并上报。,13.1.2 集成测试重点考虑的内容 集成测试的重点考虑以下15点内容。 1) 采用何种集成方法来进行集成测试; 2) 集成测试过程中连接各个模块的顺序; 3)模块代码编制和测试进度是否与集成测试的顺序一致; 4) 模块之间的接口有没有错误; 5) 测试过程

5、中是否需要专门的硬件设备; 6) 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;,7) 功能有没有达到预期效果; 8) 模块相互调用时有没有引入了新的问题; 9) 计算的误差累计达到了不能接受的程度; 10)模块组合能否正常工作; 11) 各个子功能组合起来,能否达到预期要求的父功能; 12) 一个模块的功能是否会对另一个模块的功能产生不利的影响; 13) 进行回归测试,以保证不引入新的错误。 14) 数据经过接口可能丢失; 15) 全局数据结构是否有问题。,1313 集成测试的工作过程 集成测试的工作过程如图13-1所示。,集成测试主要由系统部的系统设计人员、软件评测部人员完成,

6、开发人员也参与集成测试。集成测试相对来说是挺复杂的,而且对于不同的技术、平台和应用差异也比较大,更多是和开发环境融合在一起。集成测试所确定的测试的内容,主要来源于设计模型。集成测试人员的工作过程如表13-1所示。,13.2 集成测试的方法,集成测试不是所有的代码编译通过就算是可以集成了,而是所有的模块、子系统能够正常运转,重点是接口。测试一般采用的方法是数据驱动或者桩驱动,因为集成测试不看产品的表象,而是看他的数据流,对数据流进行分析,知道系统有什么不妥当的地方。集成测试的实施方案有很多种,如自底向上集成测试、自顶向下集成测试、Big-Bang集成测试、三明治集成测试、核心集成测试、分层集成测

7、试、基于使用的集成测试等。,自底向上集成测试、自顶向下集成测试是非常重要的,它们表现的形式如图13-2所示。,除此我们还要介绍: 核心集成测试 高频集成测试 桩驱动测试。,13.2.1 自底向上集成测试 自底向上的集成(Bottom-Up Integration)方式是常用的方法,相关技术也较为成熟。其他集成方法都或多或少地继承、吸收了这种集成方式的思想。自底向上集成方式从系统结构中最底层的模块开始组装和测试。因为模块是自底向上进行组装的,对于一个给定的子系统,它的所有下属模块事前都已经通过了单元测试,不需要桩模块。自底向上集成测试的基本步骤如下。, 按照概要设计规格说明,明确被测模块 在熟悉

8、被测模块性质的基础上对被测模块进行分层,组织成实现某个子系统(功能)的模块群(cluster),在同一层次上的测试可以并行进行,然后排出测试活动的先后关系,制定测试进度计划。图13-2给出了自底向上的集成测试过程中各测试活动的关系。, 在的基础上,按时间线序关系,将软件单元模块集成为各个子系统,开发一个测试驱动模块,控制测试数据的输入和测试结果的输出;, 检测各自子系统是否能正常工作。需要成批输入数据,数据分: 没错误的数据,以检查功能实现。 各种各机关报错误数据,以检查程序对错误数据处理能力。 提供程序与程序交接口数据(正确的、不正确的),以检查交接口情况。, 处理各子系统间的测试 联机处理

9、子系统间的测试 联机处理的系统测试有以下: 单任务单终端测试 单任务单终端测试是在一个终端上进行测试。 单任务多终端测试 单任务多终端测试是同时在多个终端上运行测试。 多任务单终端测试 多任务单终端测试是多任务在一个终端上运行测试。 多任务多终端测试 多任务多终端测试是多任务在多个终端上运行测试。, 联合测试 在、测试的基础上,还需要进行成批处理与联机处理的联合测试。 联合测试成功则自底向上集成测试工作宣告完成。,13.2.2 自顶向下集成测试 自顶向下集成测试是构造程序结构的一种增量式方式,它从主控模块开始,按照软件的控制层次结构,以深度优先或广度优先的策略,逐步把各个模块集成在一起。深度优

10、先策略首先是把主控制路径上的模块集成在一起,至于选择哪一条路径作为主控制路径,这多少带有随意性,一般根据问题的特性确定。自顶向下集成的优点在于能尽早地对程序的主要控制和决策机制进行检验,因此较早地发现错误。缺点是在测试较高层模块时,低层处理采用桩模块替代,不能反映真实情况,重要数据不能及时回送到上层模块,因此测试并不充分。,自顶向下集成测试的基本步骤如下。 以主控模块作为测试驱动模块,把对主控模块进行单元测试时引入的所有桩模块用实际模块替代; 依据所选的集成策略(深度优先或广度优先),每次只替代一个桩模块; 每集成一个模块立即测试一遍; 只有每组测试完成后,才着手替换下一个桩模块; 为避免引入

11、新错误,须不断地进行回归测试(即全部或部分地重复已做过的测试); 从循环执行上述步骤,直至整个程序结构构造完毕。,13.2.3 核心系统先行集成测试 核心系统先行集成测试法的思想是先对核心软件部件进行集成测试,在测试通过的基础上再按各外围软件部件的重要程度逐个集成到核心系统中,直至最后形成稳定的软件产品。核心系统先行集成测试方法对于快速开发软件是有效的,适合较复杂系统的集成测试,能保证一些重要的功能和服务的实现。缺点是采用此法的系统一般要明确区分核心软件部件和外围软件部件,核心软件部件、外围软件部件要有很高的耦合度。核心系统先行集成测试法对应的集成过程是一个逐渐趋于闭合的,代表产品逐步定型的过

12、程。核心系统先行集成测试的基本步骤如下。, 对核心系统中的每个模块进行单独测试,必要时使用桩模块; 对于核心系统中的所有模块一次性集合到被测系统中,解决集成中出现的各类问题。在核心系统规模相对较大的情况下,也可以按照自底向上的步骤,集成核心系统的各组成模块; 按照各外围软件部件的重要程度以及模块间的相互制约关系,拟定外围软件部件集成到核心系统中的顺序方案,进行外围软件部件的集成; 在外围软件部件添加到核心系统以前,外围软件部件应先完成内部的模块级集成测试。,13.2.4 高频集成测试 高频集成测试是指同步于软件开发过程,每隔一段时间对开发团队的现有代码进行一次集成测试。高频集成测试在开发过程中

13、及时发现代码错误,能直观地看到开发团队的有效工程进度,这对有效防止错误、及时纠正错误都很有帮助。高频集成测试的特点是集成测试次数频繁,人工的方法是不胜任的。集成测试的基本步骤如下。, 选择集成测试自动化工具; 设置版本控制工具,以确保集成测试自动化工具所获得的版本是最新版本; 测试人员和开发人员负责编写对应程序代码的测试脚本; 设置自动化集成测试工具,每隔一段时间对配置管理库的新添加的代码进行自动化的集成测试,并将测试报告汇报给开发人员和测试人员; 测试人员监督代码开发人员及时关闭不合格项。 按照步骤不断循环,直至形成最终软件产品。,13.2.5桩驱动测试 1桩驱动方法表现的形式 桩驱动方法需

14、要编制桩模块(一种能模拟真实模块,给待测模块提供调用接口或数据的测试用软件模块)。桩驱动方法表现的形式如图13-3所示。,图13-3中:如果中间的桩模块(函数)在单元测试已经作过详细的测试,没有错误,那么关联模块或子系统1、关联模块或子系统2、关联模块或子系统3经过桩模块(函数)去关联模块或子系统4、关联模块或子系统5、关联模块或子系统6有错误,可能是输入的过程或者接收了输出参数处理出错了。 桩驱动方法可以定义很多个桩,使得测试效率提高。,2桩模块的概念 很多人对桩模块的概念会搞不清楚,下面以C语言为例先介绍这两个概念。例如有一个系统,系统程序模块结构图如图13-4所示。,假设现在测试 B模块

15、: 1) 分析结构图: 由于B模块不是最顶层模块,所以它一定不包含main模块(A模块),也就不能独立运行。 B模块调用了D模块和E模块,而目前D模块和E模块都还没有开发好,那么想让B模块通过编译器的编译也是不可能的。,2) 为了测试B模块,需要做: 写两个模块d11和e11分别代替D模块和E模块(他们的函数名、返回值、传递的参数相同),这样B模块就可以编译器的编译了。D11模块和e11模块就是桩模块。 写一个模块a11用来代替A模块,里面包含main函数,可以在main函数中调用B模块,让 B模块运行起来。A11模块就是驱动模块。,3)桩模块验证接口参数的正确性和输出值预期的结果。 在桩模块

16、中,接口参数分正确的接口和不正确的接口。操作方法: CALL 桩模块 (接口参数正确的); CALL 桩模块 (接口参数不正确的)。,13.3 集成测试阶段的工作,13.3.1计划阶段 在系统设计人员完成概要设计后和软件评测部人员进行集成测试计划阶段工作。 工作的内容: 1. 按照系统需求规格说明书、概要设计说明书、系统开发计划进行集成测试计划阶段工作; 2. 定出被测试对象和测试范围; 3. 评估集成测试被测试对象的数量及难度(即工作量); 4. 确定角色分工和作任务; 5. 标识出测试各阶段的时间,任务,约束等条件; 6. 考虑风险分析及应急计划; 7. 考虑和准备集成测试需要的测试工具,测试仪器,环境等资源; 8. 考虑外部技术支援的力度和深度,以及相关培训安排; 9. 定义测试标准 ; 10. 写出集成测试计划 。,13.3.2 设计阶段 在系统设计人员完成系统详细设计后和软件评测部人员进行集成测试设计阶段工作。 1.按照需求规格说明书、概要设计说明书、集成测试计划、系统详细设计说明书进行集成测试设计阶段工

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号