- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.4 集成测试过程
4.执行阶段 . 测试人员在单元测试完成以后就可以执行 集成测试.当然,须按照相应的测试规程,借 助集成测试工具,并把需求规格说明书,概要 设计,集成测试计划,集成测试设计,集成测 试用例,集成测试规程,集成测试代码,集成 测试脚本作为测试执行的依据来执行集成测试 用例.测试执行的前提条件就是单元测试已经 通过评审.当测试执行结束后,测试人员要记 录下每个测试用例之行后的结果,填写集成测 试报告,最后提交给相关人员评审.
5.5 面向对象的集成测试
5.5.2面向对象集成测试的常用方法 面向对象集成测试的常用方法 1.抽样测试 . 抽样测试提供了一种运算法则,它使我们能够从一 组可能的测试用例中选择一个测试序列.但并不要求一 定要首先明确如何来确定测试用例的总体.测试过程的 目的在于定义感兴趣的测试总体,然后定义一种方法, 以便在这些测试用例中选择哪些被构建,哪些被执行. 2. 正交阵列测试 正交阵列测试提供了一种特殊的抽样方法,这种方 法通过定义一组交互对象的配对方式组合,以尽力限制 测试配置的组合数目激增.
5.3 集成测试用例设计
4.为满足特殊需求设计用例 可使用的主要测试分析技术为规范导出法. 5.为高覆盖设计用例 可使用的主要测试分析技术有: (1)功能覆盖分析. (2)接口覆盖分析.
5.4 集成测试过程
一个测试从开发到执行遵循一个过程,不同的组织 对这个过程的定义会有所不同.根据集成测试不同阶段 的任务,可以把集成测试划分为5个阶段:计划阶段, 设计阶段,实施阶段,执行阶段,评估阶段.
5.2 集成测试策略
1.自顶向下集成 . 自顶向下集成方法是一个日益为人们广泛采 用的测试和组装软件的途径.从主控制模块开 始,沿着程序的控制层次向下移动,逐渐把各 个模块结合起来.在把附属于(及最终附属于) 主控制模块的那些模块组装到程序结构中去, 或者使用深度优先的策略,或者使用宽度优先 的策略. 【例5.2】对如图5.3所示的程序,采用自顶 】 向下集成方法,按照深度优先方式进行集成测 试.
5.5 面向对象的集成测试
2.协作类测试 凡不是汇集类的非原始类就是协作类,该 类的一个或多个操作中使用其他的对象并将其 作为它们的实现中不可缺少的一部分.当类接 口中的一个操作的某个后置条件引用了一具对 象的实例状态,并且(或者)说明那个对象的 某个属性被使用或修改了,那么这个类就是一 个协作类.协作类测试的复杂性远远高于汇集 类或原始类的测试.
5.2 集成测试策略
A A A A SB SC SD B SC SD B SC SD B SC SD
SE (a)测试A A
SF (b)测试B
E
SF (c)测试E
E
F (d)测试F A
A
B
C
SD
B
CSDBCDEF
SG
E
F
G
E
F
G
(e)测试C
(f)测试G 图5.5 自顶向下集成
(g)测试D
5.2 集成测试策略
5.4 集成测试过程
2.设计阶段 . (1)被测对象结构分析. (2)集成测试模块分析. (3)集成测试接口分析. (4)集成测试策略分析. (5)集成测试工具分析. (6)集成测试环境分析. (7)集成测试工作量估计和安排.
5.4 集成测试过程
3.实施阶段 . (1)集成测试用例设计. (2)集成测试规程设计. (3)集成测试代码设计. (4)集成测试脚本开发. (5)集成测试工具开发或选择.
5.2 集成测试策略
测试 E 测试 F 测试 G 测试 A 图5.7 三明治集成 测试 (B,E, F) 测试 (C,G)
测试 (A,B,C D,E,F, G)
5.3 集成测试用例设计
1.为系统运行设计用例 . 可使用的主要测试分析技术有: (1)等价类划分. (2)边界值分析. (3)基于决策表的测试.
测试 (A,B,C D,E,F, G)
测试 (C,G)
5.2 集成测试策略
5.2.3 三明治集成
三明治集成是一种混合增量式测试策略, 综合了自顶向下和自底向上两种集成方法的优 点.这种方法桩模块和驱动模块的开发工作都 比较小,不过代价是在一定程度上增加了定位 缺陷的难度. 【例5.4】对如图5.3所示的程序,以B模块 所在层为界,采用三明治集成方法进行集成测 试.
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.1 集成测试概述
5.1.4 集成测试的层次与原则
1.集成测试的层次 . 对于传统软件来说,按集成粒度不同,可以把集成 测试分为3个层次,即: (1)模块间集成测试 (2)子系统内集成测试 (3)子系统间集成测试 对于面向对象的应用系统来说,按集成粒度不同, 可以把集成测试分为2个层次: (1)类内集成测试 (2)类间集成测试
制定集成测试计划
设计集成测试 实施集成测试 执行集成测试
评估集成测试 图5.8 集成测试过程
5.4 集成测试过程
1.计划阶段 .
(1)确定被测试对象和测试范围. (2)评估集成测试被测试对象的数量及难度,即 工作量. (3)确定角色分工和划分工作任务. (4)表识出测试各个阶段的时间,任务,约束条 件. (5)考虑一定的风险分析机应急计划. (6)考虑和准备集成测试需要的测试工具,测试 仪器,环境等资源. (7)考虑外部技术支援的力度和深度,以及相关 培训安排;定义测试完成标准.
5.5 面向对象的集成测试
5.5.3分布式对象测试 分布式对象测试 1.分布式对象的概念和特点 在类的层次上进行更彻底的测试. 在记录事件发生顺序的同时,执行大量的测试用例. 指定标准的测试环境. 2.测试中需要注意的情况 . 局部故障. 超时. 结构的动态性. 线程. 同步.
�
需求分析 系统测试
概要设计
集成测试
详细设计
单元测试
编码
图 5.1 软件开发的 V 模型
5.1 集成测试概述
5.1 集成测试概述
5.1.2 集成测试与系统测试的区别
(1)测试对象. (2)测试时间. (3)测试方法. (4)测试内容. (5)测试目的. (6)测试角度.
5.1 集成测试概述
5.1.3 集成测试与开发的关系 集成测试是和软件开发过程中的概要 设计阶段相对应的,而在软件概要设计中 关于整个系统的体系结构就是集成测试用 例输入的基础.
图5.4 非渐增式集成
5.2 集成测试策略
5.2.2 渐增式集成
渐增式集成与"一步到位"的非渐增式集成 相反,它把程序划分成小段来构造和测试,在 这个过程中比较容易定位和改正错误;对接口 可以进行更彻底的测试;可以使用系统化的测 试方法.因此.目前在进行集成测试时普遍采 用渐增式集成方法. 当使用渐增方式把模块结合到程序中去时, 有自顶向下和自底向上两种集成策略.
5.3 集成测试用例设计
2.为正向测试设计用例 . 可是用如下几种主要测试分析技术: (1)输入域测试. (2)输出域测试. (3)等价类划分. (4)状态转换测试. (5)规范导出法.
5.3 集成测试用例设计
3.为逆向测试设计用例 .
可使用的主要测试分析技术有: (1)错误猜测法. (2)基于风险的测试. (3)基于故障的测试. (4)边界值分析. (5)特殊值测试. (6)状态转换测试.
第5章 集成测试 章
5.1 集成测试概述 5.1.1 集成测试的概念 集成(Integration)是指把多个单 元组合起来形成更大的单元. 集成测试(Integration Testing)是 在假定各个软件单元已经通过了单元测 试的前提下,检查各个软件单元之间的 相互接口是否正确.
5.1 集成测试概述
5.1 集成测试概述
5.1.4 集成测试的层次与原则
2.集成测试的原则 .
(1)所有公共接口必须被测试到; (2)关键模块必须进行充分测试; (3)集成测试应当按一定层次进行; (4)集成测试策略选择应当综合考虑质量,成本和进度三者之间的关 系; (5)集成测试应当尽早开始,并以概要设计为基础; (6)在模块和接口的划分上,测试人员应该和开发人员进行充分沟通; (7)当测试计划中的结束标准满足时,集成测试才能结束; (8)当接口发生修改时,涉及到的相关接口都必须进行回归测试; (9)集成测试应根据集成测试计划和方案进行,不能随意测试; (10)项目管理者应保证测试用例经过审核; (11)测试执行结果应当如实的记录.
2.自底向上集成 . 自底向上测试从"原子"模块(即在软件结 构最底层的模块)开始组装和测试.因为是从 底部向上结合模块,总能得到所需的下层模块 处理功能,所以不需要桩模块. 【例5.3】对如图5.3所示的程序,采用自底 】 向上集成方法,按照深度优先方式进行集成测 试.
5.2 集成测试策略
测试 E 测试 F 测试 G 测试 D 图5.6 自底向上集成 测试 (B,E, F)
5.4 集成测试过程
5.评估阶段 . 当集成测试执行结束后,要召集相关 人员,如:测试设计人员,编码人员,系 统设计人员等队测试结果进行评估,确定 是否通过集成测试.
5.5 面向对象的集成测试
5.5.1对象交互 对象交互 1.汇集类测试 可以使用测试原始类的方法来测试汇集类, 测试驱动程序要创建一些实例,这些实例作为 消息中的参数被传递给一个正在测试的集合. 测试的目的主要是保证那些实例被正确从集合 中移出.有些测试用例会说明集合对其容量所 做的限制.假如在实际应用中可能要加入40或 50条信息,那么生成的测试用例至少要增加50 条信息.如果无法估算出一个有代表性的上限, 那么就使用集合中的大量对象进行测试.