软件测试过程模型




V模型

软件测试过程模型

左边表示开发过程中各阶段,右边表示对应的测试阶段。

编码↔单元测试,详细或程序设计↔功能测试,系统结构设计↔系统测试,需求分析↔验收测试。

优点:

  • 将复杂的测试工作按阶段划分为小阶段实现
  • 从多角度测试系统

缺点:

  • 软件测试容易被误导为软件开发的最后一个阶段
  • 需求、设计阶段产生的问题不能很早发现
  • 质量控制和测试效率无高效发挥




W模型

软件测试过程模型

相当于两个V模型叠加,一个是开发的V,一个是测试的V,开发和测试同步进行。

测试伴随整个软件开发周期,W模型有利于尽早、全面发现问题。

优点:

  • 测试和开发同步进行,利于尽早发现问题
  • 增加非程序角度测试的思想
  • 测试准备和设计工作提前,提高测试质量和效率

缺点:

  • 把开发看作需求、设计、编码等一系列串行活动
  • 开发和测试保持一种线性的前后关系
  • 无法保证持续迭代的开发模型,不能解除测试管理面临的困惑




H模型

软件测试过程模型

将测试活动完全独立出来,测试完全贯穿整个软件产品周期,与其他流程并发进行。

不同测试活动可以按次序先后进行,也可以反复进行,只要某个测试达到准备就绪点,测试执行活动就可以开展。

优点:

  • 将测试从开发中独立出来,利于研究更深的测试技术
  • 同时测试多个项目,可对测试技术重复利用
  • 高效调整测试人员
  • 修复缺陷时不受项目组内部人员限制

缺点:

  • 独立的测试对系统认识不够深入
  • 影响测试质量和测试效率




X模型

软件测试过程模型

左边是针对单独程序片段进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成,最终形成可执行程序,然后再对这些可执行程序进行测试。

优点:

  • 强调单元测试和集成测试的重要性
  • 引入探索性测试使测试模型与现实更接近
  • 修复缺陷时不受项目组内部人员限制

缺点:

  • 只强调测试过程中的部分内容
  • 没有对需求测试、验收测试等内容进行说明




前置模型

软件测试过程模型

将测试和开发紧密结合,加快项目进度。

特点:

  • 测试和开发结合,在开发阶段体现“编码-测试-编码”。当程序编写完成,立即进行测试。
  • 验收测试和技术测试分两条不同线路,每条线路分别验证系统能否如预期一样正常工作。
  • 用较低成本尽早发现错误,强调测试对高质量系统的意义。
  • 整个开发过程中,反复使用各种测试技术使开发人员、经理和用户节省时间,简化了工作。




参考文献

  1. 软件测评师考试32小时通关