软件测试第六章-集成测试.ppt

上传人:牧羊曲112 文档编号:5319423 上传时间:2023-06-25 格式:PPT 页数:70 大小:1.69MB
返回 下载 相关 举报
软件测试第六章-集成测试.ppt_第1页
第1页 / 共70页
软件测试第六章-集成测试.ppt_第2页
第2页 / 共70页
软件测试第六章-集成测试.ppt_第3页
第3页 / 共70页
软件测试第六章-集成测试.ppt_第4页
第4页 / 共70页
软件测试第六章-集成测试.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《软件测试第六章-集成测试.ppt》由会员分享,可在线阅读,更多相关《软件测试第六章-集成测试.ppt(70页珍藏版)》请在三一办公上搜索。

1、集成测试,内容,引言基本概念集成测试的目的集成测试的层次集成测试方法集成策略,一、引言,单元测试后问题出现了软件在系统集成时会经常有这样的情况发生:即每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作;或是系统集成后虽可以正常运行,但系统的容错性、安全性以及整体性却得不到保障,系统不能长时间运行等等。这就需要进行集成测试和系统测试,以找出其中的软件缺陷,来提高整个软件的质量和可靠性。,一、基本概念,集成测试又称组装测试,是在单元测试的基础上,将所有模块按照设计要求组装成子系统或系统进行的测试活动。又称子系统测试、联合测试。,5,软件测试的过程,6,单元测试、集成测试与系统测试的差别,

2、集成测试,系统测试,单元测试,三、集成测试的目的,确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确,所测试的内容包括单元间的接口以及集成后的功能。具体来说,集成测试考虑以下问题:,三、集成测试的目的,1.在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;2.各个子功能组合起来,能否达到预期要求的父功能;3.一个模块的功能是否会对另一个模块的功能产生不利的影响;4.全局数据结构是否有问题5.单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。,集成测试有以下不可替代的特点:单元测试具有不彻底性,对于模块间接口信息内容的正确性、相互调用关系是否符合设计无能为力。只

3、能靠集成测试来进行保障。同系统测试相比,由于集成测试用例是从程序结构出发的,目的性、针对性更强,测试项发现问题的效率更高,定位问题的效率也较高;能够较容易地测试到系统测试用例难以模拟的特殊异常流程,从纯理论的角度来讲,集成测试能够模拟所有实际情况;定位问题较快,由于集成测试具有可重复强、对测试人员透明的特点,发现问题后容易定位,所以能够有效地加快进度,减少隐患。,三、集成测试的目的,10,四、集成测试的层次,产品开发过程:一个分层设计和逐步细化的过程系统结构图:,11,软件结构图:,软件模块结构图:,四、集成测试的层次,由集成的力度不同,一般可以把集成测试划分为三个级别:(1)模块内集成测试。

4、(2)子系统内集成测试:先测试子系统内的功能模块,然后将各个功能模块组合起来确认子系统的功能是否达到预期要求。(3)子系统间集成测试:测试的单元是子系统之间的接口。子系统是可单独运行的程序或进程。,五、集成测试方法,静态测试技术针对概要设计的测试(什么是概要设计?)动态测试技术灰盒测试(什么是灰盒测试?),灰盒测试的优点:能够进行基于需求的测试和基于路径的覆盖测试。可深入被测对象的内部,便于错误的识别分析和解决。能够保证设计的黑盒测试用例的完整性,防止功能或功能组合的遗漏能够减小需求或设计不详细或不完整性对测试有效性造成影响。,五、集成测试方法,六、集成策略,指在测试对象分析基础上,描述软件模

5、块集成的方式、方法。我们已经知道,集成测试是把功能模块或程序单元组合起来进行测试,发现模块在组合过程中的缺陷。那么,系统中的各个模块如何组合呢?是全部同时组装还是逐渐组装模块?这是集成策略将要解答的问题。,集成的基本策略比较多,分类比较复杂,但是都可以归结为以下两类:非增量式集成策略一步到位 NonIncremental Testing 增量式集成策略逐步实现Incremental Testing,6.1 非增量式集成策略,非增量式测试是采用一步到位的方法来构造测试:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。又叫大爆炸式集成(Big B

6、ang),非增量式测试(Big-bang testing),非增量式集成测试实例,(1)程序结构图,(3)集成测试示意图,(2)单元测试示意图,非增量式策略实例,评述:模块d1、d2、d3、d4、d5是对各个模块做单元测试时建立的驱动模块,s1、s2、s3、s4、s5是为单元测试而建立的桩模块。这种一次性集成方式将所测模块连接起来进行测试,但是一次试运行成功地可能性并不大。其结果发现有错误,但茫然找不到原因,差错和改错都会遇到困难。适应于 一个维护型或被测试系统较小 的项目,非增量式策略,优点:方法简单允许多测试人员同时并行工作,人力物力资源利用率较高缺点必须为每个模块准备相应的驱动模块和桩模

7、块,测试成本较高一旦集成后包含多种错误,难以纠正。,关键模块问题,在非增量式集成测试时,应当确定关键模块,对这些关键模块及早进行测试。关键模块的特征:完成需求规格说明中的关键功能;在程序的模块结构中位于较高的层次(高层控制模块);较复杂、较易发生错误;有明确定义的性能要求。,6.2增量式集成策略,增量式测试的集成是逐步实现的:逐次将未曾集成测试的模块和已经集成测试的模块(或子系统)结合成程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。,按照不同的实施次序,增量式集成测试又可以分为三种不同的方法:(1)自顶向下增量式测试(2)自底向上增量式测试(3)三

8、明治增量式测试(混合增量式测试),6.2增量式集成策略,6.2.1 自顶向下增量测试,自顶向下增量式测试表示逐步集成和逐步测试是按照结构图自上而下进行的,即模块集成的顺序是首先集成主控模块(主程序),然后依照控制层次结构向下进行集成。从属于主控模块的按深度优先方式(纵向)或者广度优先方式(横向)集成到结构中去。,深度优先方式:首先集成在结构中的一个主控路径下的所有模块,主控路径的选择是任意的。广度优先方式:首先沿着水平方向,把每一层中所有直接隶属于上一层的模块集成起来,直到底层。,自顶向下集成测试的整个过程由3个步骤完成:(1)主控模块作为测试驱动器。(2)根据集成的方式(深度或广度),下层的

9、桩模块一次一次地被替换为真正的模块。(3)在每个模块被集成时,都必须进行单元测试。重复第2步,直到整个系统被测试完成。,6.2.1 自顶向下增量测试,28,深度优先组装方式,29,广度优先组装方式,30,优缺点分析,优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。,31,优缺点分析,缺点:桩的开发量大;底层验证被推迟;底层组件测试不充分。,练习一下,对如下结构采用自顶向下深度优先策略进行测试,解:,自顶向下增量式集成适用范围:,产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定

10、义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。,6.2.2 自底向上增量式测试,从具有最小依赖性的底层组件开始,按照依赖关系树的结构,逐层向上集成,以检验系统的稳定性。最常用的集成策略,其他方法都或多或少应用此种方法。,自底向上进行集成和测试时,需要为所测模块或子系统编制相应的驱动模块。常见的几种类型的驱动模块如图所示:,驱动程序Driver A,驱动程序Driver B,驱动程序Driver C,驱动程序Driver D,调用从属模块,从表(或外部文件)中传递参数,显示参数,兼有驱动程序B、C的功能,表示传送的参数信息,6.2.2 自底

11、向上增量式测试,自底向上增量式集成测试步骤:,(1)起始于模块依赖关系树的底层叶子模块,也可以把两个或多个叶子模块合并到一起进行测试(2)使用驱动模块对步骤选定的模块(或模块组)进行测试(3)用实际模块代替驱动模块,与它已测试的直属子模块组装成一个更大的模块进行测试(4)重复上面的行为,直到系统最顶层模块被加入到已测系统中,自底向上增量式测试,39,优缺点分析,优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的工作量;能较好锁定软件故障所在位置。,40,优缺点分析(续),缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。适用范围:适应于底层

12、接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。,41,6.2.3“三明治”方法(Sandwich),混合式集成把系统划分成三层,中间一层为目标层,目标层之上采用自顶向下集成,之下采用自底向上集成,42,三明治集成策略,43,集成步骤,(1)首先对目标层之上一层使用自顶向下集成,因此测试A,使用桩代替B,C,D(2)其次对目标层之下一层使用自底向上集成,因此测试E,F,使用驱动代替B,D(3)其三,把目标层下面一层与目标层集成,因此测试(B,E),(D,F),使用驱动代替A(4)最后,把三层集成到一起,因此测试(A,B,C,D,E,F),44,优缺点分析,优点:集合了自顶向下和自底向上

13、两种策略的优点缺点:中间层测试不充分适用范围:适应于大部分软件开发项目,改进后的三明治集成方法,改进的三明治集成方法,不仅自两头向中间集成,而且保证每个模块得到单独的测试,使测试进行得比较彻底。,改进的三明治集成方法,集成策略框图,七、不同集成测试方法的比较,1、非增量式测试与增量式测试的比较非增量式测试的方法是先分散测试,然后集中起来再一次完成集成测试。假如在模块的接口处存在错误,只会在最后的集成测试时一下子暴露出来。增量式测试是逐步集成和逐步测试的方法,把可能出现的差错分散暴露出来,便于找出问题和修改。而且一些模块在逐步集成的测试中,得到了较多次的考验,因此,可能会取得较好的测试效果。结论

14、:增量式测试要比非增量式测试具有一定的优越性。,七、不同集成测试方法的比较,2、自顶向下与自底向上增量式测试的比较自顶向下增量式测试:主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架。主要缺点是需要提供桩模块,并且在输入/输出模块接入系统以前,在桩模块中表示测试数据有一定困难。自底向上增量式测试:优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也无困难。主要缺点在于,直到最后一个模块被加进去之后才能看到整个程序(系统)的框架。,三种增量测试比较,作业:画图给出集成测试的步骤(自顶向下,自底向上),八、集成测试流程,集成测试主要由系统

15、部的系统设计人员、软件评测部完成,开发人员也参与集成测试。集成测试相对来说是挺复杂的,而且对于不同的技术、平台和应用差异也比较大,更多是和开发环境融合在一起。集成测试所确定的测试的内容,主要来源于设计模型。,54,集成测试流程,根据项目组提供设计模型和集成构建计划,制定出适合本项目的集成测试计划,根据集成测试计划和设计模型设计集成测试用例及测试过程,获取工作版本后,由测试设计员创建测试脚本(可选)、更新测试过程,由设计员负责设计驱动程序和桩,测试员负责测试驱动和桩,测试人员根据测试脚本(可选)和工作版本执行集成测试,并记录测试结果,依照集成测试计划和测试结果,由测试设计员负责会同集成员、编码员

16、、设计人员评估此次测试,并生成测试评估摘要,56,1 集成测试计划,输入需求规格说明书概要设计文档产品开发计划路标输出集成测试计划,57,活动步骤确定被测试对象和测试范围评估集成测试被测试对象的数量及难度,即工作量确定角色分工和划分工作任务标识出测试各阶段的时间、任务、约束等条件考虑一定的风险分析及应急计划考虑和准备集成测试需要的测试工具、测试仪器、环境等资源考虑外部技术支援的力度和深度,以及相关培训安排定义测试完成标准,1 集成测试计划,2集成测试分析和设计,集成测试分析和设计的主要目的是制定测试大纲(测试方案)。集成测试大纲规定了今后的集成测试内容、测试方法以及可测性接口,以后所有集成测试

17、均在该大纲的框架下进行,所以,制定一份完善的集成测试大纲非常重要。,59,2集成测试分析和设计,输入需求规格说明书概要设计集成测试计划输出集成测试设计方案,60,活动步骤被测对象结构分析集成测试模块分析集成测试接口分析集成测试策略分析集成测试工具分析集成测试环境分析集成测试工作量估计和安排,2集成测试分析和设计,61,3 实施阶段,输入需求规格说明书概要设计集成测试计划集成测试设计输出集成测试用例集成测试规程集成测试代码、集成测试脚本、集成测试工具(如果有),62,3 实现阶段,活动步骤集成测试用例设计集成测试规程设计集成测试代码设计(如果需要)集成测试脚本(如果需要)集成测试工具(如果需要),63,4 执行阶段,输入需求规格说明书概要设计集成测试计划集成测试设计集成测试用例集成测试规程,64,4 执行阶段,集成测试代码(如果有)集成测试脚本(如果有)集成测试工具(如果有)详细设计代码单元测试报告输出集成测试报告,65,4 执行阶段,活动步骤执行集成测试用例回归集成测试用例撰写集成测试报告,66,相应过程的测试文档,集成测试计划,集成测试设计方案,集成测试用例、规程、(代码、脚本、工具),集成测试报告,集成测试用例的设计,1.集成测试分析体系结构分析模块分析接口分析,集成测试用例的设计,2.用例设计思路系统运行正向测试逆向测试,总结:集成策略框图,集成测试工作结束!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号