开发模型 和 测试模型 详解

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 开发模型 和 测试模型 详解

开发模型


开发模型 : ① 瀑布模型 ② 螺旋模型 ③ 增量模型 和 迭代模型 ④ 敏捷模型 (优点 缺点 适用场景)测试模型 : ① V模型 ② W模型


瀑布模型


597468f761a54c74bac2f6454f29ad32.png


优点/特点:

  • 线性结构,每个阶段 只执行一次
  • 是其他模型的一个基础框架


缺点:


测试后置:


前面的各项阶段遗留的风险到后面的测试阶段猜发现,会导致大面积返工,而失去尽早修复的机会


必须要给测试留充足的时间,否则可能会导致测试不充分,而把问题暴露给用户使用的时候才发现


周期太长,产品很迟才能够被看到和使用


可能会导致产品的需求/功能过时


使用场景:

有固定需求的小项目


螺旋模型


拉直之后其实就是 瀑布模型


74abecc64e28403b962dff8806ea2536.png



优点/特点:

缺点


需要招聘专业的风险分析人才,项目中可能存在的风险性与风险管理人员的技能水平有直接关系


需要人员、资金、时间的增加和投入,可能会导致项目的成本太高


适用场景:

规模庞大、复杂度高、风险大的项目


增量模型/迭代模型


假如有一个软件,共有 A B C D E 五大功能

增量模型:可以先开发 AB功能,再开发C D E (逐块建造)

迭代模型:可以先开发 ABCDE的基础版本,再在这些版本上不断完善 (不断完善)

优点/特点:相比于螺旋模型,能够更早的上线。增量模型和迭代模型通常同时使用。



d3be9f506bbd45239c6d7be78c61c74e.png

敏捷模型


敏捷宣言:


个体与交互重于过程和工具(重人轻物,雇佣好人才,让他们放手去干)


可用的软件重于完备的文档(相对于各种文档来说,最终的结果/软件更加重要)


客户协作重于合同谈判(与客户紧密的协作,及时沟通解决比死东西更加重要)


响应变化重于遵循计划(及时的相应变化)

在每对比对中,后者并非全无价值,但我们更看重前者


优点:轻流程,轻文档,重目标,重产出


敏捷模型中的scrum模型

三个角色:


  1. 产品经理:提出需求,负责需求问题
  2. 项目经理:协调项目,有问题找他
  3. 研发团队:测试人员、开发人员、前端等等


五个重要会议:

  1. 发布计划会议:确定本次迭代需要完成的需求 (通常需求从需求池中选择的)
  2. 迭代计划会议:①进行任务拆解,确定责任人(不同的需求给不同的人干),进行工时评估
  3. 每日会议:每天都有,说说昨天做了什么,今天做什么,有什么问题(主要是掌握进度是否复合预期)
  4. 演示会议:迭代结束后召开,团队负责展示本次迭代的成果。期间反馈记录下来,形成新的story
  5. 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进


测试模型


测试模型分为 V模型 和 W模型,理解下面的两张图即可


V模型


7e49c356d5ed4947ac37c5c4a7eae85d.png


优点/特点:

  1. 明确的标注了测试过程中存在的不同类型的测试
  2. 测试的参考标准以前面的对应阶段为准

缺点:

  • 测试后置


W模型(双V模型)


006977d8f25b44d1bff49f03320bae23.png

  • 缺点:重流程,不适用于敏捷模型
相关文章
|
2天前
|
测试技术 Python
单元测试是软件开发中测试的最小单位
单元测试是软件开发中测试的最小单位
24 14
|
12天前
|
数据采集 监控 算法
LabVIEW开发新能源电机控制器测试系统
LabVIEW开发新能源电机控制器测试系统
18 4
|
12天前
|
存储 传感器 数据采集
LabVIEW开发EOL功能测试系统
LabVIEW开发EOL功能测试系统
21 3
|
12天前
|
敏捷开发 监控 测试技术
软件测试中的敏捷实践:如何有效整合测试与开发
【7月更文挑战第3天】在软件开发的快速迭代周期中,敏捷测试成为确保产品质量的关键。本文将探讨如何在敏捷开发环境中整合测试与开发工作,包括持续集成、测试自动化和跨功能团队协作的策略,旨在提升软件交付的速度和质量。
|
17天前
|
消息中间件 缓存 中间件
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
|
26天前
|
JSON Java 测试技术
SpringBoot实用开发篇第二章(测试操作)
SpringBoot实用开发篇第二章(测试操作)
|
10天前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
12天前
|
jenkins 数据管理 测试技术
在LabVIEW开发生命周期中提高代码质量的自动化测试方法
在LabVIEW开发生命周期中提高代码质量的自动化测试方法
10 0
|
12天前
|
数据采集 数据可视化 数据管理
LabVIEW开发实验室超导体电流特性测试系统
LabVIEW开发实验室超导体电流特性测试系统
|
17天前
|
敏捷开发 jenkins 测试技术
软件测试中的自动化与持续集成:提高开发效率和产品质量
在软件开发的生命周期中,测试阶段扮演着至关重要的角色。随着敏捷开发模式的普及,自动化测试和持续集成(CI)已成为确保软件质量和加快交付速度的关键策略。本文深入探讨了自动化测试和持续集成的概念、实施步骤及其对软件开发流程的影响。通过引用最新的行业研究和案例分析,文章揭示了这些技术如何帮助团队减少人为错误,缩短反馈循环,并最终提升产品的稳定性和用户体验。