软件测试技术(第三版) 课件 第6章 集成测试_第1页
软件测试技术(第三版) 课件 第6章 集成测试_第2页
软件测试技术(第三版) 课件 第6章 集成测试_第3页
软件测试技术(第三版) 课件 第6章 集成测试_第4页
软件测试技术(第三版) 课件 第6章 集成测试_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章

集成测试6.1集成测试概述集成测试(Integrationtest)也叫组装测试或联合测试是在单元测试的基础上,将所有模块按照设计要求集成为系统或子系统,在单元组装过程中,进行测试,发现并清除在单元连接过程中出现的问题,确保集成到一起的各单元能共同完成预期的功能,并达到要求的性能。集成测试与单元测试的区别测试对象有所区别;集成测试关注的是模块间的接口,接口之间的数据传递关系,单元组合后是否实现预计的功能。集成测试组装的对象比单元测试的对象级别要高。集成测试与系统测试的区别测试对象系统测试对象是整个系统以及与系统交互的硬件和软件平台。对系统做功能性的和非功能性验证。集成测试的对象是模块间的接口,其目的是要找出在模块接口上面的问题。测试依据系统测试的依据来自用户的需求规格说明书和行业的已成文的或事实上的标准。集成测试的依据来自系统的高层设计(架构设计或概要设计)。集成测试目的集成测试的目标就是检测系统是否达到需求;对业务流程及数据流的处理是否符合标准;检测系统对业务流处理是否存在逻辑不严谨或者错误;检测需求是否存在不合理的标准及要求。具体检测包括功能正确性验证、接口测试、全局数据结构的测试以及计算精度检测等在集成测试时可能出现的错误。基于功能分解的集成非渐增式集成渐增式集成:自顶向下、自底向上、三明治集成基于调用图的集成基于UML的集成6.2集成测试的方法非渐增式集成-大棒集成定义又叫大棒集成(Big-bangIntegration)。所有通过了单元测试的模块按设计要求,一次全部组装起来,然后进行整体测试。目的尽可能缩短测试时间,使用最少的测试用例验证系统。优点需要的测试用例少;测试方法简单易行;缺点难以保证对各个模块之间的接口进行充分测试;对全局数据结构的测试不够彻底;难以进行错误定位和修改;修改错误之后,需要集成回归测试;适用范围功能少,模块数量不多;产品质量和单元测试质量都相当高的情况;非渐增式集成-大棒集成渐增式集成方法定义从一个模块开始,测一次添加一个模块,边组装边测试,以发现与接口相联系的问题。集成方法自顶向下集成自底向上集成三明治集成1.自顶向下集成定义自顶向下集成(Top-downIntegration)按照系统层次结构图,以主程序模块为中心,自上而下按照深度优先或者广度优先策略,对各个模块一边组装一边进行测试。CBDEAF深度优先A加入ES2BS3EA测试AS2S1S3S3A加入BS2BS4加入FCBDEAFA加入CCBS3E加入DCBDEAS5广度优先A加入CCBS3S4A测试AS2S1S3S3A加入BS2BS4加入FCBDEAFA加入DCBDS4加入ECBDEAS5练习ABCDHGJEFIKLMNA、B、E、J、K、C、F、L、G、D、H、M、N、I深度优先A、B、C、D、E、F、G、H、I、J、K、L、M、N广度优先自顶向下集成步骤:(1)以主控模块作为测试驱动模块,把对主控模块进行单元测试时引入的所有桩模块用实际模块替代(2)依据所选的集成策略,每次只替代一个桩模块(3)每集成一个模块立即测试一遍(4)只有每组测试完成后,才着手替换下一个桩模块(5)为避免引入新错误,须不断地进行回归测试从第(2)步开始,循环执行上述步骤,直至整个程序结构构造完毕。2.自底向上集成定义自底向上集成(Bottom-upIntegration)从系统层次结构图的最底层模块开始进行组装和集成测试的方式。自底向上集成步骤<1>从最底层的模块开始组装,组合成一个能够完成某个子功能的构件;<2>编制驱动程序,协调测试用例的输入与输出;<3>测试集成后的构件;<4>使用实际模块代替驱动程序,按程序结构向上组装测试后的构件;<5>重复上面的第二步,直到系统的最顶层模块被加入到系统中为止。举例:ACBDFEEd1Cd3Fd4EBd2Dd5FACBDFE自底向上集成优点可以尽早的验证底层模块的行为。提高了测试效率;对实际被测模块的可测试性要求较少;减少了桩模块的工作量;容易对错误进行定位。缺点直到最后一个模块加进去之后才能看到整个系统的框架;只有到测试过程的后期才能发现时序问题和资源竞争问题;驱动模块的设计工作量大;不能及时发现高层模块设计上的错误。自底向上集成适用范围

底层模块接口比较稳定的产品;高层模块接口变更比较频繁的产品;底层模块开发和单元测试工作完成较早的产品。3.三明治集成定义三明治集成方法(SandwichIntegration)三明治集成是一种混合增殖式测试策略,综合了自顶向下和自底向上两种集成方法的优点。方法一般对软件结构的上层使用自顶向下结合的方法;对下层使用自底向上结合的方法;优点除了具有自顶向下和自底向上两种集成策略的优点之外,运用一定的技巧,能够减少了桩模块和驱动模块的开发。缺点在被集成之前,中间层不能尽早得到充分的测试。6.2.2基于调用图的集成调用图是一种有向图,它反映了程序中模块之间的调用关系。基于调用图的集成测试就是根据其调用关系来设计和实施。基于调用图的集成有两种:成对集成相邻集成1、成对集成成对集成的思想就是免除桩/驱动器开发工作,使用实际代码来代替桩/驱动器。成对集成的方法就是对应调用图的每一个边建立并执行一个集成测试会话。2.相邻集成相邻节点有向图中,节点邻居包括所有直接前驱节点和直接后继节点相邻集成可大大降低集成测试的会话数量,并可避免桩和驱动器的开发相邻集成本质上是三明治集成相邻集成具有“中爆炸”集成的缺陷:隔离困难基于调用图的集成的优缺点优点接口关系测试充分;测试集中于衔接的功能性;免除了桩/驱动器开发工作量。缺点调用或协作的关系可能是错综复杂的;要充分测试底层模块较困难缺陷隔离问题困难。在面向对象的集成测试中,我们把一组相互有影响的类看作一个整体称为类簇。类簇测试主要根据系统中相关类的层次关系,检查类之间的相互作用的正确性,即检查各相关类之间消息连接的合法性、子类的继承性与超类的一致性、动态绑定执行的正确性、类簇协同完成系统功能的正确性等等。策略:基于类间协作关系的横向测试基于类间继承关系的纵向测试6.2.3基于UML的集成可以根据协同关系来设计集成测试的方案,其实质就是基于调用的集成。可以采用成对集成和相邻集成的方法。1.基于UML协同图分解的集成测试UML序列图是按时间的顺序来描述对象之间交互的模型。由系统的一个输入事件作为激励,对其触发的一组类进行测试,执行相应的操作/消息处理路径。2.基于UML序列图分解的集成测试集成测试就是测试单元在集成时是否有缺陷,通过测试以识别组合单元时出现的问题。

集成测试的方法策略可以粗略的划分成非增量型集成测试和增量型(渐增式)集成测试。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论