软件测试 测试分类
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 单元测试 – 集成测试 – 系统测试 – 验收测试
2020/3/10
2
软件测试的内容 • 回归测试 • 功能测试 • 负载测试 • 压力测试 • 性能测试 • 易用性测试 • 安装与反安装测试
2020/3/10
3
软件测试的内容 • 恢复测试 • 安全性测试 • 兼容性测试 • 内存泄露测试 • 比较测试 • Alpha 测试 • Beta测试
模块
独立路径
2020/3/10
边界条件
局部数据
26
单元测试-设计
• 原则
– 为模块正常运行设计 – 为正向测试设计 – 为逆向测试设计 – 为满足特殊需求设计 – 为代码覆盖设计
2020/3/10
27
单元测试-执行
• 检查编码是否遵循软件编程规范和标准 。
• 自动或手动分析程序。 • 设计测试用例并运行。 • 错误跟踪分析。
验收测试
2020/3/10
系统测试
35
回归测试
• 回归测试的范围
– 测试全部用例 – 问题修改后的检验 – 测试高风险模块/系统 – 基于操作剖面选择测试
2020/3/10
36
回归测试
• 回归测试的基本过程
– 识别出软件中被修改的部分 – 从原基线测试用例库T中,排除所有不再适
用的测试用例,确定那些对新的软件版本依 然有效的测试用例,其结果是建立一个新的 基线测试用例库T0 – 依据一定的策略从T0中选择测试用例测试被 修改的软件
2020/3/10
23
单元测试
• 软件单元测试由测试工程师编制测试用 例进行测试,及针对程序模块进行多次 循环反复的单元测试,并将测试结果记 录在针对单元测试的《软件测试报告》 上。
• 若程序模块通过单元测试,则按《配置 管理规范》所规定的标识方法进行标识 。
2020/3/10
24
单元测试-设计
– 对所有的逻辑判定,取“真”与取“假”的 两种情况都能至少测试一次。
– 在循环的边界和运行界限内执行循环体。
– 测试内部数据结构的有效性等。
2020/3/10
15
Baidu Nhomakorabea
白盒测试与黑盒测试的比较
测试依据 优点 缺点
2020/3/10
白盒测试
程序内部结构
能够对程序内部 的特定部位进行 覆盖测试
无法检验程序的 外特性
软件测试分类
• 黑盒和白盒测试 • 静态测试和动态测试 • 测试不同阶段 • 测试各种分类间关系
2020/3/10
1
软件测试的分类
对于软件测试,可以从不同的角度加以分类:
• 基于是否关注软件结构与算法
– 黑盒测试 – 白盒测试
• 基于是否执行被测试软件
– 静态测试 – 动态测试
• 基于测试的不同阶段
2020/3/10
18
动态测试是在测试过程中执行被测试软件,类似于试车。
2020/3/10
19
测试的过程
设
软
元系
流用
被测模块 单元
计 信
件
素统
需
其
程户 核
测试 测 息
求
它
心
试
被测模块 单元 测试
被测模块 单元 测试
通 过 的 模 块
集成 测试
确认
系统
已 测试 已 测试 可
集
确
交
成
认
付
的
的
的
软
软
软
单元测试
• 单元通常不是可运行的程序。
• 单元测试必须编写额外的可运行的测试驱动程序。
2020/3/10
22
单元测试
• 单元测试又称为模块测试,是针对程序 模块(软件设计的最小单位)来进行正 确性检验的测试工作。
• 软件单元测试的目的是检测程序模块对 《详细设计说明书》的符合程度;软件 单元测试依据是《单元测试计划》。
• 白盒测试又称结构测试。
2020/3/10
12
白盒测试
分析 源程序
测试用例
2020/3/10
覆盖情况 分析
被测程序 执行路径
13
白盒测试
• 典型白盒测试方法
– 静态分析 – 动态测试
2020/3/10
14
白盒测试
• 使用白盒测试方法,主要想对程序模块 进行如下的检查:
– 对程序模块的所有独立的执行路径至少测试 一次。
件
件
件
验收 测试
2020/3/10
20
测试不同阶段
• 按测试阶段分类,测试可分4个主要阶段: 单元测试、集成测试、系统测试和验收测 试。
• 这是一种从小到大、循序渐进的测试过程 。
• 单元测试是对程序员编写完成的一个个程 序单元进行测试。
2020/3/10
21
单元测试
单元测试
单元测试 单元测试
单元测试
• 为了保证测试的客观性,一般由机构的 独立测试小组来执行系统测试。
2020/3/10
33
验收测试
• 验收测试是由用户完成的测试 • 验收测试的内容与系统测试的内容类似 • 验收测试可以分成Alpha测试和Beta测试。
2020/3/10
34
单元测试
集成测试
回归测试 系统维护 二次开发 项目更新
2020/3/10
37
回归测试
• 回归测试的基本过程
– 如果必要,生成新的测试用例集T1,用于测 试T0无法充分测试的软件部分
– 用T1执行修改后的软件 – 第2和第3步测试验证修改是否破坏了现有的
功能,第4和第5步测试验证修改工作本身
2020/3/10
38
测试各种分类间关系
2020/3/10
39
2020/3/10
4
黑盒测试和白盒测试
黑盒测试
白盒测试
两种测试方法从不同的角度出 发,反映了软件的不同侧面,也
适用于不同的开发环境
2020/3/10
5
输入
输出
黑盒测试又称功能测试、数据驱动测试或 基于规格说明的测试,也可被成为用户测 试,主要应用于快速应用开发(RAD)环境
2020/3/10
6
黑盒测试
• 测试模型
– 驱动模块:相当于所测模块的主程序。
– 桩模块:也叫做存根模块。用以代替所测模 块调用的子模块。
测试用例
驱动模块
测试结果
被测模块
桩模块1 桩模块2
桩模块n
2020/3/10
25
单元测试-设计
• 考虑方面
– 模块接口测试 – 局部数据测试 – 独立路径测试 – 出错处理测试模块接口 出错处–理边界条件测试
• 集成测试可以发现模块间接口以及全局数 据结构等问题。
2020/3/10
31
系统测试
系统测试
2020/3/10
32
• 系统测试的目的是检查系统是否符合软件 需求
• 系统测试采用黑盒测试方式
• 系统测试的主要内容有:功能测试、健壮 性测试、性能-效率测试、用户界面测试 、安全性测试、压力测试、可靠性测试、 安装/反安装测试等。
• 典型黑盒测试方法
– 等价类划分 – 因果图 – 边界值分析
2020/3/10
9
黑盒测试
• 黑盒主要是为了发现以下几类错误:
– 是否有不正确或遗漏了的功能?
– 在接口上,输入能否正确地接受?能否输出 正确的结果?
– 是否有数据结构错误或外部信息(例如数据 文件)访问错误?
– 性能上是否能够满足要求? – 是否有初始化或终止性错误?
无法对未实现规 格说明的程序内 部欠缺部分进行 测试
黑盒测试 规格说明 能站在用户立场 上进行测试
不能测试程序内 部特定部位 如果规格说明有 误,则无法发现
16
白盒测试与黑盒测试的比较
AC
B
D
黑盒测试与白盒测试能够发现的错误
2020/3/10
17
静态测试和动态测试
静态测试不执行被测试的软件。类似于汽车检查。
2020/3/10
10
应用程序
白盒测试又称结构测试、逻辑驱动测试或基 于程序本身的测试,也可成为程序员测试, 主要应用于结构化开发环境
2020/3/10
11
白盒测试
• 白盒测试的前提是可以把程序看成装在 一个透明的白盒子里,也就是完全了解 程序结构和处理过程。
• 白盒测试按照程序内部逻辑测试程序, 检验程序中每条通路是否按预定要求正 确工作。
• 黑盒测试法把程序看成一个黑盒子,完 全不考虑程序内部结构和处理过程。
• 黑盒测试是在程序接口进行测试,它只 是检查程序功能是否按照规格说明书的 规定正常使用。
• 黑盒测试又称功能测试。
2020/3/10
7
黑盒测试
产生 需求说 明
测试用例
比较
被测程序
输出 测试结 果
2020/3/10
8
黑盒测试
2020/3/10
28
单元测试-完成
单元测试
单元测试
单元测试
单元测试
单元测试
2020/3/10
29
集成测试
单元测试
单元测试
集 成 测 试 单元测试
单元测试
单元测试
2020/3/10
30
• 集成测试有渐增式和非渐增式两种方式
• 渐增式的集成中可以采用两种:“自顶向 下”和“自底向上”。
• 集成测试中,会混合使用白盒测试和黑盒 测试方法。
2020/3/10
2
软件测试的内容 • 回归测试 • 功能测试 • 负载测试 • 压力测试 • 性能测试 • 易用性测试 • 安装与反安装测试
2020/3/10
3
软件测试的内容 • 恢复测试 • 安全性测试 • 兼容性测试 • 内存泄露测试 • 比较测试 • Alpha 测试 • Beta测试
模块
独立路径
2020/3/10
边界条件
局部数据
26
单元测试-设计
• 原则
– 为模块正常运行设计 – 为正向测试设计 – 为逆向测试设计 – 为满足特殊需求设计 – 为代码覆盖设计
2020/3/10
27
单元测试-执行
• 检查编码是否遵循软件编程规范和标准 。
• 自动或手动分析程序。 • 设计测试用例并运行。 • 错误跟踪分析。
验收测试
2020/3/10
系统测试
35
回归测试
• 回归测试的范围
– 测试全部用例 – 问题修改后的检验 – 测试高风险模块/系统 – 基于操作剖面选择测试
2020/3/10
36
回归测试
• 回归测试的基本过程
– 识别出软件中被修改的部分 – 从原基线测试用例库T中,排除所有不再适
用的测试用例,确定那些对新的软件版本依 然有效的测试用例,其结果是建立一个新的 基线测试用例库T0 – 依据一定的策略从T0中选择测试用例测试被 修改的软件
2020/3/10
23
单元测试
• 软件单元测试由测试工程师编制测试用 例进行测试,及针对程序模块进行多次 循环反复的单元测试,并将测试结果记 录在针对单元测试的《软件测试报告》 上。
• 若程序模块通过单元测试,则按《配置 管理规范》所规定的标识方法进行标识 。
2020/3/10
24
单元测试-设计
– 对所有的逻辑判定,取“真”与取“假”的 两种情况都能至少测试一次。
– 在循环的边界和运行界限内执行循环体。
– 测试内部数据结构的有效性等。
2020/3/10
15
Baidu Nhomakorabea
白盒测试与黑盒测试的比较
测试依据 优点 缺点
2020/3/10
白盒测试
程序内部结构
能够对程序内部 的特定部位进行 覆盖测试
无法检验程序的 外特性
软件测试分类
• 黑盒和白盒测试 • 静态测试和动态测试 • 测试不同阶段 • 测试各种分类间关系
2020/3/10
1
软件测试的分类
对于软件测试,可以从不同的角度加以分类:
• 基于是否关注软件结构与算法
– 黑盒测试 – 白盒测试
• 基于是否执行被测试软件
– 静态测试 – 动态测试
• 基于测试的不同阶段
2020/3/10
18
动态测试是在测试过程中执行被测试软件,类似于试车。
2020/3/10
19
测试的过程
设
软
元系
流用
被测模块 单元
计 信
件
素统
需
其
程户 核
测试 测 息
求
它
心
试
被测模块 单元 测试
被测模块 单元 测试
通 过 的 模 块
集成 测试
确认
系统
已 测试 已 测试 可
集
确
交
成
认
付
的
的
的
软
软
软
单元测试
• 单元通常不是可运行的程序。
• 单元测试必须编写额外的可运行的测试驱动程序。
2020/3/10
22
单元测试
• 单元测试又称为模块测试,是针对程序 模块(软件设计的最小单位)来进行正 确性检验的测试工作。
• 软件单元测试的目的是检测程序模块对 《详细设计说明书》的符合程度;软件 单元测试依据是《单元测试计划》。
• 白盒测试又称结构测试。
2020/3/10
12
白盒测试
分析 源程序
测试用例
2020/3/10
覆盖情况 分析
被测程序 执行路径
13
白盒测试
• 典型白盒测试方法
– 静态分析 – 动态测试
2020/3/10
14
白盒测试
• 使用白盒测试方法,主要想对程序模块 进行如下的检查:
– 对程序模块的所有独立的执行路径至少测试 一次。
件
件
件
验收 测试
2020/3/10
20
测试不同阶段
• 按测试阶段分类,测试可分4个主要阶段: 单元测试、集成测试、系统测试和验收测 试。
• 这是一种从小到大、循序渐进的测试过程 。
• 单元测试是对程序员编写完成的一个个程 序单元进行测试。
2020/3/10
21
单元测试
单元测试
单元测试 单元测试
单元测试
• 为了保证测试的客观性,一般由机构的 独立测试小组来执行系统测试。
2020/3/10
33
验收测试
• 验收测试是由用户完成的测试 • 验收测试的内容与系统测试的内容类似 • 验收测试可以分成Alpha测试和Beta测试。
2020/3/10
34
单元测试
集成测试
回归测试 系统维护 二次开发 项目更新
2020/3/10
37
回归测试
• 回归测试的基本过程
– 如果必要,生成新的测试用例集T1,用于测 试T0无法充分测试的软件部分
– 用T1执行修改后的软件 – 第2和第3步测试验证修改是否破坏了现有的
功能,第4和第5步测试验证修改工作本身
2020/3/10
38
测试各种分类间关系
2020/3/10
39
2020/3/10
4
黑盒测试和白盒测试
黑盒测试
白盒测试
两种测试方法从不同的角度出 发,反映了软件的不同侧面,也
适用于不同的开发环境
2020/3/10
5
输入
输出
黑盒测试又称功能测试、数据驱动测试或 基于规格说明的测试,也可被成为用户测 试,主要应用于快速应用开发(RAD)环境
2020/3/10
6
黑盒测试
• 测试模型
– 驱动模块:相当于所测模块的主程序。
– 桩模块:也叫做存根模块。用以代替所测模 块调用的子模块。
测试用例
驱动模块
测试结果
被测模块
桩模块1 桩模块2
桩模块n
2020/3/10
25
单元测试-设计
• 考虑方面
– 模块接口测试 – 局部数据测试 – 独立路径测试 – 出错处理测试模块接口 出错处–理边界条件测试
• 集成测试可以发现模块间接口以及全局数 据结构等问题。
2020/3/10
31
系统测试
系统测试
2020/3/10
32
• 系统测试的目的是检查系统是否符合软件 需求
• 系统测试采用黑盒测试方式
• 系统测试的主要内容有:功能测试、健壮 性测试、性能-效率测试、用户界面测试 、安全性测试、压力测试、可靠性测试、 安装/反安装测试等。
• 典型黑盒测试方法
– 等价类划分 – 因果图 – 边界值分析
2020/3/10
9
黑盒测试
• 黑盒主要是为了发现以下几类错误:
– 是否有不正确或遗漏了的功能?
– 在接口上,输入能否正确地接受?能否输出 正确的结果?
– 是否有数据结构错误或外部信息(例如数据 文件)访问错误?
– 性能上是否能够满足要求? – 是否有初始化或终止性错误?
无法对未实现规 格说明的程序内 部欠缺部分进行 测试
黑盒测试 规格说明 能站在用户立场 上进行测试
不能测试程序内 部特定部位 如果规格说明有 误,则无法发现
16
白盒测试与黑盒测试的比较
AC
B
D
黑盒测试与白盒测试能够发现的错误
2020/3/10
17
静态测试和动态测试
静态测试不执行被测试的软件。类似于汽车检查。
2020/3/10
10
应用程序
白盒测试又称结构测试、逻辑驱动测试或基 于程序本身的测试,也可成为程序员测试, 主要应用于结构化开发环境
2020/3/10
11
白盒测试
• 白盒测试的前提是可以把程序看成装在 一个透明的白盒子里,也就是完全了解 程序结构和处理过程。
• 白盒测试按照程序内部逻辑测试程序, 检验程序中每条通路是否按预定要求正 确工作。
• 黑盒测试法把程序看成一个黑盒子,完 全不考虑程序内部结构和处理过程。
• 黑盒测试是在程序接口进行测试,它只 是检查程序功能是否按照规格说明书的 规定正常使用。
• 黑盒测试又称功能测试。
2020/3/10
7
黑盒测试
产生 需求说 明
测试用例
比较
被测程序
输出 测试结 果
2020/3/10
8
黑盒测试
2020/3/10
28
单元测试-完成
单元测试
单元测试
单元测试
单元测试
单元测试
2020/3/10
29
集成测试
单元测试
单元测试
集 成 测 试 单元测试
单元测试
单元测试
2020/3/10
30
• 集成测试有渐增式和非渐增式两种方式
• 渐增式的集成中可以采用两种:“自顶向 下”和“自底向上”。
• 集成测试中,会混合使用白盒测试和黑盒 测试方法。