集成测试系统测试 PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试技术基础
本章重点
▪ 什么是集成测试? ▪ 集成测试的常见策略有哪些? ▪ 集成测试的过程是怎样的?
集成测试的定义
集成测试是在单元测试的基础上,将所有已通过单元 测试的模块按照概要设计的要求组装为子系统或系统, 进行集成测试,目的是确保各单元模块组合在一起后 能够按既定意图协作运行,并确保增量的行为正确。
自底向上集成
▪ 基本思想 ▪ 实践 ▪ 规模估算 ▪ 特点分析
自底向上集成:基本思想
▪ 从最底层模块(即叶子节点)开始,按照调用图的 结构,从下而上,逐层将各模块组装起来。
自底向上集成:实践(1)
Dl isLapYear
Dn PrintData
Dv lastDayofMonth
isLapYear
▪ 实践
▪ 特点分析
NextDate3
GetDate
PrintData
ValidDate
IncrementDate
lastDayofMonth
isLeapYear
自顶向下集成
▪ 基本思想 ▪ 实践 ▪ 规模估算 ▪ 特点分析
自顶向下集成:基本思想
▪ 从主控模块(主程序,即根节点)开始,按照系统 程序结构,沿着控制层次从上而下,逐渐将各模块 组装起来。
自顶向下集成:实践(宽度优先3)
NextDate3
NextDate3
GetDate ValidDate
PrintData IncrementDate
lastDayofMonth
Sil
GetDate ValidDate
PrintData IncrementDate
lastDayofMonth
isLapYear
自顶向下集成:实践(宽度优先1)
NextDate3
Sg
Sp
Sv
Si
NextDate3
GetDate Sv
Sp Si
自顶向下集成:实践(宽度优先2)
NextDate3
NextDate3
GetDate ValidDate
Sl
Sp Si
GetDate ValidDate
Sl’
Sp IncrementDate
▪ 实践 ▪ 规模估算
GetDate
PrintData
• 模块调用图中包含m个模块, ValidDate n个中间层模块
IncrementDate
• 测试用例数目: n+1
lastDayofMonth
▪ 特点分析
isLeapYear
大爆炸集成
▪ 基本思想:将所有经过单元 测试的模块一次性组装到被 测系统中进行测试,完全不 考虑模块之间的依赖性和可 能的风险。
Di lastDayofMonth
isLapYear
自底向上集成:实践(2)
Dg ValidDate lastDayofMonth isLapYear
Dn ValidDate lastDayofMonth isLapYear
Dn Increment
Date lastDayofMonth
isLapYear
与单元测试和系统测试的区别
▪ 单元测试关注模块内部,集成测试关注模块接口;
▪ 集成测试仅针对软件系统展开测试,系统测试中所 涉及的系统则不仅包括被测试的软件本身,还包括 硬件及相关外围设备。
集成测试的内容
▪ 将各模块连接起来时,穿越模块接口的数据是否会丢失; ▪ 各子功能组合起来能否达到预期要求的父功能; ▪ 一个模块的功能是否会对其他模块的功能产生不利影响; ▪ 全局数据结构是否有问题,是否会被异常修改; ▪ 单个模块的误差累积起来,是否会放大到不可接受的程度。
自顶向下集成:实践(深度优先1)
NextDate3
GetDate ValidDate lastDayofMonth
Sil
Sp Si
NextDate3
GetDate ValidDate lastDayofMonth isLapYear
Sp Si
自顶向下集成:实践(深度优先2)
NextDate3
自底向上集成:实践(3)
Dn GetDate ValidDate lastDayofMonth isLapYear
NextDate3
GetDate ValidDate
PrintData IncrementDate
lastDayofMonth
isLapYear
自底向上集成:规模估算
▪ 调用图中有m个模块,叶子模块为n个 ▪ 需开发驱动模块m-n个
GetDate
Sp
ValidDate
IncrementDate
lastDayofMonth
isLapYear
NextDate3
GetDate
PrintData
ValidDate
IncrementDate
lastDayofMonth
isLapYear
自顶向下集成:规模估算
▪ 调用图中有m个模块 ▪ 需开发桩模块m-1个
▪ 实践 ▪ 规模估算
GetDate
PrintData
• 模块调用图中包含m个模块, ValidDate
共有n条边
• 测试用例数目: n
lastDayofMonth
▪ 特点分析
isLeapYear
IncrementDate
邻居集成
▪ 基本思想:将每个集成测试
用例限定在某个节点的邻居 上。
NextDate3
三明治集成
▪ 基本思想 ▪ 实践 ▪ 特点分析
三明治集成:基本思想
▪ 将系统划分为三层,中间层为目标层,测试时对目标层上面 的层使用自顶向下的集成策略,对目标层下面的层使用自底 向上的集成策略。
▪ 在第1种集成策略的基础上,对目标层采用独立测试的策略, 以确保目标层模块在集成测试之前得到充分的测试。
集成测试的开发
▪ 一般由开发小组内部进行。
集成测试的环境
小型机
驱动
PC机
接口模拟 TCP/IP 器1
已集成 模块
新增模 块
桩桩 桩
PC机 驱动
TCP/IP 已集成 新增模
模块
块
桩桩 桩
PC机 TCP/IP 接口模拟
器2
TCP/IP
测试控制 中心
PC机
TCP/IP
Leabharlann Baidu
测试数据库
测试规程库
测试用例的规模 驱动模块的设计 桩模块的设计 缺陷定位的难易程度
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声点
案例说明
NextDate3
GetDate ValidDate
PrintData IncrementDate
lastDayofMonth
isLeapYear
成对集成
▪ 基本思想:将每个集成测
试用例限定在一对调用单 元上。
NextDate3
本章重点
▪ 什么是集成测试? ▪ 集成测试的常见策略有哪些? ▪ 集成测试的过程是怎样的?
集成测试的定义
集成测试是在单元测试的基础上,将所有已通过单元 测试的模块按照概要设计的要求组装为子系统或系统, 进行集成测试,目的是确保各单元模块组合在一起后 能够按既定意图协作运行,并确保增量的行为正确。
自底向上集成
▪ 基本思想 ▪ 实践 ▪ 规模估算 ▪ 特点分析
自底向上集成:基本思想
▪ 从最底层模块(即叶子节点)开始,按照调用图的 结构,从下而上,逐层将各模块组装起来。
自底向上集成:实践(1)
Dl isLapYear
Dn PrintData
Dv lastDayofMonth
isLapYear
▪ 实践
▪ 特点分析
NextDate3
GetDate
PrintData
ValidDate
IncrementDate
lastDayofMonth
isLeapYear
自顶向下集成
▪ 基本思想 ▪ 实践 ▪ 规模估算 ▪ 特点分析
自顶向下集成:基本思想
▪ 从主控模块(主程序,即根节点)开始,按照系统 程序结构,沿着控制层次从上而下,逐渐将各模块 组装起来。
自顶向下集成:实践(宽度优先3)
NextDate3
NextDate3
GetDate ValidDate
PrintData IncrementDate
lastDayofMonth
Sil
GetDate ValidDate
PrintData IncrementDate
lastDayofMonth
isLapYear
自顶向下集成:实践(宽度优先1)
NextDate3
Sg
Sp
Sv
Si
NextDate3
GetDate Sv
Sp Si
自顶向下集成:实践(宽度优先2)
NextDate3
NextDate3
GetDate ValidDate
Sl
Sp Si
GetDate ValidDate
Sl’
Sp IncrementDate
▪ 实践 ▪ 规模估算
GetDate
PrintData
• 模块调用图中包含m个模块, ValidDate n个中间层模块
IncrementDate
• 测试用例数目: n+1
lastDayofMonth
▪ 特点分析
isLeapYear
大爆炸集成
▪ 基本思想:将所有经过单元 测试的模块一次性组装到被 测系统中进行测试,完全不 考虑模块之间的依赖性和可 能的风险。
Di lastDayofMonth
isLapYear
自底向上集成:实践(2)
Dg ValidDate lastDayofMonth isLapYear
Dn ValidDate lastDayofMonth isLapYear
Dn Increment
Date lastDayofMonth
isLapYear
与单元测试和系统测试的区别
▪ 单元测试关注模块内部,集成测试关注模块接口;
▪ 集成测试仅针对软件系统展开测试,系统测试中所 涉及的系统则不仅包括被测试的软件本身,还包括 硬件及相关外围设备。
集成测试的内容
▪ 将各模块连接起来时,穿越模块接口的数据是否会丢失; ▪ 各子功能组合起来能否达到预期要求的父功能; ▪ 一个模块的功能是否会对其他模块的功能产生不利影响; ▪ 全局数据结构是否有问题,是否会被异常修改; ▪ 单个模块的误差累积起来,是否会放大到不可接受的程度。
自顶向下集成:实践(深度优先1)
NextDate3
GetDate ValidDate lastDayofMonth
Sil
Sp Si
NextDate3
GetDate ValidDate lastDayofMonth isLapYear
Sp Si
自顶向下集成:实践(深度优先2)
NextDate3
自底向上集成:实践(3)
Dn GetDate ValidDate lastDayofMonth isLapYear
NextDate3
GetDate ValidDate
PrintData IncrementDate
lastDayofMonth
isLapYear
自底向上集成:规模估算
▪ 调用图中有m个模块,叶子模块为n个 ▪ 需开发驱动模块m-n个
GetDate
Sp
ValidDate
IncrementDate
lastDayofMonth
isLapYear
NextDate3
GetDate
PrintData
ValidDate
IncrementDate
lastDayofMonth
isLapYear
自顶向下集成:规模估算
▪ 调用图中有m个模块 ▪ 需开发桩模块m-1个
▪ 实践 ▪ 规模估算
GetDate
PrintData
• 模块调用图中包含m个模块, ValidDate
共有n条边
• 测试用例数目: n
lastDayofMonth
▪ 特点分析
isLeapYear
IncrementDate
邻居集成
▪ 基本思想:将每个集成测试
用例限定在某个节点的邻居 上。
NextDate3
三明治集成
▪ 基本思想 ▪ 实践 ▪ 特点分析
三明治集成:基本思想
▪ 将系统划分为三层,中间层为目标层,测试时对目标层上面 的层使用自顶向下的集成策略,对目标层下面的层使用自底 向上的集成策略。
▪ 在第1种集成策略的基础上,对目标层采用独立测试的策略, 以确保目标层模块在集成测试之前得到充分的测试。
集成测试的开发
▪ 一般由开发小组内部进行。
集成测试的环境
小型机
驱动
PC机
接口模拟 TCP/IP 器1
已集成 模块
新增模 块
桩桩 桩
PC机 驱动
TCP/IP 已集成 新增模
模块
块
桩桩 桩
PC机 TCP/IP 接口模拟
器2
TCP/IP
测试控制 中心
PC机
TCP/IP
Leabharlann Baidu
测试数据库
测试规程库
测试用例的规模 驱动模块的设计 桩模块的设计 缺陷定位的难易程度
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声点
案例说明
NextDate3
GetDate ValidDate
PrintData IncrementDate
lastDayofMonth
isLeapYear
成对集成
▪ 基本思想:将每个集成测
试用例限定在一对调用单 元上。
NextDate3