第七章 集成测试过程

《第七章 集成测试过程》由会员分享,可在线阅读,更多相关《第七章 集成测试过程(38页珍藏版)》请在文档大全上搜索。
1、第6章 集成测试本章大纲p本章讨论与集成测试相关的内容,包括:n集成测试过程n集成策略p大爆炸p自顶而下p自底而上p三明治集成p基于MM-路径的集成n集成测试计划n集成测试设计n集成测试执行p定义定义n集成经过单元测试的各组件评估它们之间交互的测试过程集成测试(Integration Testing)在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。什么是集成测试n目的n在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;n一个模块的功能是否会对另一个模块的功能产生不利的影响;n各个子功能
2、组合起来,能否达到预期要求的父功能;n全局数据结构是否有问题;n单个模块的误差累积起来,是否会放大,以至达到不能接受的程度。集成测试必要性n(1)一个模块可能对另一个模块产生不利的影响n(2)可能会发现单元测试中未发现的接口方面的报告n(3)将子功能合成时不一定产生所期望的主功能n(4)独立可接受的误差,在组装后可能会超过可接受的误差程度n(5)在单元测试中无法发现时序问题n(6)在单元测试中无法发现资源竞争问题集成测试的层次n传统软件:按集成粒度不同,可分为:模块间集成测试,子系统内集成测试,子系统间集成测试;n面向对象的应用系统:类内集成测试,类间集成测试集成策略p集成策略集成策略n在对测
3、试对象分析的基础上,描述软件单元集成(组装)的方式和方法。p是集成测试过程中各种活动的基础,集成策略包括1.基于功能分解图的集成p大爆炸p渐增式集成p自顶而下p自底而上p混合集成2.基于MM-路径的集成功能分解图p功能分解定义功能分解定义n一种基于系统功能和子功能将系统分解为多个组件的模块分解方式SATMSATM系统系统设备传感与控制设备传感与控制中央银行通信中央银行通信终端传感与控制终端传感与控制管理会话管理会话通道传感与控制通道传感与控制槽传感与控制槽传感与控制屏幕驱动器屏幕驱动器键盘传感器键盘传感器验证卡验证卡验证验证PINPIN取数字取数字管理事务管理事务结束会话结束会话大爆炸集成p定
4、义定义n把各个单元一次性集成为一个完整的系统中进行测试,而不是分阶段进行p备注备注n大爆炸法是一个折中的集成测试策略n如果系统很小或者定位缺陷不是那么复杂,可以采用大爆炸法。不然,比较好的办法基于某种集成测试策略一步步集成各单元自顶而下集成p定义定义n从顶层开始,采用同设计顺序一样的思路对被测系统进行测试,一般集中于顶层的组件,然后逐步测试处于底层的组件,被上层单元调用的下层单元以桩出现p自顶而下的集成方式自顶而下的集成方式n深度优先p从最顶层单元开始,持续向下到下一层,选择一个分支,自顶而下一个一个的集成这条分支上的所有单元,直到最底层,然后转向另一个分支,重复这样的集成操作直到所有的单元都
5、集成进来n广度优先p从最顶层单元开始,持续向下到下一层, 一个个完成下一层上所有单元集成后,再转向下面一层,重复这样的集成操作直到所有的单元都集成进来广度优先集成举例p步骤步骤1.从U1开始测试, 被U1调用的U2,U3,U4被S1,S2,S3这3个桩模块代替 集成从左向右进行2.移到下一层,将U1和U2集成,被U2调用的U5被桩模块S4代替,U3,U4被S2,S33.集成U1、U2,U3,U5被S4代替,U4被S3代替4.集成U1,U2,U3和U4,被U4调用的U6,被S5代替,U5用S4代替5.移到下一层,集成U2,U1,U3,U4和U5,用S5代替U66.将U6与其它单元集成U1U2U3
6、U4U5U6U1S1S2S3U1S4S2S3U2U1S3U2U1U2U5U3U4S5U1U2U3U4U5U6Step 5Step 4Step 3Step 1Step 2Step 6S4U3U1U4U2S4U3S5广度优先集成举例软件测试方法和应用 7-13深度优先集成举例p步骤步骤1.从U1开始,被U1调用的U2、U3、U4被3个桩模块S1、S2、S3代替,基于功能树,选择一个U1的分支,集成自顶而下。在本例中选择最左面的一个分支2.将U1和U2集成,被U2调用的U5用桩模块S4代替,U3、U4被S2、S3代替3.将U1、U2和U5集成,U3、U4用桩模块S2、S3代替4.转回到第二级,将U1
7、、U2、U5和U3集成,用S3代替U45.转回到第二级,将U1、U2、U3、U5和U4集成,用S5代替U36.将U6与其它模块集成U1U2U3U4U5U6U1S1S2S3U1S4S2S3U2U1S2S3U2U1S3U2U3U1U2U3U4S5U1U2U3U4U5U6Step 4Step 3Step 1Step 2Step 6U5U5U5深度优先集成举例软件测试方法和应用 7-15自下而上p定义定义n从最底层组件开始,按照分解树的结构,逐层向上集成,调用下层单元的上层单元以驱动出现p自下而上举例n步骤1.从最底层U5,U3,U6开始,开发3个驱动模块d1,d2,d3调用它们2.用U5集成U2,U
8、6,U4被d4,d5代替3.将所有单元集成在一起d1d3d2自下而上举例U1U2U3U4U5U6U1U2U3U4U5U6U5U3U6d4d5U2U4U5U6Step 1Step 2Step 3软件测试方法和应用 7-17三明治集成p定义定义n为减少桩模块和驱动模块,在分解树的子树上进行集成p举例举例n步骤1.基于功能树,选择完全分支/子分支作为集成单元,在本例中,我选择了3个子树1.为了测试U2和U5的集成,开发一个驱动器d12.开发两个桩S1和S2测试U1和U3的集成3.为了测试U4和U6,开发一个驱动器d22.将所有的测试子树集成在一起软件测试方法和应用 7-18三明治集成举例U1U2U3
9、U4U5U6U1U2U3U4U5U6d1U2U5Step 1Step 2U1S1U3S2d2U4U6subtree1subtree2subtree3软件测试方法和应用 7-19p定义定义n这种方法由Paul C. Jorgensen提出,MM路径法是英文Message-Method的简称nMM路径可以用于描述单元之间的控制转移。基于MM路径的集成软件测试方法和应用 7-20p下图展示了一条基于调用关系的单元A,B和C的MM路径基于MM路径的集成123456123412345ABC一条MM路径p相关概念相关概念n源节点:程序执行开始时或重新开始处的语句片断。 可能是单元中的第一个可执行语句或者是