软件测试体系学习及构建(14)-测试基础之软件测试和开发模型概述

1 软件测试模型

1.1 V模型

在这里插入图片描述

  • 左侧为瀑布开发模型,右侧为对应的测试阶段;
  • 优缺点:
优点 缺点
测试阶段明确 测试滞后,容易导致错误的需求不容易被发现
测试阶段和开发阶段相对应 没有进行测试前置,只对程序测试
测试策略为底层和高层测试,分别侧重源代码和系统是否满足用户需求 线性过程,按顺序执行,非迭代过程

1.2 W模型

在这里插入图片描述

  • 基于尽早测试的原则,从需求分析阶段开始测试;
  • 优缺点:
优点 缺点
测试与开发并行,利于尽早发现问题 不能很好的支持迭代开发模式
测试活动参与到整个软件生命周期 /
测试面更广,测试覆盖更全 /

1.3 H模型

在这里插入图片描述

  • 整正测试阶段之间不存在严格的顺序,各阶段之间可以反复触发、迭代、增量。
  • 特点有:

测试活动独立成完整测试流程,与其它流程并发进行;
测试活动更丰富,除了真正的软件测试,还包括环境测试和搭建等等;
测试活动可尽早准备和尽早执行;
测试活动可按照顺序也可反复执行。

1.4 X模型

在这里插入图片描述
注:图片来之https://blog.csdn.net/u014745194/article/details/79917853

  • 针对单独的程序片段进行相互分离的编码和测试,通过频繁的交接,通过集成最终合成为可执行的程序,然后再对这些可执行程序进行测试;
  • 己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。 多根并行的曲线表示变更可以在各个部分发生;
  • 缺点是:对测试人员要求高,可能对测试造成人力、物力和财力的浪费。

1.5 敏捷测试

  • 强调从客户的角度,即从使用系统的用户角度,来测试系统。
  • 重点关注持续迭代地测试新开发的功能,而不再强调传统测试过程中严格的测试阶段。
  • 建议尽早开始测试,一旦系统某个层面可测,比如提供了模块功能,就要开始模块层面的单元测试,同时随着测试深入,持续进行回归测试保证之前测试过内容的正确性。
  • 与普通测试的区别:

①测试开发并行,项目周期短,比如15天为一个版本交付周期;
②模块提交快,测试压力大;
③任务明确,效率高;
④对项目规划能力要求高;
⑤项目人员空闲期很少,基本都在忙;
⑥耗时,较难的对项目影响不大的问题一般会放到下一个阶段解决;
⑦bug修复快,对其它模块影响小;
⑧沟通多,会议多是常态;
⑨测试人员需参与项目组所有会议。

敏捷测试相关解释来之:https://baike.baidu.com/item/%E6%95%8F%E6%8D%B7%E6%B5%8B%E8%AF%95/4626327?fr=aladdin

2 开发模型

2.1 大爆炸模型

在这里插入图片描述

  • 简单粗暴,没有正规的开发过程,基本就是不停的写代码,写bug,改bug;
  • 这种模式基本没有测试;
  • 最终结果是要么产品成功,要么啥也不是。。。

2.2 边写边改模型

在这里插入图片描述

  • 如题,就是一边做一边改,缺少规划和设计;

2.3 瀑布模型

在这里插入图片描述

  • 各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。
  • 问题是各阶段划分固定,呈线性的,工作文档比较多,工作量大;早期的问题很可能到后期测试阶段才被发现,代价比较高。

2.4 敏捷开发模型

在这里插入图片描述
图片来源:https://blog.csdn.net/xiajun2356033/article/details/81513957

  • 提倡迭代和增量的开发模式;
  • 强调测试的重要性;
  • 以用户为中心,拥抱变化;
  • 客户参与、测试驱动、迭代周期短。

2.5 螺旋模型

在这里插入图片描述
图片来源:https://blog.csdn.net/qq_41375318/article/details/103332197

  • 感觉像瀑布模型+边写边改模型+大爆炸模型中部分内容的综合体;
  • 发现问题早、成本低;
  • 测试参与全过程。

2.6 其他模型


『全栈测试技术,分享,共勉,共进,提升』


【特别说明】:知识来源于网络、各种资料、书本、网站等,本文仅用于学习使用,不做他用,如果涉及版权问题,请联系博主删除,谢谢

猜你喜欢

转载自blog.csdn.net/NoamaNelson/article/details/120848458