第二章 软件测试与软件开发过程的关系ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目标:
检验组成整个系统的代码、以及系统的软硬件配合有无错误 代码实现的系统与用户需求是否吻合 检验系统的文档等各种是否完整、有效 模拟验收测试的要求,检查系统是否符合用户的验收标准
时机:
多数集成测试完成后
方法:
黑盒测试
责任:
测试工程师
-
测试过程-稳定期测试
系统测试:System Testing
增量 1 交付客户
分析
设计
编码源自文库
测试
增量 2 交付客户
分析
设计
编码
测试
增量 3 交付客户
……
分析
设计
编码
测试
增量 n 交付客户
图2-3 增量过程模型
日历时间
-
2.4 软件测试与软件开发过程的关系
对于软件测试与软件开发过程之间的关 系,套用固定的模型不是聪明之举。比如 “程序设计”与“测试”之间的关系,习惯 上总以为程序设计在先,测试在后,如下图 (a)所示。而对于一些复杂的程序,将测 试分为同步测试与总测试更有效,如下图 (b)所示。
-
2.3.1 瀑布过程模型
瀑布过程模型反映了人们早期对软 件工程的认识水平,是人们所熟悉的一 种线性思维的体现。
瀑布过程模型强调阶段的划分及其
顺序性、各阶段工作及其文档的完备性,
是一种严格线性的、按阶段顺序的、逐
步细化的开发模式,如图2-1所示。
-
图2-1 瀑布过程模型
-
2.3.2 螺旋过程模型
初测阶段 细测阶段 回归测试阶段
在集成测试的功能冻结和代码冻结 期间主要是进行回归测试。
-
单元测试:Unit Testing
目标:
检验程序最小单元有无错误
接口、数据结构、边界、覆盖、逻辑
检验单元编码与设计是否吻合
时机:
编码完成后,首先要实施的测试
方法:
静态测试 白盒测试
责任:
螺旋过程模型的基本思路是,依据 前一个版本的结果构造新的版本, 这个不断重复迭代的过程形成了一 个螺旋上升的路径,如图2-2所示。
-
图2-2 螺旋过程模型
-
2.3.3 增量过程模型
有些时候可能会用一种几乎连续的过 程小幅度地推进项目,这就是增量过程 模型,如图2-3所示。
-
增量 分析
设计
编码
测试
编写和文件档案专员 结构管理和制作人员
-
2.3 软件过程模型
软件开发过程中存在各种复杂因素,为了 解决由此而带来的种种问题,软件开发者 们经过多年的摸索,给出了多种实现软件 工程的方式——软件过程模型。
-
大爆炸式开发模式(SKIP) 边写边改模式(SKIP) 瀑布过程模型 螺旋过程模型 增量过程模型 极限编程(XP) (SKIP)等
开发工程师
-
测试过程-集成测试
集成测试:Integration Testing
目标:
检验组成系统的模块接口有无错误 代码实现的系统设计与需求定义是否吻合
时机:
主要的单元测试完成后,经常与单元测试同步进行
方法:
黑盒测试
责任:
开发工程师 测试工程师
-
测试过程-系统测试
系统测试:System Testing
-
需求分析 确认测试
软件设计 集成测试
编码 单元测试
需求分 析说明
书
概要设 计说明
书
详细设 计说明
书
源程序 代码
单元测 试
集成测 试
确认测 试
软件测试与软件开发的关系
-
2.5 软件开发对应的测试过程
用户需求 规格定义 设计 编码 配置管理
验收测试
系统测试 回
集成测试
归 测
单元测试
试
缺陷跟踪
-
软件测试的三个阶段
方法:
黑盒测试
责任:
产品经理或其他高级经理 开发工程师 测试工程师 用户
-
测试过程-回归测试
回归测试:Regression Testing
目标:
验证程序修改或者版本更新以后,以前正确的功能和其 他指标仍旧正确。
时机:
每次错误修改之后,或者版本更新之后
方法:
白盒测试/黑盒测试
第二章 软件测试与软件开 发过程的关系及测试过程
-
2.1 软件产品组成
1.软件产品需要各种开发投入 2.客户需求 3.产品说明 4.设计文档 5.测试文档 6.开发进度 7.软件产品的其他组成部分
-
2.2 软件开发项目组
软件项目经理 系统设计师 程序员 软件测试员/测试师 技术制作、用户助手、用户培训员、手册
责任:
开发工程师 测试工程师
-
测试过程-缺陷跟踪
缺陷跟踪:Defect Tracing
目标:
确保所有发现的错误被正确记录、分发、评估、关闭、统计
时机:
从错误发现开始到错误关闭为止,每次错误状态修改之后
方法:
缺陷跟踪系统
责任:
开发工程师 测试工程师 测试经理 用户
-
稳定期测试
目标:
度量是否可以结束测试
时机:
传统的系统测试完成后
方法:
黑盒测试
责任:
测试工程师
-
测试过程-验收测试
验收测试:Acceptance Testing
目标:
使客户验收签字 系统是否符合事先约定的验收标准
时机:
系统测试完成后,在项目组看来开发和测试工作已经全 部完成,可以交付使用
-
程 序 设 计
测 试
( a) 程 序 设 计 在 先 测 试 在 后
程 序 设 计 同 步 测 试
总 测 试
( b) 测 试 分 为 同 步 测 试 与 总 测 试
程序设计与测试的关系
-
现 在 还 有 一 种 全 新 的 软 件 开 发 模 式 —— 以测试驱动软件开发思想
软件测试是贯穿于软件开发过程的。 软件生存周期的各个阶段中都少不了相 应的测试,软件生存周期各个阶段的测 试分别对应于软件测试过程中的单元测 试、集成测试、系统测试和确认测试, 如下图所示。这种对应关系有利于软件 开发过程的管理和软件质量的控制。
检验组成整个系统的代码、以及系统的软硬件配合有无错误 代码实现的系统与用户需求是否吻合 检验系统的文档等各种是否完整、有效 模拟验收测试的要求,检查系统是否符合用户的验收标准
时机:
多数集成测试完成后
方法:
黑盒测试
责任:
测试工程师
-
测试过程-稳定期测试
系统测试:System Testing
增量 1 交付客户
分析
设计
编码源自文库
测试
增量 2 交付客户
分析
设计
编码
测试
增量 3 交付客户
……
分析
设计
编码
测试
增量 n 交付客户
图2-3 增量过程模型
日历时间
-
2.4 软件测试与软件开发过程的关系
对于软件测试与软件开发过程之间的关 系,套用固定的模型不是聪明之举。比如 “程序设计”与“测试”之间的关系,习惯 上总以为程序设计在先,测试在后,如下图 (a)所示。而对于一些复杂的程序,将测 试分为同步测试与总测试更有效,如下图 (b)所示。
-
2.3.1 瀑布过程模型
瀑布过程模型反映了人们早期对软 件工程的认识水平,是人们所熟悉的一 种线性思维的体现。
瀑布过程模型强调阶段的划分及其
顺序性、各阶段工作及其文档的完备性,
是一种严格线性的、按阶段顺序的、逐
步细化的开发模式,如图2-1所示。
-
图2-1 瀑布过程模型
-
2.3.2 螺旋过程模型
初测阶段 细测阶段 回归测试阶段
在集成测试的功能冻结和代码冻结 期间主要是进行回归测试。
-
单元测试:Unit Testing
目标:
检验程序最小单元有无错误
接口、数据结构、边界、覆盖、逻辑
检验单元编码与设计是否吻合
时机:
编码完成后,首先要实施的测试
方法:
静态测试 白盒测试
责任:
螺旋过程模型的基本思路是,依据 前一个版本的结果构造新的版本, 这个不断重复迭代的过程形成了一 个螺旋上升的路径,如图2-2所示。
-
图2-2 螺旋过程模型
-
2.3.3 增量过程模型
有些时候可能会用一种几乎连续的过 程小幅度地推进项目,这就是增量过程 模型,如图2-3所示。
-
增量 分析
设计
编码
测试
编写和文件档案专员 结构管理和制作人员
-
2.3 软件过程模型
软件开发过程中存在各种复杂因素,为了 解决由此而带来的种种问题,软件开发者 们经过多年的摸索,给出了多种实现软件 工程的方式——软件过程模型。
-
大爆炸式开发模式(SKIP) 边写边改模式(SKIP) 瀑布过程模型 螺旋过程模型 增量过程模型 极限编程(XP) (SKIP)等
开发工程师
-
测试过程-集成测试
集成测试:Integration Testing
目标:
检验组成系统的模块接口有无错误 代码实现的系统设计与需求定义是否吻合
时机:
主要的单元测试完成后,经常与单元测试同步进行
方法:
黑盒测试
责任:
开发工程师 测试工程师
-
测试过程-系统测试
系统测试:System Testing
-
需求分析 确认测试
软件设计 集成测试
编码 单元测试
需求分 析说明
书
概要设 计说明
书
详细设 计说明
书
源程序 代码
单元测 试
集成测 试
确认测 试
软件测试与软件开发的关系
-
2.5 软件开发对应的测试过程
用户需求 规格定义 设计 编码 配置管理
验收测试
系统测试 回
集成测试
归 测
单元测试
试
缺陷跟踪
-
软件测试的三个阶段
方法:
黑盒测试
责任:
产品经理或其他高级经理 开发工程师 测试工程师 用户
-
测试过程-回归测试
回归测试:Regression Testing
目标:
验证程序修改或者版本更新以后,以前正确的功能和其 他指标仍旧正确。
时机:
每次错误修改之后,或者版本更新之后
方法:
白盒测试/黑盒测试
第二章 软件测试与软件开 发过程的关系及测试过程
-
2.1 软件产品组成
1.软件产品需要各种开发投入 2.客户需求 3.产品说明 4.设计文档 5.测试文档 6.开发进度 7.软件产品的其他组成部分
-
2.2 软件开发项目组
软件项目经理 系统设计师 程序员 软件测试员/测试师 技术制作、用户助手、用户培训员、手册
责任:
开发工程师 测试工程师
-
测试过程-缺陷跟踪
缺陷跟踪:Defect Tracing
目标:
确保所有发现的错误被正确记录、分发、评估、关闭、统计
时机:
从错误发现开始到错误关闭为止,每次错误状态修改之后
方法:
缺陷跟踪系统
责任:
开发工程师 测试工程师 测试经理 用户
-
稳定期测试
目标:
度量是否可以结束测试
时机:
传统的系统测试完成后
方法:
黑盒测试
责任:
测试工程师
-
测试过程-验收测试
验收测试:Acceptance Testing
目标:
使客户验收签字 系统是否符合事先约定的验收标准
时机:
系统测试完成后,在项目组看来开发和测试工作已经全 部完成,可以交付使用
-
程 序 设 计
测 试
( a) 程 序 设 计 在 先 测 试 在 后
程 序 设 计 同 步 测 试
总 测 试
( b) 测 试 分 为 同 步 测 试 与 总 测 试
程序设计与测试的关系
-
现 在 还 有 一 种 全 新 的 软 件 开 发 模 式 —— 以测试驱动软件开发思想
软件测试是贯穿于软件开发过程的。 软件生存周期的各个阶段中都少不了相 应的测试,软件生存周期各个阶段的测 试分别对应于软件测试过程中的单元测 试、集成测试、系统测试和确认测试, 如下图所示。这种对应关系有利于软件 开发过程的管理和软件质量的控制。