【温故知新】常见的开发和测试模型

常见的开发模型:

一. 瀑布模型(适合前期需求完整的软件开发):

1.需求分析(产品经理)--->>概要设计(开发人员)--->>详细设计(开发人员)--->>编码(开发人员)--->>软件测试(测试)--->>软件维护(运维)

特点:

1.1 属于线性模型

1.2 每个阶段分工明确

1.3 有对应的文档产出

2.优缺点:

2.1 优点:

2.1.1 阶段界定清晰,分工明确

2.1.2 提高大型软件项目的开发质量和效率

2.2 缺点:

2.2.1 不适应需求的变化

2.2.2 软件测试介入的时间较晚,使缺陷不能及早的暴露

2.2.3 可能会导致错误的传递和蔓延至整个流程

二. 快速原型模型(适用于小型灵活性高且前期无法确定需求的项目开发):

需求分析--->>构造原型--->>运行原型--->>评价原型,用户反馈

特点:

1.需快速构造原型

2.支持用户参与

3.适应需求变化

2.优缺点:

优点:

减少软件由于需求不明确带来的项目开发风险

缺点:

不适合大型软件系统开发

会限制开发人员的创新

三.螺旋模型

特点: 螺旋模型在上述两种模型的基础之上加入了风险分析

优点: 降低项目发布前的危害

缺点:

1. 需要经验相当丰富的评估经验和专业知识

2.一旦风险评估不到位,势必造成重大损失

3.迭代次数过多增加开发成本,延迟提交时间。

常见的软件测试模型:

一.V模型:

需求分析--->>概要设计--->>详细设计--->>编码--->>单元测试--->>集成测试--->>系统测试--->>验收测试

V模型特点:

线性模型:

V模型优缺点:

优点:

1.既包含底层代码测试,又包含应用层测试a

2.开发阶段界定清晰

3.便于控制开发过程

缺点:

测试介入时间较晚,风险后延,失去及早纠正的机会

错误的传递蔓延

返工量交大,模块和模块之间的灵活性较差

二. W模型

需求分析 --->>概要设计--->>详细设计--->>编码--->>集成--->>实施--->>交付

--->>系统(测试)分析--->>测试用例设计--->>单元测试设计--->>集成测试设计--->>系统测试设计--->>验收测试

特点:测试伴随整个开发周期

W模型的优缺点:

优点:

测试伴随整个开发周期

更早的介入测试,降低成本

开发阶段界定清晰

缺点:

技术要求高

适合中大型企业项目

原文地址:https://www.cnblogs.com/mixiu26/p/12196091.html

时间: 2024-10-05 00:16:02

【温故知新】常见的开发和测试模型的相关文章

模型训练过程中的训练集、训练开发集、开发集和测试集总结

36.什么时候你应该在不同分布上做训练和测试 当你的猫app已经上传10000张图,你已经人工标记它们有没有猫,同时你有200000张互联网上下载的图,这时你要怎么划分训练开发测试集呢? 当你训练深度学习模型时,可能必须用到那200000张图,那么训练和测试集的分布就不同,这会怎样影响你的工作呢? 当然将210000张图片随机分裂到训练开发测试集是一种方法,但我(吴恩达)不推荐这种方法,记住选择开发测试集的推荐方法是:选择你未来预期会得到的数据来作为开发测试集. 大多数学术文章假设训练开发测试集

【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发

<ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-translator/ "微服务"的概念在 2014 年正式提出之后,越来越多的团队开始用它来设计自己的业务系统,各种微服务框架和开发过程管理方法也同时兴起.不断成熟.微服务设计方法清晰地定义了各个开发团队的业务边界,微服务框架以不同的方式实现了服务之间的协作与集成,根据康威定律我们可以推导这

软件测试入门——测试模型(V型 W型 H型)

软件测试工程师称为“QA”,质量保证者——这是入门的第一点要学习的. 首先看基本的测试模型 1.“V”型 特点:[活动串行]这是一种古老的瀑布模型,反映了实际和测试之间的关系. 局限:仅仅把测试过程作为编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,如果前面设计错误,得一直到后期的验收测试才被发现,耗时耗力. 2.“W”型 特点:[活动串行]测试与开发同时进行,在V模型的基础上,增加了在开发阶段的同步测试 局限:仍然不支持迭代,减少了一定错误发生率,但是需按照流水线进行设计.编码和测试

为什么开发与测试老掐架呢

让我们思考几个常见的问题: 软件测试的目的是什么? 开发人员能否构建出没有Bug的完美软件? 测人人员和开发人员是什么关系? 软件测试能否保证软件质量? 先闭目冥想五分钟吧,然后可以尝试着回答上面的问题. 计算机先驱 Maurice Wikes 回忆起 1949 年他在英国剑桥工作的情形,在拖着打孔纸带上楼给雏形计算机 EDASC 装载程序时,他看到了自己的未来: 我强烈的意识到,生命中剩下的好日子,都将耗费在给自己的程序找错误上头. Maurice Wikes告诉我们,没有完美的软件. 我在我

系统升级测试模型

系统升级测试 随着软件行业敏捷开发的推进,软件的版本迭代越来越快,升级测试在软件测试中也变得越来越重要.升级测试是安装测试的一个分支,主要检验软件从低版本升级到高版本的能力,关注升级过程是否成功,用户数据是否得以保留或更新,升级后系统文件是否更新.系统功能是否正常. 1.1升级测试 vs. 全新安装测试 相对于软件全新安装来说,升级测试更为复杂,主要的区别如下: 类别 全新安装 升级测试 关注版本 一个(当前版本) 多个(多个旧版本.当前版本) 测试前准备 没有或很少 旧版本备份(数据.配置等)

面向 Java 开发与测试人员的远程执行 Linux/UNIX 系统上任务的框架 -- sshxcu

软件开发与测试人员常常会在远程 Linux/UNIX 系统上执行命令或脚本,有时还会有批量执行任务的需求.常见的办法是通过本地工具(例如 Putty)连接远程计算机,输入命令执行,但是当遇到需要集成这些任务到代码或者开发.测试框架中时,往往就没有很好的解决方案了.sshxcute 就是这样一个框架工具集,它基于 JSCH 构建,允许工程师利用 Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种实用功能.sshxcute

程序员必备的开发和测试工具汇总

网络监测服务诞生于互联网井喷年代,对于网民来说,短短几年之内,经历了从浏览白底黑字的网页到硝烟四起的论坛,再到在线听歌.看片.网购支付.在线阅读.公共信息查询,人们还没来得及感叹进化之迅猛,移动互联网就伴随着手机.pad等各种终端扑面而来,模糊了线上线下的界限,把用户体验推向了极致.然后大家开始关注转向网页的兼容性.打开速度.交互体验.App应用的反应时间.能否被不同地区的用户访问. 下面介绍一些App应用从开发到服务性能监测的一些工具和途径: 开发工具: 1.Bizness Apps 一个傻瓜

测试模型

四种经典模型 折叠V模型 在软件测试方面,V模型是最广为人知的模型,尽管很多富有实际经验的测试人员还是不太熟悉V模型,或者其它的模型.V模型已存在了很长时间,和瀑布开发模型有着一些共同的特性,由此也和瀑布模型一样地受到了批评和质疑.V模型中的过程从左到右,描述了基本的开发过程和测试行为.V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系.局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现

软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型总结

在校期间学习过这些模型,现在来复习一下. 瀑布模型/改进的瀑布模型 虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最基本的和最效的一种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格按照需求 ->分析->设计->编码->测试的阶段进行,每一个阶段都可以定义明确的产出物和验证准则.瀑布模型在每一个阶段完成后都可以 组织相关的评审和验证,只有在评审通过后才能够进入到下一个阶段. 由于需要对每一个阶段进行验证,瀑布模型要求每一个阶段都有明确的文档产出,对于严格的瀑布模型