版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
集成测试测试过程单元测试集成测试系统测试为什么需要集成测试?
问题引入为什么总是集成不起来?主要内容集成测试概述基于功能分解的集成基于调用图的集成基于路径的集成案例7.1集成测试概述集成测试(Integrationtest)也叫组装测试或联合测试;是在单元测试的基础上,将所有模块按照设计要求集成为系统或子系统,在单元组装过程中,进行测试,发现并清除在单元连接过程中出现的问题,确保集成到一起的各单元能共同完成预期的功能,并达到要求的性能。集成测试与单元测试的区别:测试对象有所区别;集成测试关注的是模块间的接口,接口之间的数据传递关系,单元组合后是否实现预计的功能。集成测试组装的对象比单元测试的对象级别要高。集成测试与系统测试的区别:测试对象系统测试对象是整个系统以及与系统交互的硬件和软件平台。对系统做功能性的和非功能性验证。集成测试的对象是模块间的接口,其目的是要找出在模块接口上面的问题。测试依据系统测试的依据来自用户的需求规格说明书和行业的已成文的或事实上的标准。集成测试的依据来自系统的高层设计(架构设计或概要设计)。集成测试目的检查各个模块连接起来的时侯,穿越模块接口的数据是否会丢失;一个模块的功能是否会对另一个模块的功能产生不利的影响;各个子功能组合起来,能否达到预期要求的父功能;全局数据结构是否有问题;单个模块的误差累积起来,是否会放大?集成测试检查内容:功能正确性验证;接口测试;全局数据结构;计算精度等。
集成测试策略:基于功能分解的集成非渐增式集成渐增式集成:自顶向下、自底向上、三明治集成基于调用图的集成基于路径的集成7.2基于功能分解的集成实施策略非渐增式集成渐增式集成非渐增式集成定义又叫大棒集成(Big-bangIntegration)把所有通过了单元测试的模块按设计要求,一次全部组装起来,然后进行整体测试。例:假设要对某个系统的部分功能进行测试,其功能分解如图所示。ABEDC目的尽可能缩短测试时间,使用最少的测试用例验证系统。优点需要的测试用例少;测试方法简单易行;缺点难以保证对各个模块之间的接口进行充分测试;对全局数据结构的测试不够彻底;难以进行错误定位和修改;修改错误之后,需要集成回归测试;适用范围功能少,模块数量不多;产品质量和单元测试质量都相当高的情况;二.渐增式集成方式定义从一个模块开始,测一次添加一个模块,边组装边测试,以发现与接口相联系的问题。集成方式自顶向下集成自底向上集成三明治集成1.自顶向下集成定义自顶向下集成(Top-downIntegration)按照系统层次结构图,以主程序模块为中心,自上而下按照深度优先或者广度优先策略,对各个模块一边组装一边进行测试。深度优先A、B、E、J、K、C、F、L、G、D、H、M、N、I深度优先集成顺序:ABCDHGJEFIKLMNA、B、C、D、E、F、G、H、I、J、K、L、M、N广度优先集成顺序:ABCDHGJEFIKLMN广度优先自顶向下集成步骤:(1)以主模块为所测模块兼驱动模块,所有直属主模块的下属模块全部用桩模块对主模块进行测试;(2)依据所选的集成策略(深度优先或者广度优先),用实际模块代替相应的桩模块,每次只替代一个桩模块;(3)每集成一个模块立即测试一遍;
自顶向下集成步骤(续)(4)只有每组测试完成后,才着手替换下一个桩模块;(5)为避免引入新错误,须不断地进行回归测试;从第(2)步开始,循环执行上述步骤,直至整个程序结构构造完毕。例:ADBECF深度优先:A、B、E、C、D、F广度优先:A、B、C、D、E、F自顶向下集成深度优先A加入ES2BS3EA测试AS2S1S3A加入BS2BS3S4加入FCBDEAFA加入CCBS3E加入DCBDEAS5自顶向下集成的优点可以较早的验证主要的控制和判断点;选择深度优先模式,可以首先实现和验证一个完整的软件功能,能够较早的验证功能可行性,带来信心;只需一个驱动,减少了测试驱动程序开发费用;支持故障隔离。自顶向下集成的缺点桩模块的开发和维护费用大;底层模块验证被推迟;底层模块的需求变更可能会影响到全局组件,需要修改整个系统的多个上层模块;可能会导致底层模块,特别是被重用的模块测试不够充分。要求控制模块具有比较高的可测试性;自顶向下集成适用范围控制结构比较清晰和稳定的应用程序;高层的模块接口变化比较小;底层模块接口未定义或经常可能被修改;产品中的控制模块技术风险较大,需要提前验证;需要尽早看到产品的系统功能行为;2.自底向上集成定义自底向上集成(Bottom-upIntegration)从依赖性最小的底层模块开始,按照层次结构图,逐层向上集成,验证系统。最常用的集成策略,其他方法都或多或少应用此种方法。自底向上集成步骤由驱动模块控制最底层模块进行测试;用实际模块代替驱动模块,与它已测试的直属子模块集成为子系统;为子系统配备驱动模块,进行新的测试。判断是否已集成到达主模块,是否结束测试,否则执行2;为避免引入新错误,还需要不断地进行回归测试。举例:ACBDFEEd1Cd3Fd4EBd2Dd5FACBDFE自底向上集成的优点可以尽早的验证底层模块的行为;底层模块可以并行集成,提高了测试效率;减少了桩模块的工作量;容易对错误进行定位;自底向上集成的缺点驱动模块的设计工作量大;直到最后一个模块加进去之后才能看到整个系统的框架;只有到测试过程的后期才能发现时序问题和资源竞争问题;不能及时发现高层模块设计上的错误。自底向上集成适用范围底层模块接口比较稳定的产品;高层模块接口变更比较频繁的产品;底层模块开发和单元测试工作完成较早的产品。3.三明治集成定义三明治集成方法(SandwichIntegration)三明治集成是一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点。方法一般对软件结构的上层使用自顶向下结合的方法;对下层使用自底向上结合的方法;举例
用三明治集成方式如何测试?ADBECF优点具有自顶向下和自底向上两种集成策略的优点;运用一定的技巧,能够减少了桩模块和驱动模块的开发。缺点在被集成之前,中间层不能尽早得到充分的测试。适用范围适用于大部分软件开发项目;练习ABCEFGDHJIKL画出集成测试的步骤:自顶向下和自底向上。7.3基于调用图的集成调用图调用图是一种有向图,反映程序中各模块之间的调用关系。基于调用图的集成成对集成相邻集成1.成对集成成对集成的思想就是在调用图的基础上,尽可能免除桩/驱动器开发工作而引入的。成对集成的方法就是对应调用图的每一条边建立并执行一个集成测试会话。例:2.相邻集成相邻节点有向图中,节点邻居包括所有直接前驱节点和直接后继节点;
相邻集成可大大降低集成测试的会话数量,并可避免桩和驱动器的开发;相邻集成具有“中爆炸”集成的缺陷:隔离困难;调用图中邻居数量:内部节点=节点-(源节点+汇节点)邻居=内部节点+源节点邻居=节点-汇节点例:基于调用图的集成的优缺点优点接口关系测试充分;测试集中于衔接的功能性;免除了桩/驱动器开发工作量。缺点调用或协作的关系可能是错综复杂的;要充分测试底层模块较困难缺陷隔离问题困难。7.4基于路径的集成源节点指程序执行开始或重新开始处的语句片断。汇节点程序执行结束处的语句片断。这里转移控制到其它单元的节点也是汇节点。模块执行路径以源节点开始、以汇节点结束的一系列语句,中间没有插入汇节点。A124356B1234C12345消息消息是一种程序设计语言机制,通过这种机制可以把控制从一个单元转移到另一个单元。MM-路径MM-路径是穿插出现模块执行路径和消息的序列;对于传统软件来说,MM-路径永远是从主程序开始,在主程序中结束;注意:MM-路径不是可执行路径,并且要跨越单元边界。MM-路径图给定一组单元,其MM-路径图是一种有向图,其中节点表示模块执行路径,边表示消息和单元之间的返回。注意:MM-路径图是按照一组单元定义的。例:图1模块中的调用路径模块执行路径:MEP(A,1)=<1,2,3,6>MEP(A,2)=<1,2,4>MEP(A,3)=<5,6>MEP(B,1)=<1,2>MEP(B,2)=<3,4>MEP(C,1)=<1,2,4,5>MEP(C,2)=<1,3,4,5>A124356B1234C12345例:从图1中导出的MM-路径图MEP(A,2)MEP(B,1)MEP(C,1)MEP(B,2)MEP(C,2)MEP(A,3)MEP(A,1)实线箭头表示消息,虚线箭头表示返回。MM-路径的深度MM-路径末端点有两点可观察的行为准则,即消息静止和数据静止。消息静止当到达不发送消息的结点时,消息静止发生。例如图1中的模块C。数据静止创建不立即使用的存储数据序列。MM-路径复杂度V(G)=e–n+2p对于结构化过程代码,p=1。基于MM-路径的测试设计测试用例覆盖MM-路径。基于路径集成的特点功能性和结构性的一种混合表达上:功能性;标识方式上:结构性;集成测试和系统测试无逢连接;缺点:标识MM-路径的工作量很大;7.5其它集成测试方法1.高频集成2.基于功能的集成3.基于进度的集成4.基于风险的集成5.客户/服务器的集成6.分布式集成7.面向对象集成见教材160页集成测试策略的选取一次性集成多用于系统规模较小的测试项目中;自顶向下集成(较少使用)、自底向上集成(较常使用)、混合式集成则多用于采用结构化方法开发的软件项目中;基于使用的集成方式用于面向对象系统中;高频集成方式广泛地被使用于许多复杂软件项目的集成测试过程中;应结合软件项目的具体特点和开发环境合理地选择集成测试策略,以充分发挥各方式的优点。7.6集成测试的过程集成测试计划集成测试设计集成测试实现集成测试执行集成测试评估1.制定集成测试计划集成测试计划的内容有:确定集成测试对象和测试范围;确定集成测试阶段性时间进度;确定测试角色和分工;考虑外部技术支援的力度和深度,以及相关培训安排;初步考虑测试环境和所需资源;集成测试活动风险分析和应对;定义测试完成标准;2.集成测试分析和设计具体工作内容:确定测试需求确定集成策略评估测试风险确定测试优先级确定测试方法集成代码设计集成测试用例设计集成测试工具和资源613.集成测试实现该阶段主要工作是依据测试大纲和详细设计分析开发测试用例、测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026工业软件云化转型对传统授权模式冲击研究
- 2027届广东省三校物理高三第一学期期中监测模拟试题含解析
- 小学三年级科学《液体受热遇冷会怎样》教学设计:基于模型构建的证据推理实践
- 初级网络安全等级保护测评师职业资格考试模拟题及答案详解
- 2026年南宁市兴宁区教育局校(园)长招聘考试模拟题及答案详解
- 2026年中国移动互联网行业现状分析报告
- 山东2026年事业编招聘考试模拟题及答案详解
- 人工智能训练师考试模拟题及答案详解
- 2026年监理目标控制(土建)模拟题及答案详解
- 无忧考网2026年一级造价工程师安装计量考试模拟题及答案详解
- 化学(27-15C)湖南金太阳部分学校暨郴州市2026-2027学年高三上学期8月阶段检测(27-15C)(8.27-8.28)
- X射线衍射原理及应用共76张课件
- 第3课 团团圆圆过中秋 课件(内嵌视频)2026-2027学年道德与法治二年级上册统编版
- 2026年医疗安全不良事件考试试卷考核题含答案
- GB/T 24246-2026辐射防护仪器用于探测非法贩运放射性物质和核材料的门式辐射监测系统
- 新版部编版四年级上册语文第二单元教案教学设计及教学反思
- 旅游管理的职业生涯规划
- 游乐场项目策划方案
- 学校办公室主任年度考核个人述职报告(四篇合集)
- 2024年中国北方工业有限公司招聘笔试参考题库含答案解析
- 基于cfd的溢洪道挑流鼻坎挑流三维数值模拟
评论
0/150
提交评论