软件测试流程和规范
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试方法和技术
- Ch.4软件测试流程和规范
第3章回顾
基于直觉和经验的方法 基于输入域的方法 基于组合及其优化的方法 基于逻辑覆盖的方法 基于模型的测试
……
第四章 软件测试流程和规范
4.1 测试过程模型 4.2敏捷测试过程 4.3测试过程改进模型 4.4 软件测试标准和规范 4.5建立软件测试管理和评判体系
验收
系统测试
确认
确认测试
集成
集成测试
编码
单元测试
W模型
W模型由两个V字型模型组成,分别代表测试与开 发过程,图中明确表示出了测试与开发的并行关 系。 W模型强调:测试伴随着整个软件开发周期,而且 测试的对象不仅仅是程序,需求、设计等同样要测 试,也就是说,测试与开发是同步进行的。 W模型有利于尽早地全面的发现问题。
Zhu.
TMap
TMap (Test Management Approach,测试管理方法) 是一种结构化的、基于风险策略的测试方法体系, 目的 能更早地发现缺陷,以最小的成本、有效地、彻底地 完成测试任务,以减少软件发布后的支持成本。
TMap所定义的测试生命周期由计划和控制、基础设施、 准备、说明、执行和完成等阶段组成。这个过程目前 被国际软件测试资质认证委员会所采用,成为测试过 程的标准。
4.1软件测试模型
V模型 W模型 H模ห้องสมุดไป่ตู้ TMAP
软件测试V模型
V模型
V模型是软件开发瀑布模型的变种,它反映了测试 活动与分析和设计的关系 。 从左到右,描述了基本的开发过程和测试行为,非 常明确地标明了测试过程中存在的不同级别,并且 清楚地描述了这些测试阶段和开发过程期间各阶段 的对应关系 。 左边依次下降的是开发过程各阶段,与此相对应的 是右边依次上升的部分,即各测试过程的各个阶 段。
例如,需求分析完成后,测试人员就应该参与到 对需求的验证和确认活动中,以尽早地找出缺陷 所在。同时,对需求的测试也有利于及时了解项 目难度和测试风险,及早制定应对措施,这将显 著减少总体测试时间,加快项目进度。
W模型局限性
在W模型中,需求、设计、编码等活动被视为串行 的,同时,测试和开发活动也保持着一种线性的前 后关系,上一阶段完全结束,才可正式开始下一个 阶段工作。这样就无法支持迭代的开发模型。对于 当前软件开发复杂多变的情况,W模型并不能解除 测试管理面临着的困惑。
(4) 说明阶段涉及定义测试用例和构建基础设施。 (5)执行阶段,需要分析预期结果和实际结果的区别, 发现缺陷并报告缺陷。 (6) 完成阶段包括对测试资料的维护以便于再利 用,创建一个最终的报告以及为了更好地控制将来的测 试过程对测试过程进行评估。
Zhu.
TMap三大基石
与软件开发生命周期一致的测试活动生命周期(L); 坚实的组织融合(O) 正确的基础设施和工具(I) 可用的技术(T)
TMap描述的生命周期模型
Zhu.
(1)计划和控制阶段涉及测试计划的创建,定义了执 行测试活动的“who,what,when,where and how”。
(2)基础设施建立测试执行、测试件管理、缺陷管理 等所需要的环境,包括自动化测试框架。
(3) 准备阶段决定软件说明书质量是否足以实现说明 书和测试执行的成功。
(2)标准学派 把测试看作侧重劣质成本控制并具有可重复标准的、 旨在衡量项目进度的一项工作,测试是对产品需求 的确认,每个需求都需要的到验证。
敏捷测试的特征
传统测试强调测试是由“验证”和“确认”两种活动构 成的,而敏捷测试没有这种区分,始终以用户需求为中 心,每时每刻不离用户需求,将验证和确认统一起来。
传统测试强调任何发现的缺陷要记录下来,以便进行缺 陷根本原因分析,达到缺陷预防的目的,并强调缺陷跟 踪和处理的流程,区分测试人员和开发人员的各自不同 的责任。而敏捷测试强调面对面的沟通、协作,强调团 队的责任,不太强调对缺陷的记录和跟踪。
H模型
H模型揭示: (1)软件测试不仅指测试执行,还包括很多其 他活动。 (2)软件测试是一个独立的流程,贯穿产品整 个生命周期,与其他流程并发地进行。 (3) H模型指出软件测试要尽早准备,尽早执行。 (4) 不同的测试活动可以是按照某个次序先后进行的, 但也可能是反复的,只要某个测试达到准备就 绪点,测试执行活动就可以开展。
传统测试没有自动化测试也是可以的。敏捷测试的持续 性迫切要求测试的高度自动化,在1-3天内就要完成整 个的验收测试。
Zhu.
4.3 软件测试学派
(1)分析学派 (2)标准学派 (3)质量学派 (4)上下文驱动学派 (5)敏捷学派
Zhu.
4.3 软件测试学派
(1)分析学派 认为软件是逻辑性的,将测试看作是计算机科学和 数学的一部分,结构化测试、代码覆盖率就是其中 一些典型的例子。
敏捷测试的特征
传统测试更强调测试的独立性,将“开发人员”和 “测试人员”角色分得比较清楚。
传统测试更具有阶段性,从需求评审、设计评审、单 元评审到集成测试、系统测试等,从测试计划、测试 设计再到测试执行、测试报告等。
传统测试强调测试的计划性,认为没有良好的测试计 划和不按计划执行测试就难以控制和管理,而敏捷测 试更强调测试的速度和适应性,侧重计划的不断调整 以适应需求变化。
TMap基本内容
Zhu.
4.2 敏捷测试过程
敏捷测试是符合敏捷测试宣言的思想、遵守 敏捷开发原则,在敏捷开发环境下能够很好地和 其整体开发流程融合的一系列测试实践。
敏捷测试强调测试人员的个人技能,始终保持 与客户/用户,其他成员(特别是业务人员、产 品设计人员等)的紧密协作,建立良好的测试框 架以适应需求的变化,更关注被测系统的本身而 不是测试文档(如测试计划、测试用例等)。
V模型
按V模型要求,在软件需求分析阶段需进行系 统测试计划和设计等方面的准备工作;在概要设计 阶段需进行集成测试计划和设计等方面的工作;在 详细设计阶段需进行单元测试计划和设计等方面的 工作;当编码完成并通过评审完成基线后,可依次 进入单元测试、集成测试和系统测试的执行阶段。
W模型
需求分析 需求测试 概要设计 功能测试 详细设计 设计测试
- Ch.4软件测试流程和规范
第3章回顾
基于直觉和经验的方法 基于输入域的方法 基于组合及其优化的方法 基于逻辑覆盖的方法 基于模型的测试
……
第四章 软件测试流程和规范
4.1 测试过程模型 4.2敏捷测试过程 4.3测试过程改进模型 4.4 软件测试标准和规范 4.5建立软件测试管理和评判体系
验收
系统测试
确认
确认测试
集成
集成测试
编码
单元测试
W模型
W模型由两个V字型模型组成,分别代表测试与开 发过程,图中明确表示出了测试与开发的并行关 系。 W模型强调:测试伴随着整个软件开发周期,而且 测试的对象不仅仅是程序,需求、设计等同样要测 试,也就是说,测试与开发是同步进行的。 W模型有利于尽早地全面的发现问题。
Zhu.
TMap
TMap (Test Management Approach,测试管理方法) 是一种结构化的、基于风险策略的测试方法体系, 目的 能更早地发现缺陷,以最小的成本、有效地、彻底地 完成测试任务,以减少软件发布后的支持成本。
TMap所定义的测试生命周期由计划和控制、基础设施、 准备、说明、执行和完成等阶段组成。这个过程目前 被国际软件测试资质认证委员会所采用,成为测试过 程的标准。
4.1软件测试模型
V模型 W模型 H模ห้องสมุดไป่ตู้ TMAP
软件测试V模型
V模型
V模型是软件开发瀑布模型的变种,它反映了测试 活动与分析和设计的关系 。 从左到右,描述了基本的开发过程和测试行为,非 常明确地标明了测试过程中存在的不同级别,并且 清楚地描述了这些测试阶段和开发过程期间各阶段 的对应关系 。 左边依次下降的是开发过程各阶段,与此相对应的 是右边依次上升的部分,即各测试过程的各个阶 段。
例如,需求分析完成后,测试人员就应该参与到 对需求的验证和确认活动中,以尽早地找出缺陷 所在。同时,对需求的测试也有利于及时了解项 目难度和测试风险,及早制定应对措施,这将显 著减少总体测试时间,加快项目进度。
W模型局限性
在W模型中,需求、设计、编码等活动被视为串行 的,同时,测试和开发活动也保持着一种线性的前 后关系,上一阶段完全结束,才可正式开始下一个 阶段工作。这样就无法支持迭代的开发模型。对于 当前软件开发复杂多变的情况,W模型并不能解除 测试管理面临着的困惑。
(4) 说明阶段涉及定义测试用例和构建基础设施。 (5)执行阶段,需要分析预期结果和实际结果的区别, 发现缺陷并报告缺陷。 (6) 完成阶段包括对测试资料的维护以便于再利 用,创建一个最终的报告以及为了更好地控制将来的测 试过程对测试过程进行评估。
Zhu.
TMap三大基石
与软件开发生命周期一致的测试活动生命周期(L); 坚实的组织融合(O) 正确的基础设施和工具(I) 可用的技术(T)
TMap描述的生命周期模型
Zhu.
(1)计划和控制阶段涉及测试计划的创建,定义了执 行测试活动的“who,what,when,where and how”。
(2)基础设施建立测试执行、测试件管理、缺陷管理 等所需要的环境,包括自动化测试框架。
(3) 准备阶段决定软件说明书质量是否足以实现说明 书和测试执行的成功。
(2)标准学派 把测试看作侧重劣质成本控制并具有可重复标准的、 旨在衡量项目进度的一项工作,测试是对产品需求 的确认,每个需求都需要的到验证。
敏捷测试的特征
传统测试强调测试是由“验证”和“确认”两种活动构 成的,而敏捷测试没有这种区分,始终以用户需求为中 心,每时每刻不离用户需求,将验证和确认统一起来。
传统测试强调任何发现的缺陷要记录下来,以便进行缺 陷根本原因分析,达到缺陷预防的目的,并强调缺陷跟 踪和处理的流程,区分测试人员和开发人员的各自不同 的责任。而敏捷测试强调面对面的沟通、协作,强调团 队的责任,不太强调对缺陷的记录和跟踪。
H模型
H模型揭示: (1)软件测试不仅指测试执行,还包括很多其 他活动。 (2)软件测试是一个独立的流程,贯穿产品整 个生命周期,与其他流程并发地进行。 (3) H模型指出软件测试要尽早准备,尽早执行。 (4) 不同的测试活动可以是按照某个次序先后进行的, 但也可能是反复的,只要某个测试达到准备就 绪点,测试执行活动就可以开展。
传统测试没有自动化测试也是可以的。敏捷测试的持续 性迫切要求测试的高度自动化,在1-3天内就要完成整 个的验收测试。
Zhu.
4.3 软件测试学派
(1)分析学派 (2)标准学派 (3)质量学派 (4)上下文驱动学派 (5)敏捷学派
Zhu.
4.3 软件测试学派
(1)分析学派 认为软件是逻辑性的,将测试看作是计算机科学和 数学的一部分,结构化测试、代码覆盖率就是其中 一些典型的例子。
敏捷测试的特征
传统测试更强调测试的独立性,将“开发人员”和 “测试人员”角色分得比较清楚。
传统测试更具有阶段性,从需求评审、设计评审、单 元评审到集成测试、系统测试等,从测试计划、测试 设计再到测试执行、测试报告等。
传统测试强调测试的计划性,认为没有良好的测试计 划和不按计划执行测试就难以控制和管理,而敏捷测 试更强调测试的速度和适应性,侧重计划的不断调整 以适应需求变化。
TMap基本内容
Zhu.
4.2 敏捷测试过程
敏捷测试是符合敏捷测试宣言的思想、遵守 敏捷开发原则,在敏捷开发环境下能够很好地和 其整体开发流程融合的一系列测试实践。
敏捷测试强调测试人员的个人技能,始终保持 与客户/用户,其他成员(特别是业务人员、产 品设计人员等)的紧密协作,建立良好的测试框 架以适应需求的变化,更关注被测系统的本身而 不是测试文档(如测试计划、测试用例等)。
V模型
按V模型要求,在软件需求分析阶段需进行系 统测试计划和设计等方面的准备工作;在概要设计 阶段需进行集成测试计划和设计等方面的工作;在 详细设计阶段需进行单元测试计划和设计等方面的 工作;当编码完成并通过评审完成基线后,可依次 进入单元测试、集成测试和系统测试的执行阶段。
W模型
需求分析 需求测试 概要设计 功能测试 详细设计 设计测试