软件测试技术_韩永国_第七章集成测试_第1页
软件测试技术_韩永国_第七章集成测试_第2页
软件测试技术_韩永国_第七章集成测试_第3页
软件测试技术_韩永国_第七章集成测试_第4页
软件测试技术_韩永国_第七章集成测试_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、software testing集成测试软件测试课程组西南科技大学计算机学院西南科技大学计算机学院software testingw测试过程单元测试集成测试系统测试为什么需要集成测试? 问题引入software testing为什么总是集成不起来?software testing7.1集成测试概述w集成测试(integration test)也叫组装测试或联合测试是在单元测试的基础上,将所有模块按照设计要求集成为系统或子系统,并进行测试。验证程序和概要设计说明的一致性software testing7.2 基于功能分解的集成w实施策略非渐增式集成渐增式集成software testing非渐增

2、式集成w定义又叫大棒集成(big-bang integration)把所有通过了单元测试的模块按设计要求,一次全部组装起来,然后进行整体测试。software testingw目的尽可能缩短测试时间,使用最少的测试用例验证系统。w特点“急于求成”software testingw具体方法例:假设要对某个系统的部分功能进行测试,其功能分解如图所示:a ab bd dc csoftware testing二.渐增式集成方式w定义从一个模块开始,测一次添加一个模块,边组装边测试,以发现与接口相联系的问题。w集成方式自顶向下集成自底向上集成三明治集成software testing1.自顶向下集成w定

3、义自顶向下集成(top-down integration)按照系统层次结构图,以主程序模块为中心,自上而下按照深度优先或者广度优先策略,对各个模块一边组装一边进行测试。software testingw自顶向下集成的两种类型自顶向下集成的两种类型广度优先深度优先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广度优先:广度优先:software testingw自顶向下集成步骤:(1)以主控模块作为测试驱动模块,把对主控模块进行单元测试时引入的所有桩模块用实际模块替代(2)依据所选的集成

4、策略,每次只替代一个桩模块(3)每集成一个模块立即测试一遍software testing自顶向下集成步骤(续)(4)只有每组测试完成后,才着手替换下一个桩模块(5)为避免引入新错误,须不断地进行回归测试从第(2)步开始,循环执行上述步骤,直至整个程序结构构造完毕。software testing举例:adbecf深度优先深度优先: :a、b、e、c、d、f广度优先广度优先: :a、b、c、d、e、f自顶向下集成自顶向下集成深度优先a加入加入es2s2bs3s3ea测试测试 as2s2s1s1s s3 3a加入加入bs2s2bs3s3s4s4加入加入fcbdeafa加入加入ccbs3s3e加入

5、加入dcbdeas5s5software testing2.自底向上集成w定义自底向上集成(bottom-up integration) 从系统层次结构图的最底层模块开始进行组装和集成测试的方式。 software testingw自底向上集成步骤 从最底层的模块开始组装,组合成一个能够完成某个子功能的构件; 编制驱动程序,协调测试用例的输入与输出; 测试集成后的构件; 使用实际模块代替驱动程序,按程序结构向上组装测试后的构件; 重复上面的第二步,直到系统的最顶层模块被加入到系统中为止。software testing举例举例: :a ac cb bd df fe ee ed d1 1c cd

6、 d3 3f fd d4 4e eb bd d2 2d dd d5 5f fa ac cb bd df fe esoftware testingw优点可以尽早的验证底层模块的行为。 提高了测试效率;对实际被测模块的可测试性要求较少;减少了桩模块的工作量; 容易对错误进行定位。software testingw缺点直到最后一个模块加进去之后才能看到整个系统的框架;只有到测试过程的后期才能发现时序问题和资源竞争问题;驱动模块的设计工作量大;不能及时发现高层模块设计上的错误。software testingw适用范围 底层模块接口比较稳定的产品;高层模块接口变更比较频繁的产品;底层模块开发和单元测试

7、工作完成较早的产品。software testing3. 三明治集成w定义三明治集成方法(sandwich integration)三明治集成是一种混合增殖式测试策略,综合了自顶向下和自底向上两种集成方法的优点。software testingw方法一般对软件结构的上层使用自顶向下结合的方法;对下层使用自底向上结合的方法;software testing举例w用三明治集成方式如何测试?c cb bd de ef fa asoftware testing三明治集成步骤w首先,确定以哪一层为界来决定使用三明治集成策略。我们确定以b模块为界;w其次,对模块b及其所在层下面的各层使用自底向上的集成策略

8、;w再次,对模块b所在层上面的层次使用自顶向下的集成策略; w然后,把模块b所在层各模块同相应的下层集成;w最后,对系统进行整体测试。software testingsoftware testingw优点除了具有自顶向下和自底向上两种集成策略的优点之外,运用一定的技巧,能够减少了桩模块和驱动模块的开发。 w缺点在被集成之前,中间层不能尽早得到充分的测试。software testing7.3 基于调用图的集成w基于调用图的集成有两种:成对集成相邻集成software testing1、成对集成w成对集成的思想就是免除桩/驱动器开发工作,使用实际代码来代替桩/驱动器。w成对集成的方法就是对应调用

9、图的每一个边建立并执行一个集成测试会话。software testing2. 相邻集成w相邻节点有向图中,节点邻居包括所有直接前驱节点和直接后继节点 w相邻集成可大大降低集成测试的会话数量,并可避免桩和驱动器的开发相邻集成本质上是三明治集成相邻集成具有“中爆炸”集成的缺陷:隔离困难software testing基于调用图的集成的优缺点w优点基于调用图的集成偏离了纯结构集成,转向行为基础。免除了桩/驱动器开发工作量。w缺点缺陷隔离问题software testing7.4 基于路径的集成w概念源节点(p197)汇节点模块执行路径消息software testingwmm-路径mm-路径是穿插出

10、现模块执行路径和消息的序列对于传统软件来说,mm-路径永远是从主程序开始,在主程序中结束。注意:mm-路径不是可执行路径,并且要跨越单元边界software testing例:13-8 跨三个单元的跨三个单元的mm-路径路径a124356b1234c12345a124356b1234c12345模块执行路径:mep(a,1)=mep(a,2)=mep(a,3)=mep(b,1)=mep(b,2)=mep(c,1)=mep(c,2)=1,3,4,5software testingwmm-路径图给定一组单元,其mm-路径图是一种有向图,其中节点表示模块执行路径,边表示消息和单元之间的返回。注意:m

11、m-路径图是按照一组单元定义的。software testing例:从图从图13-8中导出的中导出的mm-路径图路径图mep(a,2)mep(b,1)mep(c,1)mep(b,2)mep(c,2)mep(a,3)mep(a,1)实线箭头表示消息,实线箭头表示消息,虚线箭头表示返回。虚线箭头表示返回。software testingwmm-路径的深度mm-路径末端点有两点可观察的行为准则,即消息静止和数据静止消息静止当到达不发送消息的结点时,消息静止发生。例如图13-8中的模块c数据静止当处理不立即使用的存储数据的创建序列结束时,数据静止发生。software testingwmm-路径图的特

12、点优点功能性和结构性的一种混合表达上:功能性标识方式上:结构性集成测试和系统测试无逢连接缺点标识mm-路径的工作量很大software testingmm-路径复杂度路径复杂度wv(g)= e n + 2pwv(g)= e n + 2 (对于结构化过程代码,p=1)software testingmm-路径有向图路径有向图abcmainvalidatepingetpinforpanscreendrivergetpinkeysensorwv(g1)= 4-3+2 =3wv(g2) =24-6+2 =20software testingw优点:mm-路径是功能性测试和结构性测试的一种混合。基于路径的集成测试

温馨提示

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

评论

0/150

提交评论