软件测试笔记-软件开发流程的演变

软件的概念:与计算机系统操作有关的计算机程序、文件、文档以及数据

软件开发流程演变:传统瀑布模型→敏捷开发模型→DevOps模型

瀑布模型

瀑布模型流程:需求分析→设计→编码→实现→软件测试→完成→维护

瀑布模型特点:线性

软件测试笔记-软件开发流程的演变_第1张图片

瀑布模型优点:阶段清晰、强调早期计划和需求调查、适合需求稳定产品

瀑布模型缺点:增加开发风险、错误发现晚

敏捷开发模型

敏捷开发模型:包含XP、SCRUM

极限编程-XP

螺旋式编程,分多个周期

编程方法:简单设计、结对编程、测试驱动开发、重构

小组实践:代码集体所有、编码标准、稳定高速的步伐、持续集成、隐喻

交付和管理:小规模发布、计划游戏、完整的团队、现场客户

软件测试笔记-软件开发流程的演变_第2张图片
SCRUM

产品backlog、sprint计划会议、sprint backlog→2-4周sprint、潜在交付产品增量

软件测试笔记-软件开发流程的演变_第3张图片

敏捷模型特点:增量迭代、小步快跑

DevOps

DevOps:开发、测试、运维

软件测试笔记-软件开发流程的演变_第4张图片

DevOps生命周期:持续开发、持续测试、持续集成、持续部署、持续监控

软件测试笔记-软件开发流程的演变_第5张图片

DevOps特点:减少变更范围、加强发布协调、自动化

持续集成、持续交付与DevOps

持续集成(CI)

是一种软件开发实践。每天可能会发生多次集成,每次集成通过自动化的构建来验证,根据测试结果可以确定新代码和原有代码能否正确集成在一起。

持续交付(CD)

是一种软件工程手法。软件产品的产出在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以发布的状况,目标在于让软件的构建、测试与发布变得更快以及更频繁。可以减少软件开发的成本与时间,减少风险。

持续交付(CD)与DevOps的关系

DevOps的范围更广,是软件交付过程所涉及的多个团队之间的合作,并且将软件交付的过程自动化。持续交付是一种自动化交付的手段,关注点在于将不同的过程集中起来,并且更快、更频繁地执行这些过程。DevOps可以是持续交付下的一个产物,持续交付的成果直接汇入DevOps模型。

你可能感兴趣的:(软件测试笔记,功能测试)