开发模型 和 测试模型 详解

news2024/9/28 17:32:10

开发模型

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

瀑布模型

优点/特点:

  • 线性结构,每个阶段 只执行一次

  • 是其他模型的一个基础框架

缺点:

  • 测试后置:

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

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

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

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

使用场景:

有固定需求的小项目

螺旋模型

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

优点/特点:

  • 螺旋模型中增加了 风险分析 和 原型

缺点

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

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

适用场景:

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

增量模型/迭代模型

假如有一个软件,共有 A B C D E 五大功能
增量模型:可以先开发 AB功能,再开发C D E (逐块建造)
迭代模型:可以先开发 ABCDE的基础版本,再在这些版本上不断完善 (不断完善)

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

敏捷模型

敏捷宣言:

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

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

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

  • 响应变化重于遵循计划(及时的相应变化)
    在每对比对中,后者并非全无价值,但我们更看重前者

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

敏捷模型中的scrum模型

三个角色:

  1. 产品经理:提出需求,负责需求问题

  1. 项目经理:协调项目,有问题找他

  1. 研发团队:测试人员、开发人员、前端等等

五个重要会议:

  1. 发布计划会议:确定本次迭代需要完成的需求 (通常需求从需求池中选择的)

  1. 迭代计划会议:①进行任务拆解,确定责任人(不同的需求给不同的人干),进行工时评估

  1. 每日会议:每天都有,说说昨天做了什么,今天做什么,有什么问题(主要是掌握进度是否复合预期)

  1. 演示会议:迭代结束后召开,团队负责展示本次迭代的成果。期间反馈记录下来,形成新的story

  1. 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进

测试模型

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

V模型

优点/特点:

  1. 明确的标注了测试过程中存在的不同类型的测试

  1. 测试的参考标准以前面的对应阶段为准

缺点:

  • 测试后置

W模型(双V模型)

  • 缺点:重流程,不适用于敏捷模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/150456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sentinel-Roadmap(三)

Pages 60 Sentinel 官方网站 OpenSergo 微服务治理 文档 Read Me新手指南Sentinel 介绍FAQRoadmap如何使用工作原理流量控制集群流控(分布式流控)网关流控熔断降级热点参数限流系统自适应限流黑白名单控制实时监控数据动态规则控制台生产环境使用 Sent…

Spring依赖注入时,创建代理bean和普通bean详解

问题来源 以前一直有个疑惑,为什么我创建的controller中注入的service类有时候是代理类,有时候是普通javabean,当时能力不够,现在已经有了点经验就大胆跟了跟源码,看看到底咋回事。 首先看看问题现象: a1…

linux nfs umount报错:device is busy

执行nfs卸载命令umount /mnt,报错target is busy. 或device is busy可以按以下步骤检查:退出要卸载挂载的目录,再执行卸载挂载cd ../umount /mnt找出占用目录的端口,kill端口fuser -m /mnt/kill -9 端口umount /mnt停止nfs服务&am…

PCA 主成分分析-清晰详细又易懂

PCA(Principal Component Analysis)通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。 当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙…

Java char[]数组转成String类型(char to String)详细介绍

前言 string toCharArray() 方法将给定的字符串转换为字符序列 Java中字符串转换为字符数组的方法在之前的博客已经介绍了! 今天介绍char[]数组转成String 方法有4种: 使用 String 类的 valueOf() 方法使用字符串连接使用 Character 类的 toString() 方…

图形编辑器:场景坐标、视口坐标以及它们之间的转换

大家好,我是前端西瓜哥。 图形编辑器的坐标系有两种。 一个是场景(scene)坐标系,一个是 视口(viewport)坐标系。视口就是场景的一个子区域。 假设我们的视口的原点,离场景原点的坐标水平和垂直…

C2芯片一ESP32-C2开发板

C2是一个芯片采用4毫米x 4毫米封装,与272 kB内存。它运行框架,例如ESP-Jumpstart和ESP造雨者,同时它也运行ESP-IDF。ESP-IDF是Espressif面向嵌入式物联网设备的开源实时操作系统,受到了全球用户的信赖。它由支持Espressif以及所有…

月报总结|Moonbeam 12月份大事一览

本月,针对生态和项目,Moonbeam基金会启动首期Accelerator Program孵化计划,将针对入选团队提供一系列扶持资源,申请仍在开放中。对于开发者,Moonbuilders Academy上线了关于构建跨链应用的新课程。 社区活动方面&…

【案例分析】汽车制造行业电能质量治理方案分析

摘要:现如今的汽车制造行业,使用的机械设备越来越精密,制造技术与自动化水平也越来越高,为此对供电系统的电能质量要求更高更苛刻,同时对不能满足现有生产工艺需求的供电质量进行治理。通过分析汽车制造过程中冲压工艺…

连续三年!Fortinet再次位列《 Gartner 企业级有线和无线局域网基础设施魔力象限报告》“远见者”

网络安全领导者Fortinet(NASDAQ:FTNT),近日宣布连续第三年入围《Gartner企业级有线和无线局域网基础设施魔力象限报告》“远见者”象限。这一殊荣源于Fortinet 旗下FortiSwitch 和 FortiAP等有线和无线局域网产品组合的强劲实力&a…

激光焊接薄板时需要注意的一些问题

焊接是目前工业制造中必要的工艺技术,焊接金属时需要注意很多方面的问题,本文主要针对金属薄板焊接中的一些工艺问题进行展开讨论。例如:焊缝的牢固程度、焊缝的平整度、焊缝直线度的控制、焊缝高度和宽度的控制以及焊接的均匀性等方面。 一、…

程序员们有什么好的编程习惯?

优良的代码显然不是制作优秀软件的唯一要素,但是主要的要素之一。我们可能拥有世界上最好的产品和营销团队,部署了最好的平台,并以最好的框架来构建软件,但归根结底,一款软件所做的一切,都是因为有人写了一…

LeetCode 49 字母异位词分组 | 解题思路分享

原题链接:49. 字母异位词分组 - 力扣(LeetCode) 题目难度:中等 题目描述 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词…

分析快、易操作的数据分析工具推荐

数据分析工具发展这么多年,该有的技术功能都有了,该提高的数据分析效率、数据分析量等也都提高了,但很多长期奋战在一线的数据分析人员却总是抱怨数据分析工具响应慢、分析慢、越来越容易崩溃。为什么要找一款分析快、易操作的数据分析工具还…

Git入门学习笔记(10分钟速通)

一、Git概述 官网翻译: Git 是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型项目到大型项目的所有内容。 Git易于学习, 体积小,性能快如闪电。它超越了 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具&am…

13_2、Java的IO流概述

一、Java IO原理1、I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。2、Java程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行。3、java.io包下提供了各种“流…

kaggle平台学习复习笔记 | XGBoost、LightGBM and Catboost

这里写目录1.XGBoost官方文档介绍与使用2.LightGBM官方文档介绍与使用3.CatBoost官方文档介绍与使用对比数据预处理如下,下文不再重复 import lightgbm as lgb import xgboost as xgb from catboost import CatBoostRegressorfrom sklearn.model_selection import …

C#入门级——泛型、泛型类、泛型接口、泛型方法和泛型委托

目录 一、泛型(generic) 二、为什么需要泛型类 类型膨胀 成员膨胀 使用object类 三、泛型的定义 定义泛型类 使用泛型类 泛型接口​​​​​​​ 两种泛型接口的实现方法 泛型方法 成员膨胀 使用泛型 泛型委托 Action委托——只能引用没有…

有效的需求管理,需遵循四大原则。

1、需求管理必须与需求工程活动相整合 需求管理必须与需求工程的其他活动紧密整合,进行需求管理一定不能脱离需求工程,需求工程包括了需求获取、需求分析、需求描述、需求验证、需求管理,因而需求管理必须与前面的几个需求阶段保持密切相关。…

2023/1/9 Vue学习笔记-5-TodoList案例

1 静态组件 App.vue <template><div class"todo-container"><div class"todo-wrap"><UserHeader/><UserList/><UserFooter/></div></div> </template> <script>import UserHeader from &qu…