软件测试集成测试课件_第1页
软件测试集成测试课件_第2页
软件测试集成测试课件_第3页
软件测试集成测试课件_第4页
软件测试集成测试课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

为什么总是集成不起来?集成测试Integration

Testing2梁瑞仕liangrs@第5章

集成测试

什么是集成测试

集成测试策略

集成测试用例设计

集成测试过程

面向对象的集成测试34软件测试的过程被测模块单元测试设计信息集成测试被测模块单元测试被测模块测试过单元的模块测试确认测试系统测试软件需求其它系统元素装配好的软件确认的软件可运行的软件5什么是集成测试也叫做组装测试、联合测试、子系统测试和部件测试。是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,进行集成测试。单元测试、集成测试与系统测试的差别对象目的测试依据测试方法单元测试模块内部程序错误消除局部模块逻辑和功能上的错误和缺陷模块逻辑设计模块外部说明大量采用白盒测试方法集成测试模块间的集成和调用关系找出与软件设计相关的程序结构,模块调用关系,模块间接口方面的问题程序结构设计灰盒测试,采用较多黑盒方法构造测试用例系统整个测试系统,包括系统软硬件等对整个系统进行一系列的整体、有效性测试系统结构设计目标说明书

需求说明书等黑盒测试6集成测试关注的重点7在把各个模块连接起来时,穿越模块接口的数据是否

会丢失。各个子功能组合起来,能否达到预期要求的父功能。一个模块的功能是否会对另一个模块的功能产生不利的影响。全局数据结构是否有问题,会不会被异常修改。单个模块的误差积累起来,是否会放大,从而达到不可以接受的程度。集成测试的层次产品开发过程:一个分层设计和逐步细化的过程系统结构图:8软件结构图:9软件模块结构图:集成测试的层次10可分成3个层次:模块内集成测试子系统内集成测试子系统间集成测试面向对象的应用系统来说,可分为2个层次:类内集成测试类间集成测试集成测试的原则(1)所有公共接口必须被测试到;(2)关键模块必须进行充分测试;(3)集成测试应当按一定层次进行;(4)集成测试策略选择应当综合考虑质量、成本和进度三者之间的关系;(5)集成测试应当尽早开始,并以概要设计为基础;(6)在模块和接口的划分上,测试人员应该和开发人员进行充分沟通;(7)当测试计划中的结束标准满足时,集成测试才能结束;(8)当接口发生修改时,涉及到的相关接口都必须进行回归测试;(9)集成测试应根据集成测试计划和方案进行,不能随意测试;(10)项目管理者应保证测试用例经过审核;(11)测试执行结果应当如实的记录。第5章

集成测试

什么是集成测试

集成测试策略

集成测试用例设计

集成测试过程

面向对象的集成测试12集成测试策略13非增量方式先测试好每一个软件单元,然后一次组装在一起再测试整个程序。增量方式逐步把下一个要被组装的软件单元或部件,

同已测好的软件部件结合起来测试。增量方式主要包括自顶向下、自底向上、

自顶向下与自底向上相结合等方法。集成测试策略14非增量方式大爆炸(Big

Bang)增量方式自顶向下方法(Bottom-Up)自底向上方法(Top-Down)“三明治”方法(Sandwich)15大爆炸集成(Big

Bang)将所有系统组件一次性集合到被测系统中d1、d2、d3、d4、d5是为单元测试时建立的驱动模块s1、s2、s3、s4、s5是为单元测试而建立的桩模块大爆炸集成(Big

Bang)16优点:可以迅速完成集成测试;并且只要极少数的驱动和桩模块;用例也是最少的;简单;资源利用率高缺点:一次试运行成功的可能性不大,问题定位和修改比较困难,许多接口错误很容易躲过测试。适应于一个维护型项目或被测试系统较小集成测试策略17非增量方式大爆炸(Big

Bang)增量方式自顶向下方法(Bottom-Up)自底向上方法(Top-Down)“三明治”方法(Sandwich)自顶向下方法(Bottom-Up)18从顶层控制开始,采用同设计顺序一样的思路

对被测系统进行测试,以验证系统的接口稳定性集成的方式有两种:深度优先组装法广度优先组装法深度优先组装方式19广度优先组装方式20集成步骤21以主模块为所测模块🖃驱动模块,所有直属于主

模块的下属模块全部用桩模块对主模块进行测试。采用深度优先或广度优先的策略,用实际模块替换相应桩模块,再用桩代替它们的直接下属模块,

与已测试的模块或子系统集成为新的子系统。进行回归测试(即重新执行以前做过的全部测试或部分测试),排除集成过程中引起错误的可能。判断是否所有的模块都已集成到系统中,是则结束测试,否则转到(2)去执行。优缺点分析22优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。优缺点分析23缺点:桩的开发量大;底层验证被推迟;底层组件测试不充分。适用范围24产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。实例对如图5.3所示的程序,采用自顶向下集成方法,按照深度优先方式进行集成测试。ABCDEFG图5.3程序结构图实例ASBSCSD(a)测试AABSCSDSESF(b)测试BABCSDEFSG(e)测试CABCSDEFG(f)测试GABCDEFG(g)测试DABSCSDESF(c)测试EABSCSDEF(d)测试F图5.5自顶向下集成自底向上方法(Top-Down)从具有最小依赖性的底层组件开始,按照依赖关系树的结构,逐层向上集成,以检验系统的

稳定性。集成示意图:27集成步骤28起始于模块依赖关系树的底层叶子模块,也可

以把两个或多个叶子模块合并到一起进行测试使用驱动模块对步骤1选定的模块(或模块组)进行测试用实际模块代替驱动模块,与它已测试的直属子模块组装成一个更大的模块进行测试重复上面的行为知道系统最顶层模块被加入到

已测系统中优缺点分析29优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的工作量;支持故障隔离。优缺点分析30缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。适用范围:适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。实例测试E测试F测试G测试(A、B、CD、E、F、G)测试D图5.6自底向上集成测试(B、E、F)测试(C、G)“三明治”方法(Sandwich)32混合式集成把系统划分成三层,中间一层为目标层,目标

层之上采用自顶向下集成,之下采用自底向上集成三明治集成策略33集成步骤34首先对目标层之上一层使用自顶向下集成,因此测试A,使用桩代替B,C,D其次对目标层之下一层使用自底向上集成,因此测试E,F,使用驱动代替B,D其三,把目标层下面一层与目标层集成,因此测试(B,E),(D,F),使用驱动代替A最后,把三层集成到一起,因此测试(A,B,C,D,E,F)优缺点分析35优点:集合了自顶向下和自底向上两种策略的优点缺点:中间层测试不充分适用范围:适应于大部分软件开发项目修改过的三明治集成36实例测试E测试F测试G测试(A、B、CD、E、F、G)测试A图5.7三明治集成测试(B、E、F)测试(C、G)第5章

集成测试

什么是集成测试

集成测试策略

集成测试用例设计

集成测试过程

面向对象的集成测试381、为系统运行设计用例39目的:测试各个模块的接口是否能用,验证系统最基本功能可使用的主要测试分析技术有:等价类划分。边界值分析。基于决策表的测试。2、为正向测试设计用例40目的:验证集成后的模块是否按照设计实现了预期的功能。可使用如下几种主要测试分析技术:(1)输入域测试。输出域测试。等价类划分。状态转换测试。规范导出法。正向测试是指,当你输入一个有效的输入并且期望软件能够完成一些根据说明书规定的行为。3、为逆向测试设计用例目的:测试是否多余功能、接口遗漏、接口错误、接口异常。可使用的主要测试分析技术有:错误猜测法。基于风险的测试。基于故障的测试。边界值分析。特殊值测试。状态转换测试。逆向测试是指,当你输入无效的输入时并且期41望得到一个错误的信息。集成测试用例设计424、为满足特殊需求设计用例可使用的主要测试分析技术为规范导出法。为高覆盖设计用例可使用的主要测试分析技术有:功能覆盖分析。接口覆盖分析。第5章

集成测试

什么是集成测试

集成测试策略

集成测试用例设计

集成测试过程

面向对象的集成测试4344集成测试流程计划阶段设计阶段实现阶段执行阶段分析评估缺陷跟踪根据项目组提供设计模型和集成构建计划,制定出适合本项目的集成测试计划根据集成测试计划和设计模型设计集成测试用例及测试过程获取工作版本后,由测试设计员创建测试脚本(可选)、更新测试过程,由设计员负责设计驱动程序和桩,实施员负责实施驱动和桩测试人员根据测试脚本(可选)和工作版本执行集成测试,并记录测试结果依照集成测试计划和测试结果,由测试设计员负责会同集成员、编码员、设计人员评估此次测试,并生成测试评估摘要45计划阶段输入需求规格说明书概要设计文档产品开发计划路标输出集成测试计划46计划阶段活动步骤确定被测试对象和测试范围评估集成测试被测试对象的数量及难度,即工作量确定角色分工和划分工作任务标识出测试各阶段的时间、任务、约束等条件考虑一定的风险分析及应急计划考虑和准备集成测试需要的测试工具、测试仪器、环境等资源考虑外部技术支援的力度和深度,以及相关培训安

排定义测试完成标准47设计阶段输入需求规格说明书概要设计集成测试计划输出集成测试设计方案48设计阶段活动步骤被测对象结构分析集成测试模块分析集成测试接口分析集成测试策略分析集成测试工具分析集成测试环境分析集成测试工作量估计和安排体系结构分析从两个角度出发划分出系统实现上的结构层次图划分系统组件之间的依赖关系图49模块的大小驱动和桩模块数量消息接口的复杂度……50模块分析51模块划分可以从以下几个角度出发考虑:本次测试主要希望测试哪个模块这个模块与哪几个模块有最密切的关系把该模块与关系最密切的模块首先集成在一起再考虑外围模块,消息流是否容易模拟,是否方便控制接口分析52接口分析可以通过以下几个步骤来完成:确定系统的边界、子系统的边界和模块的边界确定模块内部的接口确定子系统内模块间接口确定子系统间接口确定系统与操作系统的接口确定系统与硬件的接口确定系统与第三方软件的接口环境分析53可以从以下几个方面进行硬件环境操作系统环境数据库环境网络环境集成测试环境示意图54实现阶段55输入需求规格说明书概要设计集成测试计划集成测试设计输出集成测试用例集成测试规程集成测试代码、集成测试脚本、集成测试工具(如果有)实现阶段56活动步骤集成测试用例设计集成测试规程设计集成测试代码设计(如果需要)集成测试脚本(如果需要)集成测试工具(如果需要)执行阶段57输入需求规格说明书概要设计集成测试计划集成测试设计集成测试用例集成测试规程58执行阶段集成测试代码(如果有)集成测试脚本(如果有)集成测试工具(如果有)详细设计代码单元测试报告输出集成测试报告执行阶段59活动步骤执行集成测试用例回归集成测试用例撰写集成测试报告相应过程的测试文档计划阶段设计阶段实现阶段执行阶段分析评估缺陷跟踪集成测试计划集成测试设计方案集成测试用例、规

程、(代码、脚本、工具)集成测试报告605.5

面向对象的集成测试5.5.1对象交互对象交互涵盖了程序中的绝大部分活动。它包括了对象及其组件的消息,还包括了对象和与之相关的其他对象之间的消息。对象的正确协作(即交互)对于程序的正确性是非常重要的。对象交互的测试方法:原始类、汇集类、协作类,分别讨论。原始类的测试使用类的单元测试方法。5.5

面向对象的集成测试

1.汇集类测试可以使用测试原始类的方法来测试汇集类,测试驱动程序要创建一些实例,这些实例作为消息中的参数被传递给一个正在测试的集合。测试

温馨提示

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

评论

0/150

提交评论