8软件测试流程和规范
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
敏捷测试的特征
传统测试更强调测试的独立性,将“开发人员”和
“测试人员”角色分得比较清楚。
传统测试更具有阶段性,从需求评审、设计评审、单
元评审到集成测试、系统测试等,从测试计划、测试 设计再到测试执行、测试报告等。
传统测试强调测试的计划性,认为没有良好的测试计
划和不按计划执行测试就难以控制和管理,而敏捷测 试更强调测试的速度和适应性,侧重计划的不断调整 以适应需求变化。
概要设计
功能测试
确认
确认测试
详细设计
设计测试
集成
集成测试
编码
单元测试
W模型
W模型由两个V字型模型组成,分别代表测试与开 发过程,图中明确表示出了测试与开发的并行关 系。 W模型强调:测试伴随着整个软件开发周期,而且 测试的对象不仅仅是程序,需求、设计等同样要测 试,也就是说,测试与开发是同步进行的。 W模型有利于尽早地全面的发现问题。 例如,需求分析完成后,测试人员就应该参与到 对需求的验证和确认活动中,以尽早地找出缺陷 所在。同时,对需求的测试也有利于及时了解项 目难度和测试风险,及早制定应对措施,这将显 著减少总体测试时间,加快项目进度。
Zhu.Kerry@gmail.com
4.4.4 STEP
1. STEP(Systematic Test and Evaluation Process,系统化测试和 评估过程)是一个内容参考模型,认定测试是一个生 命周期活动,在明确需求后开始直到系统退役。 2. STEP与CTP比较类似,而不像TMMI和TPI,并不 要求改进需要遵循特定的顺序。 3. 某些情况下,STEP评估模型可以与TPI成熟度模型 结合起来使用
Zhu.Kerry@gmail.com
把测试看作侧重劣质成本控制并具有可重复标准的、
旨在衡量项目进度的一项工作,测试是对产品需求
的确认,每个需求都需要的到验证。
4.3 软件测试学派
(3)质量学派
软件质量需要规范,测试就是过程的质量控制、揭 示项目质量风险的活动,确定开发人员是否遵守规 范,测试人员扮演产品质量的守门员角色。
Zhu.Kerry@gmail.com
•
TPI成熟度矩阵
Zhu.Kerry@gmail.com
4.4.3 CTP
Zhu.Kerry@gmail.com
关键测试过程(Critical Test Process,CTP)评估模 型主要是一个内容参考模型,一个上下文相关的方法 ,并能对模型进行裁剪。
敏捷测试的特征
传统测试强调测试是由“验证”和“确认”两种活动构
成的,而敏捷测试没有这种区分,始终以用户需求为中 心,每时每刻不离用户需求,将验证和确认统一起来。
传统测试强调任何发现的缺陷要记录下来,以便进行缺
陷根本原因分析,达到缺陷预防的目的,并强调缺陷跟 踪和处理的流程,区分测试人员和开发人员的各自不同 的责任。而敏捷测试强调面对面的沟通、协作,强调团 队的责任,不太强调对缺陷的记录和跟踪。
TMap三大基石
Zhu.Kerry@gmail.com
与软件开发生命周期一致的测试活动生命周期(L); 坚实的组织融合(O) 正确的基础设施和工具(I)
可用的技术(T)
TMap基本内容
Zhu.Kerry@gmail.com
4.2 敏捷测试过程
敏捷测试是符合敏捷测试宣言的思想、遵守 敏捷开发原则,在敏捷开发环境下能够很好地和 其整体开发流程融合的一系列测试实践。 敏捷测试强调测试人员的个人技能,始终保持 与客户/用户,其他成员(特别是业务人员、产 品设计人员等)的紧密协作,建立良好的测试框 架以适应需求的变化,更关注被测系统的本身而 不是测试文档(如测试计划、测试用例等)。
1. 2. 3. 4. 5. 6. 7. 8. 对相关利益者的承诺 介入程度 测试策略 测试组织 沟通 报告 测试过程管理 估算和计划 9.度量 10.缺陷管理 11.测试件管理 12.测试方法实践 13.测试人员专业化 14.测试用例设计 15.测试工具 16.测试环境
Zhu.Kerry@gmail.com
他活动。
(2)软件测试是一个独立的流程,贯穿产品整 个生命周期,与其他流程并发地进行。 (3) H模型指出软件测试要尽早准备,尽早执行。 (4) 不同的测试活动可以是按照某个次序先后进行的,
但也可能是反复的,只要某个测试达到准备就
绪点,测试执行活动就可以开展。
TMap
Zhu.Kerry@gmail.com
Zhu.Kerry@gmail.com
• • • •
TPI 检查点和建议
• 为了能客观地决定各个关键域的级别,TPI模型提供 了一种度量工具——检查点。每个级别都有若干个检 查点,测试过程只有在满足了这些检查点的要求之后, 才意味着它达到了特定的级别 检查点帮助我们发现测试过程中的问题,而建议会帮 助我们解决问题,最终改进测试过程。建议不仅包含 对如何达到下个级别的指导,而且还包括一些具体的 操作技巧、注意事项等。
使用CTP的过程改进,始于对现有测试过程的评估,
通过评估以识别过程的强弱,并结合组织的需要提供
改进的意见。
计划(Plan)、准备(Prepare)、执行(Perform)和完 善 (Perfect);计划和完善主要是管理工作,准备和执 行是实践工作。
CTP 12个关键过程
1. 测试 2. 建立上下文关系和测试环境(Conext) 3. 质量风险评估 4. 测试估算 5. 测试计划 6. 测试团队开发 7. 测试(管理)系统开发 8. 测试发布管理 9. 测试执行 10. 缺陷报告 11. 测试结果报告 12. 变更管理
(4)上下文驱动学派
Zhu.Kerry@gmail.com
认为软件是人创造的,测试所发现每一个缺陷都和相关利益
者密切相关;认为测试一种有技巧的心里活动;强调的人的 能动性和启发式测试思维。探索性测试就是其典型代表。
4.3 软件测试学派
(5)敏捷学派
认为软件是持续不断的对话,而测试就是验证开发 工作是否完成,强调自动化测试。TDD是其典型代 表。
传统测试没有自动化测试也是可以的。敏捷测试的持续
性迫切要求测试的高度自动化,在1-3天内就要完成整 个的验收测试。
4.3 软件测试学派
(1)分析学派 (2)标准学派 (3)质量学派 (4)上下文驱动学派 (5)敏捷学派
Zhu.Kerry@gmail.com
4.3 软件测试学派
(1)分析学派
认为软件是逻辑性的,将测试看作是计算机科学和 数学的一部分,结构化测试、代码覆盖率就是其中 一些典型的例子。 (2)标准学派
Zhu.Kerry@gmail.com
4.5 软件测试标准和规范 4.5.1 概述
1.国际标准 2.国家标准
3.行业标准
4.企业规范
5.项目规范
4.5.2 ISO/GB软件质量体系标准 ISO9000是什么?
• ISO 9000 的由来 • ISO 9000 总休思想
• ISO 9000体系结构
4.4.1 TMM
测试成熟度模型(TMM, Test Maturity Model):
——过程能力描述了遵循一个软件测试过程可能达到的预 期结果的范围。了解过程能力对于预测产品质量是十分关 键的。 TMM的基本原理: ——TMM也将测试过程成熟度分为5个等级——初始级、 定义级、集成、管理&度量和优化。每一个等级包括已定 义的过程域,组织在升级到更高一个等级之前,需要完全 满足前一个等级的过程域。要达到特定的等级需要实现一 系列的预先定义好的成熟度目标和附属目标。
被国际软件测试资质认证委员会所采用,成为测试过 程的标准。
TMap描述的生命周期模型
Zhu.Kerry@gmail.com
(1)计划和控制阶段涉及测试计划的创建,定义了执 行测试活动的“who,what,when,where and how”。 (2)基础设施建立测试执行、测试件管理、缺陷管理 等所需要的环境,包括自动化测试框架。 (3) 准备阶段决定软件说明书质量是否足以实现说明 书和测试执行的成功。 (4) 说明阶段涉及定义测试用例和构建基础设施。 (5)执行阶段,需要分析预期结果和实际结果的区别, 发现缺陷并报告缺陷。 (6) 完成阶段包括对测试资料的维护以便于再利 用,创建一个最终的报告以及为了更好地控制将来的测 试过程对测试过程进行评估。
4.1软件测试模型
V模型
W模型
H模型
TMAP
软件测试V模型
V模型
V模型是软件开发瀑布模型的变种,它反映了测试 活动与分析和设计的关系 。 从左到右,描述了基本的开发过程和测试行为,非 常明确地标明了测试过程中存在的不同级别,并且 清楚地描述了这些测试阶段和开发过程期间各阶段 的对应关系 。 左边依次下降的是开发过程各阶段,与此相对应的 是右边依次上升的部分,即各测试过程的各个阶 段。
TPI 级别
• 为了了解过程在每个关键域所处的状态,即对关键域 的评估结果,通过级别来体现。模型提供了12个级别, 由A到M,A是最低级。根据测试过程的可视性改善、 测试效率的提高、或成本的降低以及质量的提高,级 别会有所上升。例如,对于关键域“报告”4个级别 分别如下: (1)报告发现的缺陷 (2)报告测试过程的进度 (3)定义系统风险以及根据度量提供建议 (4)提供具有测试过程改进特征的建议
软件测试方法和技术
- Ch.4软件测试流程和规范
第3章回顾
基于直觉和经验的方法 基于输入域的方法 基于组合及其优化的方法
基于逻辑覆盖的方法
基于模型的测试
……
第四章 软件测试流程和规范
4.1 测试过程模型 4.2敏捷测试过程
4.3测试过程改进模型
4.4 软件测试标准和规范
4.5建立软件测试管理和评判体系
Zhu.Kerry@gmail.com
4.4 测试过程改进模型
4.4.1 TMM 4.4.2 TPI 4.4.3 CTP 4.4.4 STEP
Zhu.Kerry@gmail.com
4.4.1 TMM
软件能力成熟度模型(CMM, Capability Maturity Model):
——是软件行业标准模型,用来定义和评价软件企业开发过程的成熟 度,提供如何做才能够提高软件质量的指导。 CMM的基本原理: ——CMM将软件组织的过程能力成熟度分为5个级别,每一个级别定 义一组过程能力目标,并描述要达到这些目标应该采取的各种实践活 动。 CMM的主要作用: ——提供了一个软件过程改进的框架。根据CMM模型,软件开发者 (机构或组织)能够大幅度的提高按计划、高效率、低成本的提交有 质量保证的软件产品的能力。
TMap (Test Management Approach,测试管理方法)
是一种结构化的、基于风险策略的测试方法体系, 目的 能更早地发现缺陷,以最小的成本、有效地、彻底地 完成测试任务,以减少软件发布后的支持成本。 TMap所定义的测试生命周期由计划和控制、基础设施、
准备、说明、执行和完成等阶段组成。这个过程目前
V模型wk.baidu.com
按V模型要求,在软件需求分析阶段需进行系 统测试计划和设计等方面的准备工作;在概要设计 阶段需进行集成测试计划和设计等方面的工作;在 详细设计阶段需进行单元测试计划和设计等方面的 工作;当编码完成并通过评审完成基线后,可依次 进入单元测试、集成测试和系统测试的执行阶段。
W模型
需求分析 需求测试 验收 系统测试
TMM的5个级别简要描述
TMM的4个级别内容
4.4.2 TPI
TPI( Test process improvementce测试过程改进)是业务 驱动的,基于连续性表示法的测试过程改进的参考模型, 是在软件控制、测试知识以及过往经验的基础上开发出来 的。
Zhu.Kerry@gmail.com
TPI 16个关键域
ISO 软件质量标准
ISO (International Standardization Organization, 国际标准化组织) TC/176技术委员会制定的所有国际 标准
W模型局限性
在W模型中,需求、设计、编码等活动被视为串行 的,同时,测试和开发活动也保持着一种线性的前 后关系,上一阶段完全结束,才可正式开始下一个 阶段工作。这样就无法支持迭代的开发模型。对于 当前软件开发复杂多变的情况,W模型并不能解除 测试管理面临着的困惑。
H模型
H模型揭示: (1)软件测试不仅指测试执行,还包括很多其