本文主要是介绍【00】霍格沃兹测试开发学社技术学习笔记之测试方法与理论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、软件开发流程
软件开发流程的演变
传统的瀑布模型——>敏捷开发模型——>DevOps开发模型
模型:是在软件开发过程中总结出来的经验
模型名称 | 模型流程 | 模型特点 | 模型优点 | 模型缺点 |
瀑布模型 | 1. 软件开发的各项活动严格按照线性方式进行 2. 当前活动接受上一项活动的工作结果 3. 当前活动的工作结果需要进行验证 | 1. 开发的各个阶段比较清晰 2. 强调设计和早期调查 3. 适合需求稳定的产品开发 | 1. 由于开发模型是线性的,增加了开发的风险 2. 早期的错误可能要等到开发后期才能发现,增加了修改成本 | |
敏捷开发模型-XP(极限编程) | 结对编程:代码由两人一起完成,一个人输入代码,而另一个人审查他输入的每一行代码。 测试驱动开发:先编写测试代码,再开发能通过测试代码的开发代码 隐喻:帮助团队的每一个人去理解需求所提出的一个具体的比喻 参考:敏捷管理系列:极限编程(XP) - 知乎 | 1. 在更短的周期内,更早地提供具体、持续的反馈信息 2. 在迭代的进行计划编制,首先在最开始迅速生成一个总体计划,然后在整个项目开发过程中不断的发展它 3. 依赖于自动测试程序来监控开发进度,并及早地捕获缺陷 4. 依赖于口头交流、测试和源程序进行沟通 5. 倡导持续的演化式设计 6. 依赖于开发团队内部的紧密协作 | 1. 对团队的小组协作、沟通、即时反馈要求很高。难实现 | |
敏捷开发模型-SCRUM | 产品backlog:管理产品的需求文档,按照商业价值排优先级 sprint计划会议:挑选优先级高的需求文档 sprint backlog: 此次迭代周期需要实现的需求 sprint:一个迭代周期 每日站会:检查迭代周期的进度,及时调整 | 1、快速适应需求的变化并且按时发布 2、提高测试生产率 3、降低过程进度控制风险 4、提升产品质量 | 1、对分布式开发环境的支持非常弱 2、缺乏对大型复杂软件的支持 | |
DevOps | | 生命周期: 1. 持续开发 2. 持续测试 3. 持续集成 4. 持续部署 5. 持续监控 | 1. 降低了发布风险 2. 加强了发布协调,减少了发布的交流成本 |
这篇关于【00】霍格沃兹测试开发学社技术学习笔记之测试方法与理论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!