了解常用 开发模型 和 测试模型

本文介绍了四种主要的开发模型(瀑布、螺旋、增量迭代、敏捷)及其优缺点,重点讲解了敏捷开发中的Scrum框架和测试模型(V模型和W模型),强调了早期介入和响应变化的重要性。
摘要由CSDN通过智能技术生成

目录

开发模型

一、瀑布模型

二、螺旋模型

三、增量与迭代开发

四、敏捷开发

1、什么是敏捷开发四原则(敏捷宣言)?

2、什么是 scrum 框架?

3、scrum 框架中的三大角色分别是什么?

4、scrum 框架的基本工作流程

测试模型

五、V 模型

六、w 模型 / 双 v 模型


开发模型

一、瀑布模型

1、开发流程
        问题定义 => 可行性研究 => 需求分析 => 计划 => 设计 => 编码 => 测试 => 上线运维

2、开发特征:线性顺序开发。

3、优点

  • 通过早期计划及需求调查等工作,在每个开发阶段都有明确的阶段性目标

4、缺点

  • 由于项目的测试在最后阶段,发现问题时项目已经基本完成,此时则需要重新回溯至问题阶段排查问题,这可能导致许多前期工作变成无用功,增加了开发风险
  • 需求明确后就不再更改,不能适应需求变化的情况。
  • 由于是线性顺序开发,开发中获得的经验教训无法反哺本项目

5、适用场景:小型项目开发。


二、螺旋模型

1、开发流程

  • 循环执行如下步骤:
    while (true){
    客户需求沟通 => 方案计划及目标拟定 => 风险分析 => 计划实施、编码、测试 => 成果评估
    }

2、开发特征:渐进式迭代开发。

3、优点

  • 全过程风险分析管理,每个阶段都进行质量及风险验证
  • 阶段性总结经验教训,可以反哺本项目
  • 阶段性对项目可行性进行评估,控制沉没成本

4、缺点

  • 严格的计划和进度控制,风险的识别、分析、控制,这些都使得投入的人力财力大大增加,对管理水平提出了更高的要求

5、适用场景:用于规模庞大、复杂度高、风险大的项目。


三、增量与迭代开发

1、增量开发

  • 增量开发是在项目基础上不断根据需求进行扩展,优点是显著降低项目风险,结合需求持续构建

2、迭代开发

  • 迭代开发是指原项目满足基本需求后就上线,后续才在原基础上不断细化迭代,做到迅速投产,逐步优化

四、敏捷开发

1、什么是敏捷开发四原则(敏捷宣言)

  • 个体与交互重于过程和工具
  • 可用的软件重于完备的文档
  • 客户协作重于合同谈判
  • 响应变化重于遵循计划

2、什么是 scrum 框架

  • 敏捷开发是一种思想,而scrum框架就是这种思想的具体实现,是一种基于持续学习和需求多变的启发式框架

3、scrum 框架中的三大角色分别是什么?

  • product owner(产品经理人):简单理解,产品经理人面向需求,主要负责整合客户需求,并传达给项目经理。
  • scrum master(项目经理):简单理解,项目经理面向行动,主要负责研发团队的调度安排,进度计划的把控。
  • team(研发团队):简单理解,进行具体工作的一大帮人。

4、scrum 框架的基本工作流程

  1. product backlog/产品需求
  2. sprint backlog/计划安排
  3. Sprint/具体实施
  4. daily scrum meeting/每日例会
  5. Sprint Review/迭代评审
  6. Sprint Retrospective/迭代回顾总结

(2、3、4、5步骤不断循环)


测试模型

五、V 模型

1、测试流程

  1. 用户需求:产品经理将用户需求转变为软件需求
  2. 需求分析与系统设计:验证需求是否正确,确定编程语言和框架
  3. 概要设计:项目结构设计
  4. 详细设计:接口、数据库表、具体工作等
  5. 编码
  6. 单元测试:测试每个方法
  7. 集成测试:测试每个功能模块
  8. 系统测试:测试模块之间是否存在干扰
  9. 验收测试:测试整个项目,验收

2、特点:开发与测试分离

3、优点:测试被划分为许多类型,更体系化。

4、缺点:测试人员介入太晚问题发现时机太晚


六、w 模型 / 双 v 模型

1、测试流程

开发与测试人员同步进行(开发  /  测试):

  1. 用户需求 <=> 了解用户需求 & 验收测试文档准备
  2. 需求分析与系统设计 <=> 参与分析与设计 & 系统测试文档准备
  3. 概要设计 <=> 了解概要设计 & 集成测试文档准备
  4. 详细设计 <=> 了解详细设计 & 单元测试文档准备
  5. 编码 <=> 单元测试
  6. 集成 <=> 集成测试
  7. 实施 <=> 系统测试
  8. 交付 <=> 验收测试

2、特点:开发与测试同步

3、优点:测试人员介入时间早可以尽早发现问题

4、缺点

  • 测试和开发活动依然保持着一种线性的前后关系, 上一阶段完全结束,才可正式开始下一个阶段工作。
  • 无法支持敏捷开发模式,面对复杂多变的开发情况时存在局限性

  • 17
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值