软件测试流程与规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

※ 软件测试的过程
被测模块 被测模块
单元 测试




















单元 测试
基本可 交付的 软件
集成 测试
已集成 的软件
确认 测试
已确认 的软件
系统 测试
验收 测试
基本可 交付的 软件
被测模块
单元 测试
3.软件测试过程模型
※ 软件测试的各个阶段
3.软件测试过程模型
阶段
需求评审
➢ W模型优点
− 测试贯穿于整个软件开发生命周期; − 测试对象不仅仅是程序,还包括需求和设计规格说明等; − 测试与开发同步; − 可以尽早、全面发现问题。
➢ W模型缺点
− 为串行结构,需等上一阶段活动结束后才能开展下一活动。
3.软件测试过程模型
※ H模型
H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他 流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行 到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不 同而分层次进行。 与前两种模型相比,H模型充分地体现了测试过程。H模型揭示了: ➢ 软件测试不仅仅指测试的执行, 还包括很多其他的活动。 ➢ 软件测试是一个独立的流程, 贯穿软件开发周期, 与其它流程并发进行。 ➢ 软件测试要尽早准备, 尽早执行。 ➢ 软件测试根据被测物的不同是分层次的,不同层次的测试活动可以是 按照某个次序先后进行的, 但也可能是反复的
2. 准备阶段。决定软件说明书质量是否足以实现说明书和测试执行的成 功。
3. 说明阶段。定义测试用例和构建基础设施。一旦测试目标确定,测试 执行阶段就开始。
4. 执行阶段。需要分析预计结果的区别,发现缺陷并报告缺陷 5. 完成阶段,包括对测试用例的维护以及再利用,创建一个最终报告以
及为了更好的控制将来的测试过程对测试过程进行评估
设计审查
输入
输出
需求定义, 市场分析文档, 相关技术文档 市场需求分析会议记要 , 功能设计, 技术设计
市场需求文档, 技术设计文档
测试计划, 测试用例
单元测试 集成测试 系统测试
代码完成文件包,功能详细设计说明书 最终技术文档 代码修改后的文件包 完整测试用例,完备的测试计划
确认测试 代码冻结文件包 确认测试用例
系统缺陷尽可能多地暴露出来
➢ V模型缺点
− 把软件的开发视为需求、设计、编码等一系列串行的活动。同样开发和测试 保持一种线性的前后关系,需要有严格的指令表示上一阶段完全结束,才可 正式开始下一个阶段。这样就无法支持迭代、自发性以及变更调整。
3.软件测试过程模型
※ W模型
➢ 由于各种原因,开发的每一个环节都可能产生错误,如果坚持各个阶 段的技术评审,就可尽早发现和预防错误。软件开发与测试的W模型, 形象地说明了软件测试与开发的同步性。
2.敏捷宣言
※ 敏捷宣言
敏捷宣言,也叫做敏捷软件开发宣言,正式宣布了对四种核心价值 和十二条原则,可以指导迭代的以人为中心的软件开发方法。 ➢ 敏捷宣言强调的敏捷软件开发的四个核心价值是: − 个体和互动高于流程和工具 − 工作的软件高于详尽的文档 − 客户合作高于合同谈判 − 响应变化高于遵循计划
3.软件测试过程模型
测试准备
测试就绪点 测试执行
测试流程
其他流程
3.软件测试过程模型
➢ H模型特点
− 强调软件测试不仅仅指执行测试,还包括很多其它的活动。 − 强调软件测试是一个独立的流程,贯穿整个生命周期,与其他流程并发地进行。 − 强调测试要尽早准备,尽早执行。 − 强调测试是根据测试物的不同而分层次进行的。
※ 螺旋模型示意图
累计成本
制定计划
风险分析
风险分析
风险分析
提交线
原型1 需求计划
开发计划 集成与测试 评估方案
需求 确定
设计 确定
实现
原型2 原型3
软件 需求
软件产 品设计
可运行 原型
详细设计 编码
单元测试
集成测试 验收测试
2.软件过程模型
※ RUP示意图
※ XP示意图
2.软件过程模型
3.软件测试过程模型
➢ X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和 测试,此后将进行频繁的交接,通过集成最终合成为可执行的程序。 (右上半部分),这些可执行程序还需要进行测试。
3.软件测试过程模型
4.TMAP
※ TMap (Test Management Approach,测试管理方法)是一 种结构化的、基于风险策略的测试方法体系, 目的能更早地发现 缺陷,以最小的成本、有效地、彻底地完成测试任务,以减少 软件发布后的支持成本。
试用例,建立测试 重新测试,检查, 评估测试过程
的基础设施
评估等活动
P&C(计划和控制):包括评审和研究,开发测试策略(风险分析、测 试估算等),简历测试组织,准备计划,管理和控制等。
4.TMAP
※ TMap测试过程
1. 计划和控制阶段,测试计划的创建,定义了执行测试活动的 “who,what,when,where and how”。在测试过程中,通过定期和 临时的报告,库户可以经常收到关于产品质量和风险的更新。
4.TMAP
※ TMAP方法模型基本内容
➢ 一个基于风险的测试方法 ➢ 基于风险的测试策略,来有效的分配测 试投入 ➢ 在测试规划的各个时间点进行商业投入
4.TMAP
※ TMap描述的生命周期模型
p(准备): 包括可测试性 评审,确定技 术方法
S(说明):
E(执行):包 C(完成):包
包括详细的设计测 括预测试,测试, 括维护测试件、
详细 设计
说明 书
源程 序代 码
单元 测试
集成 测试
确认 测试
3.软件测试过程模型
※ V模型
➢ V模型是最具有代表性的测试模型。V模型最早是由Paul Rook在20世 纪80年代后期提出的,V模型在英国国家计算中心文献中发布,旨在 改进软件开发的效率和效果。
➢ 在V模型中,描述了一些不同的测试级别,并说明了这些级别所对应 的生命周期中不同的阶段,清楚地描述了这些测试阶段和开发过程期 间的对应关系。
构建系统
系统测试ቤተ መጻሕፍቲ ባይዱ
详细设计
测试规格说 明
构建软件
集成测试
编码
单元测试
每个开发活动后都可以执行相应的测试!
3.软件测试过程模型
➢ W模型特点
− 在V模型的基础上,增加开发阶段的同步测试,形成W模型;测试与开发同步 进行,有利用尽早的发现问题
− 局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一 阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更 调整
成任务 6. 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈 7. 可用的软件是衡量进度的主要指标 8. 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持长期
稳定的开发速度 9. 对技术的精益求精、对设计的不断完善将提升敏捷性 10. 简单——尽最大可能减少不必要的工作——一门艺术 11. 最佳的架构、需求和设计出自于自组织的团队 12. 团队要定期反省如何能够做到更有效,并相应地调整团队的行为
4.TMAP
※ TMap Next
测试应该如何做;无论是系统,程序,软件或者硬件的改变,都会影 响商业的连续性和最终质量。相关的风险需要能够管理起来,而且需 要尽早管理和最低代价管理。TMap next的方法描述:什么是计划内 变更的风险要素,如何管理和维持一个复杂的系统和程序的质量,如 何控制测试成本。
3.软件测试过程模型
必需在编码工作结束后才能进行测试!
3.软件测试过程模型
➢ V模型特点
− V模型有阶段性、顺序性和依赖性 − V模型的测试策略既包括低层测试又包括高层测试(低层测试为了检查源代码,
高层测试为了使整个系统满足用户的需求) − V模型有质量保证的观点
➢ V模型优点
− 应用瀑布模型的思想将复杂的测试工作按阶段划成各个小阶段来实现 − 从多角度测试系统:将系统从模块到集成再到系统和用户测试的思路可以使
3.软件测试过程模型
※ X模型
➢ X模型的基本思想是由Marick提出的,但首先是Marick不建议要建立 一个替代模型。Robin F·Goldsmith引用了一些Marick的想法,并重 新经过组织,形成了“X模型”。
➢ 其实并不是为了和V模型相对应而选择这样的名字,而是由于其它一 些原因:X通常代表未知,而Marick也认为他的观点并不足以支撑一 个模型的完整描述,但其中已经有一个模型所需要的一些主要内容, 其中也包括了象探索性测试(exploratory testing)这样的亮点。 。
➢ TMap所定义的测试生命周期由计划和控制、准备、说明、执行和完 成等阶段组成
➢ 目的:本管理办法是软件测试的一份指导性文件,对软件测试过程中 所涉及到角色职责、计划、流程、用例、缺陷管理过程进行总体规范, 以有效保证软件产品的质量。
4.TMAP
※ TMAP四大基石
➢ 与软件开发生命周期一致的测试活动生命周期(L); ➢ 坚实的组织融合(O) ➢ 正确的基础设施和工具(I) ➢ 可用的技术(T)
第四章 软件测试流程与规范
目录
1 传统的软件测试过程 2 敏捷测试过程 3 软件测试学派 4 基于风险的测试策略 5 测试过程改进 6 软件测试规范
1
传统的软件测试过程
1.软件测试过程
※ 从软件工程角度
需求 评审
设计 评审
单元与集 成测试
系统 测试
验收 测试
※ 从项目管理角度
计划
设计
开发
执行
评估
4.TMAP
※ TMap的优势
TMap提供了一个完整的、一致的、灵活的方法可以根据特定的环境 想、创建 量身定制的测试方法,以及在不同的环境中可以采用的通用 的方法从而适用于各种行业以及各种规模的组织。
4.TMAP
※ Tmap其他方法
➢ TPI,一个逐步完善测试过程的模型 ➢ TAKT,测试自动化的方法 ➢ Tsite,如何在一个永久的测试组织中实施测试过程 ➢ TEmb,测试嵌入系统
➢ W模型由Evolutif公司提出,相对于V模型,W模型更科学。W模型是 V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的 对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同 步进行的,从而有利于尽早地发现问题。
3.软件测试过程模型
需求分析 需求测试
安装
验收测试
概要设计 测试设计
4.TMAP
※ TMap next方法包括四个要素
➢ 业务驱动测试管理方法BDTM ➢ 结构化的测试流程 ➢ 完整的工具包 ➢ 自适应的测试方法
4.TMAP
※ TMap Next描述的生命周期模型
2
敏捷测试过程
1.敏捷测试的定义
※ 敏捷测试的定义
敏捷测试(Agile testing)是测试的一种,原有测试定义中通过执行 被测系统发现问题,通过测试这种活动能够提供对被测系统提供度 量等概念还是适用的。 敏捷测试是遵循敏捷宣言的一种测试实践: ① 强调从客户的角度,即是从使用系统的用户的角度,来测试系统。 ② 重点关注持续迭代的测试新开发的功能,而不再强调传统测试过程 中严格的测试阶段。 ③ 建议尽早开始测试,一旦系统某个层面可测,比如提供了模块功能, 就要开始模块层面的单元测试,同时随着测试深入,持续进行回归 测试保证之前测试过内容的正确性。
报告
2.软件过程模型
※ 瀑布模型 ※ 原型模型 ※ RAD模型 ※ 改进的V模型 ※ 螺旋模型 ※ 增量模型和迭代模型 ※ 构件组装模型 ※ 并发模型 ※ XP模型
2.软件过程模型
※ 瀑布模型示意图
2.软件过程模型
※ 增量模型示意图
需求分析 设计 编码1 测试1
编码2 编码3
测试2 测试3
2.软件过程模型
2.敏捷宣言
➢ 遵循的原则:
1. 尽早和持续地交付有价值的软件来满足客户 2. 欢迎需求变更——即使是在项目开发后期。要善于利用需求变更,帮助客
户获得竞争优势 3. 要不断交付可用的软件,周期从几周到几个月不等,且越短越好 4. 项目过程中,业务人员与开发人员必须在一起工作 5. 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完
版本发布 代码发布文件包 测试计划检查清单
完整测试用例,完备的测试计划, 缺陷报告, 功能验证测试报告
缺陷报告 缺陷状态报告 项目阶段报告 缺陷状态报告 缺陷报告审查 版本审查
当前版本已知问题的清单 版本发布报告
3.软件测试过程模型
※ 软件测试与软件开发各阶段的关系
需求 分析
说明 书
概要 设计 说明 书
➢ H模型优点
− 将软件测试从开发中独立出来,有利于测试人员研究更深的测试技术。 − 如果测试组同时要测试多个项目或产品时,可以实现对测试技术成果的重复利用
及测试人员高效调整。 − 在缺陷修复问题上不会受某项目组内部人员的限制。
➢ H模型缺点
− 独立的测试组使得测试人员对系统认识不够深入,影响测试质量及测试效率。
相关文档
最新文档