软件测试流程

一、软件开发的生命周期

软件生命周期是指从软件产品的设想开始到软件不再使用而结束的时间。

二、瀑布模型(Waterfall Model)

软件测试流程_第1张图片

瀑布模型的特点

从上一项活动接受本项活动的工作对象,作为输入;
利用这一输入实施本项活动应完成的内容;
给出本项活动的工作成果,作为输出传给下一项活动。

瀑布模型使用场合

在需求不明确的情况下,就无法采用瀑布模型

瀑布模型的优缺点

  • 优点:
    强调开发的阶段性;
    强调早期计划及需求调查;
    强调产品测试。
  • 缺点:
    依赖于早期进行的唯一一次需求调查,不能适应需求的变化;
    由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程;
    风险往往迟至后期的开发阶段才显露,因而失去及早纠正的机会。

三、软件测试的生命周期

需求分析 → 测试计划 → 测试设计 、测试开发 → 测试执行 → 测试评估

四、软件测试流程概述

软件测试流程

  • 测试需求分析
  • 测试计划阶段
  • 测试设计和开发阶段
  • 测试实施阶段
  • 测试评估阶段

软件测试流程图(需求阶段)

软件测试流程_第2张图片

软件测试流程图(计划阶段)

软件测试流程_第3张图片

软件测试流程图(设计编码阶段)

软件测试流程_第4张图片

软件测试流程图(测试执行)

软件测试流程_第5张图片

五、软件测试模型

V模型

软件测试流程_第6张图片

V模型最早是由Paul Rook在20世纪80年代后期提出的 ,目的是改进软件开发的效率和效果。是瀑布模型的变种明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系
V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求
局限性:仅仅把测试作为在编码之后的一个阶段,未在需求阶段就进入测试

  • V模型的局限性在于没有明确的说明早期的测试,不能体现“尽早地和不断地进行软件测试”的原则
  • 因为实际上开发是“V”, 在V模型中增加软件各开发应同步进行的测试,被演化为一种W模型,测试也是与之并行的“V”,也称为双V模型

软件测试流程_第7张图片

W模型

软件测试流程_第8张图片

软件测试流程_第9张图片

W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。
W模型特点:测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进行的
W模型优点:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,显著减少总体测试时间,加快项目进度。

局限性:需求、设计、编码等活动被视为串行的;测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑

敏捷模型

敏捷模型的特点是高度迭代,并且能够及时、持续地响应客户的频繁反馈
强调从客户的角度,即从使用系统的用户角度,来测试系统。
重点关注持续迭代地测试新开发的功能,而不再强调传统测试过程中严格的测试阶段。
开发与测试高度并行
敏捷开发是一种以人为核心、迭代、循序渐进的方法,强调技术人员与用户之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、更注重软件开发中人(含客户和技术人员)的作用

测试模型-后话

  • 任何模型都不是完美的
  • 应该尽可能地去应用模型中对项目有实用价值的方面,但不强行地为使用模型而使用模型
  • 在实际工作中,我们要灵活地运用各种模型的优点。如,在W模型的框架下,运用敏捷模型的思想进行独立地测试,并同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按其完成预定目标。

软件测试流程_第10张图片

 

你可能感兴趣的:(接口测试,软件测试,自动化测试,接口测试,测试流程,测试用例)