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