软件测试第六章-集成测试.ppt
《软件测试第六章-集成测试.ppt》由会员分享,可在线阅读,更多相关《软件测试第六章-集成测试.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、集成测试内容1引言引言2基本概念基本概念3集成测试的目的集成测试的目的4集成测试的层次集成测试的层次5集成测试方法集成测试方法6集成策略集成策略一、引言一、引言l单元测试后问题出现了单元测试后问题出现了l软件在系统集成时会经常有这样的情况发生:软件在系统集成时会经常有这样的情况发生:即每个模块都能单独工作即每个模块都能单独工作,但这些模块集,但这些模块集成在一起之后却不能正常工作;或是系统成在一起之后却不能正常工作;或是系统集成后虽可以正常运行,但系统的容错性、集成后虽可以正常运行,但系统的容错性、安全性以及整体性却得不到保障,系统不安全性以及整体性却得不到保障,系统不能长时间运行等等。这就需
2、要进行集成测能长时间运行等等。这就需要进行集成测试和系统测试试和系统测试,以找出其中的软件缺陷,以找出其中的软件缺陷,来提高整个软件的质量和可靠性。来提高整个软件的质量和可靠性。一、基本概念一、基本概念l集成测试集成测试又称组装测试,是在单元测试的基础上,将所有模块按照设计要求组装成子系统或系统进行的测试活动。l又称子系统测试、联合测试。5软件测试的过程软件测试的过程被测被测模块模块单元单元测试测试设计设计信息信息集成集成测试测试被测被测模块模块单元单元测试测试被测被测模块模块单元单元测试测试测试过测试过的模块的模块确认确认测试测试系统系统测试测试软件软件需求需求其它系其它系统元素统元素装配好
3、装配好的软件的软件 确认确认的软件的软件可运可运行的行的软件软件6单元测试、集成测试与系统测试的差别单元测试、集成测试与系统测试的差别集成集成测试测试系统系统测试测试单元单元测试测试灰盒测试灰盒测试,采用较多黑采用较多黑盒方法构造盒方法构造测试用例测试用例 黑盒测试黑盒测试大量采用大量采用白白盒测试盒测试方法方法测试方法测试方法模块间模块间的的集成和调集成和调用关系用关系整个系统整个系统,包括系统包括系统软硬件等软硬件等模块内部模块内部程序错误程序错误对象对象找出与软件设计相找出与软件设计相关的程序结构,模关的程序结构,模块调用关系,模块块调用关系,模块间接口方面的问题间接口方面的问题对整个系
4、统进行一对整个系统进行一系列的整体、有效系列的整体、有效性测试性测试消除局部模块逻辑消除局部模块逻辑和功能上的错误和和功能上的错误和缺陷缺陷目的目的系统结构设计系统结构设计目标说明书目标说明书需求说明书等需求说明书等程序结构设计程序结构设计模块逻辑设计模块逻辑设计模块外部说明模块外部说明测试依据测试依据三、集成测试的目的三、集成测试的目的l确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确,所测试的内容包括单元间的接口单元间的接口以及集成后的功集成后的功能。能。l具体来说,集成测试考虑以下问题:具体来说,集成测试考虑以下问题:三、集成测试的目的三、集成测试的目的1.在把各个模块
5、连接起来的时候,穿越模块在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;接口的数据是否会丢失;2.各个子功能组合起来,能否达到预期要求各个子功能组合起来,能否达到预期要求的父功能;的父功能;3.一个模块的功能是否会对另一个模块的功一个模块的功能是否会对另一个模块的功能产生不利的影响;能产生不利的影响;4.全局数据结构是否有问题全局数据结构是否有问题5.单个模块的误差积累起来,是否会放大,单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。从而达到不可接受的程度。集成测试有以下不可替代的特点:集成测试有以下不可替代的特点:l单元测试具有不彻底性,对于模块间接口信息内容的正确单元
6、测试具有不彻底性,对于模块间接口信息内容的正确性、相互调用关系是否符合设计无能为力。只能靠集成测性、相互调用关系是否符合设计无能为力。只能靠集成测试来进行保障。试来进行保障。l同系统测试相比,由于集成测试用例是从程序结构出发的,同系统测试相比,由于集成测试用例是从程序结构出发的,目的性、针对性更强,测试项发现问题的效率更高,定位目的性、针对性更强,测试项发现问题的效率更高,定位问题的效率也较高;问题的效率也较高;l能够较容易地测试到系统测试用例难以模拟的特殊异常流能够较容易地测试到系统测试用例难以模拟的特殊异常流程,从纯理论的角度来讲,集成测试能够模拟所有实际情程,从纯理论的角度来讲,集成测试
7、能够模拟所有实际情况;况;l定位问题较快,由于集成测试具有可重复强、对测试人员定位问题较快,由于集成测试具有可重复强、对测试人员透明的特点,发现问题后容易定位,所以能够有效地加快透明的特点,发现问题后容易定位,所以能够有效地加快进度,减少隐患。进度,减少隐患。三、集成测试的目的三、集成测试的目的10四、集成测试的层次四、集成测试的层次l产品开发过程:一个分层设计和逐步细化的产品开发过程:一个分层设计和逐步细化的过程过程系统结构图:系统结构图:11软件结构图:软件结构图:软件模块结构图:软件模块结构图:软件模块结构图:软件模块结构图:四、集成测试的层次四、集成测试的层次l由集成的力度不同,一般可
8、以把集成测试划由集成的力度不同,一般可以把集成测试划分为三个级别:分为三个级别:l(1)模块内集成测试。l(2)子系统内集成测试:先测试子系统内的功能模块,然后将各个功能模块组合起来确认子系统的功能是否达到预期要求。l(3)子系统间集成测试:测试的单元是子系统之间的接口。子系统是可单独运行的程序或进程。五、集成测试方法五、集成测试方法l 静态测试技术静态测试技术针对概要设计的测试针对概要设计的测试 (什么是概要设计?)(什么是概要设计?)l 动态测试技术动态测试技术灰盒测试灰盒测试 (什么是灰盒测试?)什么是灰盒测试?)灰盒测试的优点:灰盒测试的优点:l能够进行基于需求的测试和基于路径的覆盖测
9、试。能够进行基于需求的测试和基于路径的覆盖测试。l可深入被测对象的内部,便于错误的识别分析和可深入被测对象的内部,便于错误的识别分析和解决。解决。l能够保证设计的黑盒测试用例的完整性,防止功能够保证设计的黑盒测试用例的完整性,防止功能或功能组合的遗漏能或功能组合的遗漏l能够减小需求或设计不详细或不完整性对测试有能够减小需求或设计不详细或不完整性对测试有效性造成影响。效性造成影响。五、集成测试方法五、集成测试方法六、集成策略六、集成策略l指在测试对象分析基础上,描述软件模块集指在测试对象分析基础上,描述软件模块集成的方式、方法。成的方式、方法。l我们已经知道,集成测试是把功能模块或程我们已经知道
10、,集成测试是把功能模块或程序单元组合起来进行测试,发现模块在组序单元组合起来进行测试,发现模块在组合过程中的缺陷。那么,合过程中的缺陷。那么,系统中的各个模系统中的各个模块如何组合呢?是全部同时组装还是逐渐块如何组合呢?是全部同时组装还是逐渐组装模块?组装模块?这是集成策略将要解答的问题。这是集成策略将要解答的问题。l集成的基本策略比较多,分类比较复杂,但集成的基本策略比较多,分类比较复杂,但是都可以归结为以下两类:是都可以归结为以下两类:l 非增量式集成策略非增量式集成策略一步到位一步到位l NonIncremental Testingl 增量式集成策略增量式集成策略逐步实现逐步实现lInc
11、remental Testing6.1 非增量式集成策略非增量式集成策略l非增量式测试是采用一步到位一步到位的方法来构造测试:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。l又叫大爆炸式集成又叫大爆炸式集成(Big Bang)非增量式测试非增量式测试(Big-bang testing)Test A,B,C,DTestATestBTestCTestD非增量式策略实例非增量式策略实例评述:模块评述:模块d1、d2、d3、d4、d5是对各个模块做是对各个模块做单元测试时建立的驱动模块,单元测试时建立的驱动模块,s1、s2、s3、s4、s5是为单元
12、测试而建立的桩模块。这种一次性集是为单元测试而建立的桩模块。这种一次性集成方式将所测模块连接起来进行测试,但是一次成方式将所测模块连接起来进行测试,但是一次试运行成功地可能性并不大。其结果发现有错误,试运行成功地可能性并不大。其结果发现有错误,但茫然找不到原因,差错和改错都会遇到困难。但茫然找不到原因,差错和改错都会遇到困难。适应于适应于适应于适应于 一个维护型或被测试系统较小一个维护型或被测试系统较小一个维护型或被测试系统较小一个维护型或被测试系统较小 的项目的项目的项目的项目非增量式策略非增量式策略优点:优点:l方法简单方法简单l允许多测试人员同时并行工作,人力物力允许多测试人员同时并行工
13、作,人力物力资源利用率较高资源利用率较高缺点缺点l必须为每个模块准备相应的驱动模块和桩必须为每个模块准备相应的驱动模块和桩模块,测试成本较高模块,测试成本较高l一旦集成后包含多种错误,难以纠正。一旦集成后包含多种错误,难以纠正。关键模块问题关键模块问题l在非增量式集成测试时,应当确定关键模块,对这些关键模块及早进行测试。l关键模块的特征:完成需求规格说明中的关键功能;在程序的模块结构中位于较高的层次(高层控制模块);较复杂、较易发生错误;有明确定义的性能要求。6.2增量式集成策略增量式集成策略l增量式测试的集成是逐步实现逐步实现的:逐次将未曾集成测试的模块和已经集成测试的模块(或子系统)结合成
14、程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。l按照不同的实施次序,增量式集成测试又可以分为三种不同的方法:(1)自顶向下增量式测试 (2)自底向上增量式测试 (3)三明治增量式测试(混合增量式测试)6.2增量式集成策略增量式集成策略6.2.1 自顶向下增量测试自顶向下增量测试l自顶向下增量式测试自顶向下增量式测试表示逐步集成和逐步测试是按照结构图自上而下进行的,即模块集成的顺序是首先集成主控模块(主程序),然后依照控制层次结构向下进行集成。从属于主控模块的按深度优先深度优先方式(纵向)或者广度优先广度优先方式(横向)集成到结构中去。l深度优先方式
15、:深度优先方式:首先集成在结构中的一个主控路径下的一个主控路径下的所有模块所有模块,主控路径的选择是任意的。l广度优先方式:广度优先方式:首先沿着水平方向,把每一层中所有把每一层中所有直接隶属于上一层的模块集成起来直接隶属于上一层的模块集成起来,直到底层。l自顶向下集成测试的整个过程由3个步骤完成:(1)主控模块作为测试驱动器。(2)根据集成的方式(深度或广度),下层的桩模块一次一次地被替换为真正的模块。(3)在每个模块被集成时,都必须进行单元测试。重复第2步,直到整个系统被测试完成。6.2.1 自顶向下增量测试自顶向下增量测试28深度优先组装方式深度优先组装方式 29广度优先组装方式广度优先
16、组装方式 30优缺点分析优缺点分析l优点:优点:较早地验证了主要控制和判断点;较早地验证了主要控制和判断点;较早地验证了主要控制和判断点;较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软按深度优先可以首先实现和验证一个完整的软按深度优先可以首先实现和验证一个完整的软按深度优先可以首先实现和验证一个完整的软件功能;件功能;件功能;件功能;功能较早证实,带来信心;功能较早证实,带来信心;功能较早证实,带来信心;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;只需一个驱动,减少驱动器开发的费用;只需一个驱动,减少驱动器开发的费用;只需一个驱动,减少驱动器开发的费用;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 第六 集成
限制150内