目前主流的软件开发模型:瀑布模型,增量模型(渐增模型,快速原型模型),螺旋模型,喷泉模型,敏捷模型。
一、瀑布模型:应用最多最广泛的模型,顺序性一次性通过。
适用于范围:需求明确,适用于二次开发的项目。
优点:开发质量高,层次化明确,需求明确
缺点:放回上一级开发阶段需要极大代价,不支持迭代开发,会产生大量文档,系统开发周期长。
二、增量模型:是一种非整体开发的模型,分为基于瀑布模型的渐增模型和基于原型的快速原型模型。
1、渐增模型:
适用范围:需求经常发生改变的项目
优点:人员分配灵活,可短时间交付
缺点:容易退化成边做边该模型。
2、快速原型模式又称为原型模式:快速构造一个原型(主要功能和重要接口),在该原型的基础上,迭代性逐渐完成整个系统的开发工作。
适用范围:需求模糊,客户不清楚最终需求的项目。
优点:关注用户需求,从而减少由于软件需求不明确带来的开发风险
缺点:快速建立起来的系统结构加上连续的修改可能会导致产品质量低下,所选用的开发技术和工具不一定符合主流的发展导致人才技术要求高。
三、螺旋模型:将瀑布模型和增量模型结合起来,并加入了风险分析。
主要分为四个工作步骤:
(1)制定计划:确定软件目标/选定实施方案/弄清限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。
适用范围:适用于需求经常变化的大型复杂系统
优点:结合瀑布模型和原型模型的优点,利于提高大型项目开发的质量和效率
缺点:风险高,投资大,周期长
四、喷泉模型:一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。
优点:提高软件项目开发效率,适用于面向对象的软件开发过程
缺点:由于喷泉模型在各个开发阶段都是重叠的,因此需要在开发过程需要大量的开发人员,因此不利于项目的管理。
五、敏捷开发模型:以用户的需求进行为核心,采用迭代,循序渐进的方法进行软件开发。‘设计-开发-交付’
优点:
①速度:提高开发速度,快速响应需求变化
②质量:对每一次迭代周期的质量有严格的要求,快速且频繁的交付有价值的软件
③与客户合作:有良好的沟通能力,精确获取需求
缺点:
①对人员技术要求较高,经验丰富,否则容易遇到瓶颈问题
②忽略文档的重要性,若项目人员流动大则维护麻烦,当新手多时,老员工比较累
软件测试工程师自学教程:
这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】
软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.
美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看
软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!