测试(5) - 概念篇(3)-- 常见的测试模型

测试模型:

文章目录

如果你是第一次看这篇博客,可以看一看我之前关于 软件测试--概念篇 的博客介绍:
测试(3) - 概念篇(1)-- 什么是需求 && 软件生命周期
测试(4) - 概念篇(2)-- 常见的开发模型

测试模型中有两个非常重要且具有标志性的测试模型:V模型和W模型

1. V模型:

V模型最早是由PaulRook在20世纪80年代后期提出的,目的是改进软件开发的效率和效果。是 瀑布模型 的变种

单元测试,是对代码的最小单元进行测试。

最小单元,是人为规定的。

单元测试,一般是一个独立功能的测试,是由实现了这个功能的程序员来进行测试的。也就是说,单元测试,一般是由开发人员来进行的

但是,存在极少数的企业,会招聘专业的单元测试人员。

图中的测试工作讲解:

  1. 单元测试,是依据详细设计文档,进行测试的。
  2. 集成测试,是依据概要设计来进行测试的。一般也是由开发人员编写测试代码,进行测试。
  3. 系统测试,是依据需求分析与系统(需求文档)来进行测试的,是由 测试人员 进行测试,利用 测试用例 进行测试,最后生成测试报告。
  4. 验收测试,是 甲方(用户)进行验收,测试软件(产品)的功能是否完全,使用体验是否符合预期,界面显示是否符合预期等等。

优点

  • 清晰划分了测试过程中的不同测试类型 ,明确阐述了各测试阶段与软件开发各阶段的对应关系,有助于提升测试质量与执行效率

  • V 模型明确界定了不同层级测试的核心目标:

    • 单元测试与集成测试:验证程序执行是否符合软件设计要求;一般由开发人员进行测试
    • 系统测试:验证系统功能、性能等质量特性是否达到系统指标;由测试人员进行测试
    • 验收测试:确认软件实现是否满足用户需求或合同约定。由用户进行验收测试

缺点

仅将测试视为编码完成后的一个阶段,未在需求阶段就介入测试,与瀑布模型存在相同的局限性,不利于早期发现缺陷

2. W模型:

V模型中未将测试前置的问题在W模型中得以解决。

W 模型增加了软件各开发阶段中应同步开展的验证与确认活动。

它由两个相互对应的 V 型模型组成 ,分别代表测试过程开发过程 ,清晰体现了测试与开发的并行关系

核心特点

  • 测试对象不再局限于程序,需求、设计等文档同样需要进行测试。
  • 测试与开发同步进行 ,支持尽早介入、尽早发现缺陷

优点:

  • 有助于尽早、全面地发现问题
    例如:在需求分析完成后,测试人员即可参与需求的验证与确认,及早定位缺陷
  • 通过对需求的测试,可提前识别项目难度与测试风险,及时制定应对方案,有效缩短总体测试周期,加快项目进度。

缺点:

  • 将需求、设计、编码等活动视为串行执行;
  • 测试与开发保持线性前后关系,上一阶段完全结束后才能启动下一阶段工作;
  • 偏重流程,无法支持敏捷开发模式(要求轻文档,轻过程),难以适应现代软件开发复杂多变的场景,无法有效解决测试管理面临的困境。

3. 总结

V模型:

  • 优点:清晰划分测试类型,可提升测试质量与执行效率
  • 缺点:不利于早期发现缺陷

W模型:

  • 优点:有助于尽早、全面地发现问题
  • 缺点:偏重流程,无法支持敏捷开发模式

最后,如果这篇博客能帮到你的,请你点点赞,有写错了,写的不好的,欢迎评论指出,谢谢!

下一篇博客:测试(6) - bug篇(上)

相关推荐
更深兼春远12 小时前
Python到底怎么用于测试?
自动化测试·软件测试·python·接口测试
尚云第三方软件测试1 天前
数字化项目验收测试:性能、易用性、可靠性一体化框架
软件测试·软件测评·软件验收测试
sir.山1 天前
Fiddler抓包IOS流程
软件测试·fiddler·ios抓包·fiddler抓包工具
测试老哥5 天前
接口测试的测试用例应该怎么写?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
daopuyun5 天前
实验室CMA软件测试资质认证,质量管理体系文件编写思路整理
软件测试·cma资质
程序员杰哥5 天前
UI自动化测试:Jenkins配置
自动化测试·软件测试·python·测试工具·职场和发展·jenkins·测试用例
测试19987 天前
Jmeter接口自动化测试:Jmeter变量的使用
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·接口测试
降临-max8 天前
从零开始快速开发一个 AI 辅助测试设计智能体(附完整源码)
软件测试·人工智能·大模型·agent·ai测试智能体
程序员江念9 天前
【最经典的79个】软件测试面试题(内含答案)提前备战“金九银十”
软件测试·面试·职场和发展