第5章 集成测试

上传人:cel****460 文档编号:240440883 上传时间:2024-04-10 格式:PPTX 页数:31 大小:1.10MB
返回 下载 相关 举报
第5章 集成测试_第1页
第1页 / 共31页
第5章 集成测试_第2页
第2页 / 共31页
第5章 集成测试_第3页
第3页 / 共31页
点击查看更多>>
资源描述
第5章 集成测试第1页,共31页。软件测试过程模块中有无故障发现与接口有关的模块之间的问题增量式集成测试法是否满足软件需求结论性评价证明系统性能独立的测试机构向用户说明系统可以像用户预的那样工作第2页,共31页。5.1 集成测试概述集成测试概述 集成测试主要关注以下问题:1模块间的数据传递是否正确?2一个模块的功能是否会对另一个模块的功能产生错误的影响?3全局数据构造是否有问题,会不会被异常修改?4块组合起来的功能能否满足要求?5集成后,各个模块的累积误差是否会扩大,是否到达不可承受的程度?第3页,共31页。5.1 集成测试概述集成测试概述第4页,共31页。5.1 集成测试概述集成测试概述2/8原那么模块划分遵循的几个原那么:1本次测试希望测试哪个模块。2把与该模块最严密的模块集成在一起。3考虑划分后的外围模块,分析外围模块和被集成模块之间的信息流是否容易模拟和控制。第5页,共31页。5.1 集成测试概述集成测试概述 5.1.2 集成测试与系统测试的区别 1测试对象。2测试时间。3测试方法。4测试内容。5测试目的。6测试角度。第6页,共31页。5.1 集成测试概述集成测试概述 5.1.3 集成测试与开发的关系 集成测试是和软件开发过程中的概要设计阶段相对应的,而在软件概要设计中关于整个系统的体系构造就是集成测试用例输入的根底。第7页,共31页。5.1 集成测试概述集成测试概述 5.1.4 集成测试的层次与原那么 1集成测试的层次 对于传统软件来说,按集成粒度不同,可以把集成测试分为3个层次,即:1模块间集成测试 2子系统内集成测试 3子系统间集成测试 对于面向对象的应用系统来说,按集成粒度不同,可以把集成测试分为2个层次:1类内集成测试 2类间集成测试 第8页,共31页。5.1 集成测试概述集成测试概述 5.1.4 集成测试的层次与原那么 2集成测试的原那么 1所有公共接口必须被测试到;2关键模块必须进展充分测试;3集成测试应当按一定层次进展;4集成测试策略选择应当综合考虑质量、本钱和进度三者之间的关系;5集成测试应当尽早开场,并以概要设计为根底;6在模块和接口的划分上,测试人员应该和开发人员进展充分沟通;7当测试方案中的完毕标准满足时,集成测试才能完毕;8当接口发生修改时,涉及到的相关接口都必须进展回归测试;9集成测试应根据集成测试方案和方案进展,不能随意测试;10工程管理者应保证测试用例经过审核;11测试执行结果应当如实的记录。第9页,共31页。5.2 集成测试策略集成测试策略n驱动程序驱动程序/驱动模块驱动模块driver,用以模拟被测,用以模拟被测模块的上级模块。驱动模块在集成测试中承受测模块的上级模块。驱动模块在集成测试中承受测试数据,把相关的数据传送给被测模块,启动被试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。测模块,并打印出相应的结果。n桩程序桩程序/桩模块桩模块stub,也有人称为存根程序,也有人称为存根程序,用以模拟被测模块工作过程中所调用的模块。桩用以模拟被测模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进展很少的数模块由被测模块调用,它们一般只进展很少的数据处理,例如打印入口和返回,以便于检验被测据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口模块与其下级模块的接口第10页,共31页。5.2 集成测试策略集成测试策略 5.2.1 非渐增式集成 非渐增式集成方法首先对每个子模块进展测试即单元测试,然后将所有模块全部集成起来一次性进展集成测试。【例5.1】对如图5.3所示的程序,采用非渐增式集成方法进展集成测试。ABCDEFG 图5.3 程序结构图第11页,共31页。5.2 集成测试策略集成测试策略 测试A测试B测试C测试D测试E测试F测试G测试(A、B、CD、E、F、G)图5.4 非渐增式集成第12页,共31页。5.2 集成测试策略集成测试策略 5.2.2 渐增式集成 渐增式集成与“一步到位的非渐增式集成相反,它把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误;对接口可以进展更彻底的测试;可以使用系统化的测试方法。因此。目前在进展集成测试时普遍采用渐增式集成方法。当使用渐增方式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略。第13页,共31页。5.2 集成测试策略集成测试策略 1自顶向下集成自顶向下集成 自顶向下集成方法是一个日益为人们自顶向下集成方法是一个日益为人们广泛采用的测试和组装软件的途径。从主广泛采用的测试和组装软件的途径。从主控制模块开场,沿着程序的控制层次向下控制模块开场,沿着程序的控制层次向下移动,逐渐把各个模块结合起来。在把附移动,逐渐把各个模块结合起来。在把附属于及最终附属于主控制模块的那些属于及最终附属于主控制模块的那些模块组装到程序构造中去,或者使用深度模块组装到程序构造中去,或者使用深度优先的策略,或者使用宽度优先的策略。优先的策略,或者使用宽度优先的策略。【例【例5.2】对如图】对如图5.3所示的程序,采所示的程序,采用自顶向下集成方法,按照深度优先方式用自顶向下集成方法,按照深度优先方式进展集成测试。进展集成测试。第14页,共31页。5.2 集成测试策略集成测试策略n用以下4个步骤实现自顶向下的结合策略:n1.对主控模块进展测试,测试时用桩模块代替所有直接附属于主控模块的模块;n2.根据选定的结合策略,每次用一个实际模块代换一个桩模块新结合进来的模块往往又需要新的桩模块n4.为了保证参加模块没有引进新的错误,可能需要进展回归测试第15页,共31页。5.2 集成测试策略集成测试策略 ASBSCSD(a)测试AABSCSDSESF(b)测试BABCSDEFSG (e)测试CABCSDEFG(f)测试GABCDEFG(g)测试DABSCSDESF(c)测试EABSCSDEF(d)测试F图5.5 自顶向下集成第16页,共31页。5.2 集成测试策略集成测试策略n优点:在测试过程早期,对主要的控制点或判决点进展检验。在分解得很好的软件构造中,判决需要在构造层次的较高层确定。如果主要控制点有问题,早点认识到这个问题就变得很重要。如果选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能,可先对逻辑输入的分支进展组装和测试提供保证。此外,功能可行性较早得到证实,还能够给开发者和用户带来成功的信心。n缺点:在测试较高层模块时,低层处理采用桩模块替代,不能反映真实情况,重要数据不能及时回送到上层模块,因此测试并不充分 第17页,共31页。5.2 集成测试策略集成测试策略 2自底向上集成自底向上集成 自底向上测试从自底向上测试从“原子模块即在软原子模块即在软件构造最底层的模块开场组装和测试。件构造最底层的模块开场组装和测试。因为是从底部向上结合模块,总能得到所因为是从底部向上结合模块,总能得到所需的下层模块处理功能,所以不需要桩模需的下层模块处理功能,所以不需要桩模块。块。【例【例5.3】对如图】对如图5.3所示的程序,采所示的程序,采用自底向上集成方法,按照深度优先方式用自底向上集成方法,按照深度优先方式进展集成测试。进展集成测试。第18页,共31页。n用以下4个步骤实现自底向上的结合策略:n1.把低层模块组合成实现某个特定软件子功能的族;n2.写一个驱动程序用于测试的控制程序,以协调数据的输入和输出;n3.对由模块组成的子功能族进展测试;n4.去掉驱动程序,沿软件构造自下向上移动,把子功能族组合起来形成更大的子功能族。第19页,共31页。5.2 集成测试策略集成测试策略 测试E测试F测试G测试D测试(A、B、CD、E、F、G)图5.6 自底向上集成测试(B、E、F)测试(C、G)第20页,共31页。5.2 集成测试策略集成测试策略n优点:由于驱动模块模拟了所有调用参数,测试模块返回结果不影响驱动模块,生成测试数据也没有困难。如果关键模块是在构造图的底部,自底向上的测试是有优越性的。另外自底向上的组装测试不必开发桩模块。n缺点:当最后一个模块尚未测试时,还没有呈现出被测软件系统的雏形。第21页,共31页。5.2 集成测试策略集成测试策略 5.2.3 三明治集成 三明治集成是一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点。这种方法桩模块和驱动模块的开发工作都比较小,不过代价是在一定程度上增加了定位缺陷的难度。【例5.4】对如图5.3所示的程序,以B模块所在层为界,采用三明治集成方法进展集成测试。第22页,共31页。5.2 集成测试策略集成测试策略 测试E测试F测试G测试A测试(A、B、CD、E、F、G)图5.7 三明治集成测试(B、E、F)测试(C、G)第23页,共31页。5.3 集成测试用例设计集成测试用例设计 1为系统运行设计用例 可使用的主要测试分析技术有:1等价类划分。2边界值分析。3基于决策表的测试。第24页,共31页。5.3 集成测试用例设计集成测试用例设计 2为正向测试设计用例假设在严格的软件质量控制下,软件各个模块的接口设计和模块功能设计完全正确无误并且满足要求,那么作为正向集成测试的一个重点就是验证这些集成后的模块是否按照设计实现了预期功能。可是用如下几种主要测试分析技术:1输入域测试。2输出域测试。3等价类划分。4状态转换测试。5标准导出法。第25页,共31页。5.3 集成测试用例设计集成测试用例设计 3为逆向测试设计用例集成测试中的逆向测试包括分析被测接口是否实现了需求规格没有描述的功能,检查规格说明中可能出现的接口遗漏,或者判断接口定义是否有错误,以及可能出现的接口异常错误等。可使用的主要测试分析技术有:1错误猜测法。2基于风险的测试。3基于故障的测试。4边界值分析。5特殊值测试。6状态转换测试。第26页,共31页。5.3 集成测试用例设计集成测试用例设计 4为满足特殊需求设计用例 5为覆盖设计用例 可使用的主要测试分析技术有:1功能覆盖分析。2接口覆盖分析。第27页,共31页。5.4 集成测试过程集成测试过程 一个测试从开发到执行遵循一个过程,不同的组织对这个过程的定义会有所不同。根据集成测试不同阶段的任务,可以把集成测试划分为5个阶段:方案阶段、设计阶段、实施阶段、执行阶段、评估阶段。制定集成测试计划设计集成测试实施集成测试执行集成测试评估集成测试图5.8 集成测试过程第28页,共31页。思考题:n1.在集成测试过程中,为什么要设计桩模块和驱动模块?n2.何为正向测试?何为逆向测试?n3.从覆盖的角度来设计用例时,集成测试和单元测试有何区别?第29页,共31页。n4.对右图所示程序分别进展自顶向下、自底向上和三明治集成测试,给出测试过程。ABCDEFG第30页,共31页。谢谢第31页,共31页。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!