文档详情

软件测试教程宫云战5章

wuli****0220
实名认证
店铺
2024-12-10
PPT
236.99KB
约31页
软件测试教程宫云战5章_第1页
1/31
软件测试教程宫云战5章_第2页
2/31
软件测试教程宫云战5章_第3页
3/31

单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第5章 集成测试,5.1 集成测试概述,5.1.1 集成测试的概念,集成(Integration)是指把多个单元组合起来形成更大的单元集成测试(Integration Testing)是在假定各个软件单元已经通过了单元测试的前提下,检查各个软件单元之间的相互接口是否正确5.1 集成测试概述,集成测试主要关注下列问题:,(1)模块间的数据传递是否正确?,(2)一个模块的功能是否会对另一个模块的功能产生错误的影响?,(3)全局数据结构是否有问题,会不会被异常修改?,(4)块组合起来的功能能否满足要求?,(5)集成后,各个模块的累积误差是否会扩大,是否达到不可接受的程度?,5.1 集成测试概述,5.1 集成测试概述,5.1 集成测试概述,5.1.2 集成测试与系统测试的区别,(1)测试对象2)测试时间3)测试方法4)测试内容5)测试目的6)测试角度5.1 集成测试概述,5.1.3 集成测试与开发的关系,集成测试是和软件开发过程中的概要设计阶段相对应的,而在软件概要设计中关于整个系统的体系结构就是集成测试用例输入的基础。

5.1 集成测试概述,5.1.4 集成测试的层次与原则,1集成测试的层次,对于传统软件来说,按集成粒度不同,可以把集成测试分为3个层次,即:,(1)模块间集成测试,(2)子系统内集成测试,(3)子系统间集成测试,对于面向对象的应用系统来说,按集成粒度不同,可以把集成测试分为2个层次:,(1)类内集成测试,(2)类间集成测试,5.1 集成测试概述,5.1.4 集成测试的层次与原则,2集成测试的原则,(1)所有公共接口必须被测试到;,(2)关键模块必须进行充分测试;,(3)集成测试应当按一定层次进行;,(4)集成测试策略选择应当综合考虑质量、成本和进度三者之间的关系;,(5)集成测试应当尽早开始,并以概要设计为基础;,(6)在模块和接口的划分上,测试人员应该和开发人员进行充分沟通;,(7)当测试计划中的结束标准满足时,集成测试才能结束;,(8)当接口发生修改时,涉及到的相关接口都必须进行回归测试;,(9)集成测试应根据集成测试计划和方案进行,不能随意测试;,(10)项目管理者应保证测试用例经过审核;,(11)测试执行结果应当如实的记录5.2 集成测试策略,5.2.1 非渐增式集成,非渐增式集成方法首先对每个子模块进行测试(即单元测试),然后将所有模块全部集成起来一次性进行集成测试。

例5.1】对如图5.3所示的程序,采用非渐增式集成方法进行集成测试A,B,C,D,E,F,G,图5.3 程序结构图,5.2 集成测试策略,测试,A,测试,B,测试,C,测试,D,测试,E,测试,F,测试,G,测试,(A、B、C,D、E、F、G),图5.4 非渐增式集成,5.2 集成测试策略,5.2.2 渐增式集成,渐增式集成与“一步到位”的非渐增式集成相反,它把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误;对接口可以进行更彻底的测试;可以使用系统化的测试方法目前在进行集成测试时普遍采用渐增式集成方法当使用渐增方式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略5.2 集成测试策略,1自顶向下集成,自顶向下集成方法是一个日益为人们广泛采用的测试和组装软件的途径从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块结合起来在把附属于(及最终附属于)主控制模块的那些模块组装到程序结构中去,或者使用深度优先的策略,或者使用宽度优先的策略例5.2】,对如图5.3所示的程序,采用自顶向下集成方法,按照深度优先方式进行集成测试5.2 集成测试策略,A,S,B,S,C,S,D,(a)测试A,A,B,S,C,S,D,S,E,S,F,(b)测试B,A,B,C,S,D,E,F,S,G,(e)测试C,A,B,C,S,D,E,F,G,(f)测试G,A,B,C,D,E,F,G,(g)测试D,A,B,S,C,S,D,E,S,F,(c)测试E,A,B,S,C,S,D,E,F,(d)测试F,图5.5 自顶向下集成,5.2 集成测试策略,2自底向上集成,自底向上测试从“原子”模块(即在软件结构最底层的模块)开始组装和测试。

因为是从底部向上结合模块,总能得到所需的下层模块处理功能,所以不需要桩模块例5.3】,对如图5.3所示的程序,采用自底向上集成方法,按照深度优先方式进行集成测试5.2 集成测试策略,测试,E,测试,F,测试,G,测试,D,测试,(A、B、C,D、E、F、G),图5.6 自底向上集成,测试,(B、E、F),测试,(C、G),5.2 集成测试策略,5.2.3 三明治集成,三明治集成是一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点这种方法桩模块和驱动模块的开发工作都比较小,不过代价是在一定程度上增加了定位缺陷的难度例5.4】对如图5.3所示的程序,以B模块所在层为界,采用三明治集成方法进行集成测试5.2 集成测试策略,测试,E,测试,F,测试,G,测试,A,测试,(A、B、C,D、E、F、G),图5.7 三明治集成,测试,(B、E、F),测试,(C、G),5.3 集成测试用例设计,1为系统运行设计用例,可使用的主要测试分析技术有:,(1)等价类划分2)边界值分析3)基于决策表的测试5.3 集成测试用例设计,2为正向测试设计用例,可是用如下几种主要测试分析技术:,(1)输入域测试。

2)输出域测试3)等价类划分4)状态转换测试5)规范导出法5.3 集成测试用例设计,3为逆向测试设计用例,可使用的主要测试分析技术有:,(1)错误猜测法2)基于风险的测试3)基于故障的测试4)边界值分析5)特殊值测试6)状态转换测试5.3 集成测试用例设计,4为满足特殊需求设计用例,可使用的主要测试分析技术为规范导出法5为高覆盖设计用例,可使用的主要测试分析技术有:,(1)功能覆盖分析2)接口覆盖分析5.4 集成测试过程,一个测试从开发到执行遵循一个过程,不同的组织对这个过程的定义会有所不同根据集成测试不同阶段的任务,可以把集成测试划分为5个阶段:计划阶段、设计阶段、实施阶段、执行阶段、评估阶段制定集成测试计划,设计集成测试,实施集成测试,执行集成测试,评估集成测试,图5.8 集成测试过程,5.4 集成测试过程,1计划阶段,(1)确定被测试对象和测试范围2)评估集成测试被测试对象的数量及难度,即工作量3)确定角色分工和划分工作任务4)表识出测试各个阶段的时间、任务、约束条件5)考虑一定的风险分析机应急计划6)考虑和准备集成测试需要的测试工具、测试仪器、环境等资源7)考虑外部技术支援的力度和深度,以及相关培训安排;定义测试完成标准。

5.4 集成测试过程,2设计阶段,(1)被测对象结构分析2)集成测试模块分析3)集成测试接口分析4)集成测试策略分析5)集成测试工具分析6)集成测试环境分析7)集成测试工作量估计和安排5.4 集成测试过程,3实施阶段,(1)集成测试用例设计2)集成测试规程设计3)集成测试代码设计4)集成测试脚本开发5)集成测试工具开发或选择5.4 集成测试过程,4执行阶段,测试人员在单元测试完成以后就可以执行集成测试当然,须按照相应的测试规程,借助集成测试工具,并把需求规格说明书、概要设计、集成测试计划、集成测试设计、集成测试用例、集成测试规程、集成测试代码、集成测试脚本作为测试执行的依据来执行集成测试用例测试执行的前提条件就是单元测试已经通过评审当测试执行结束后,测试人员要记录下每个测试用例之行后的结果,填写集成测试报告,最后提交给相关人员评审5.4 集成测试过程,5评估阶段,当集成测试执行结束后,要召集相关人员,如:测试设计人员、编码人员、系统设计人员等队测试结果进行评估,确定是否通过集成测试5.5 面向对象的集成测试,对象交互,汇集类测试,可以使用测试原始类的方法来测试汇集类,测试驱动程序要创建一些实例,这些实例作为消息中的参数被传递给一个正在测试的集合。

测试的目的主要是保证那些实例被正确从集合中移出有些测试用例会说明集合对其容量所做的限制假如在实际应用中可能要加入40或50条信息,那么生成的测试用例至少要增加50条信息如果无法估算出一个有代表性的上限,那么就使用集合中的大量对象进行测试5.5 面向对象的集成测试,协作类测试,凡不是汇集类的非原始类就是协作类,该类的一个或多个操作中使用其他的对象并将其作为它们的实现中不可缺少的一部分当类接口中的一个操作的某个后置条件引用了一具对象的实例状态,并且(或者)说明那个对象的某个属性被使用或修改了,那么这个类就是一个协作类协作类测试的复杂性远远高于汇集类或原始类的测试5.5 面向对象的集成测试,面向对象集成测试的常用方法,1抽样测试,抽样测试提供了一种运算法则,它使我们能够从一组可能的测试用例中选择一个测试序列但并不要求一定要首先明确如何来确定测试用例的总体测试过程的目的在于定义感兴趣的测试总体,然后定义一种方法,以便在这些测试用例中选择哪些被构建、哪些被执行2.正交阵列测试,正交阵列测试提供了一种特殊的抽样方法,这种方法通过定义一组交互对象的配对方式组合,以尽力限制测试配置的组合数目激增5.5 面向对象的集成测试,分布式对象测试,分布式对象的概念和特点,在类的层次上进行更彻底的测试。

在记录事件发生顺序的同时,执行大量的测试用例指定标准的测试环境2测试中需要注意的情况,局部故障结构的动态性。

下载提示
相关文档
正为您匹配相似的精品文档