初入互联网行业的小伙伴可能对软件的发布流程很好奇, 今天我们就来了解一下软件项目上线的完整流程.
根据软件生命周期并结合当前企业的实际情况, 企业中的具体流程如下, 包括了各个环节所需要的交付及产出物.
一. 软件生命周期
1、项目立项:
市场需求或者合同、项目立项申请表、项目风险分析清单
2、需求分析与评审:
软件需求报告或设计方案、需求规格说明书
3、概要设计:
概要设计说明书或功能模块描述
4、详细设计:
详细设计说明书,包括软件接口说明、单元测试计划
5、编码实现:
软件功能说明、源代码、源代码说明或者注释
6、测试设计与执行:
测试计划、测试用例、缺陷报告、测试报告
7、产品发布:
产品说明书、使用手册
8、线上运维:
问题反馈记录
9、项目总结:
提交客户方的项目总结或第三方验收资料
二.项目参与成员职责
1、开发环境由开发人员负责, 同时包括了维护与代码版本及版本管理
2、测试环境由测试人员负责, 包括了测试时的项目部署
3、预发环境由运维负责
4、生产环境由运维负责
5、所有数据库相关由DBA(数据库管理员)或运维统一负责
三.项目上线发布的流程细分
已经完成开发的系统或应用正式部署到生产环境前, 要严格按照上线发布的流程进行, 并指定上线发布checklist逐一确认每项需要提前准备的资源及环境是否OK, 一般由测试人员发布checklist, 开发,运维等进行确认与填写
3.1 开发提测
- 开发人员在功能开发完成后首先配置开发环境, 将系统部署至开发环境.
- 在开发环境经过自测,通过后提交测试代码, 并开始准备上线方案.
(上线方案必须包含,当前版本所影响的范围, 新增的功能/内容, 前后端 版本号, 前后端负责人, 代码地址, 程序部署所需数据库脚本文件, 项目配置说明清单, 计划上线时间, 上线失败的回滚计划等)
- 将上线方案提交技术负责人及项目负责人进行审核, 审核通过后邮件提测给测试人员.
3.2 测试执行
-测试人员接收到提测邮件通知后, 开始着手进行测试工作
-首先将待测项目版本部署到测试环境, 如果需要数据库, 由DBA或运维配合完成
-其次, 待项目部署好之后, 先进行冒烟测试, 冒烟测试不通过, 以邮件方式打回, 请开发重新进行自测, 待自测通过后再次进行测试.
-冒烟测试没有问题, 则按照已经制定好的测试计划, 正式进行测试执行
-测试过程中发现缺陷, 及时提交缺陷并跟踪开发进行解决, 待开发人员修复后进行复测
-最后, 达到测试计划中的准出标准时, 总结与分析测试, 并输出测试报告
3.3 测试结果
测试人员经过严格测试后, 将本轮测试结果(包括 测试用例执行通过率, 测试覆盖率, 缺陷数量, 缺陷对应模块分布, 缺陷严重程度部分等), 测试报告以邮件的方式, 发送给项目组相关成员
3.4 预发环境
测试人员在测试环境对待测软件/应用经过测试,达到准出标准并发出测试结果通知后.
开发预发环境部署, 按照上线checklist清单, 逐一实施, 并对预发环境进行验收测试.
再次确认是否达到上线的标准
预发环境测试通过, 则以邮件通知相关开发、产品、运维, 准备正式上线
3.5 正式上线
1.在项目具备发布条件下, 正式上线前, 开发人员召集所有相关人员(开发,测试,运维,产品)讨论此次部署内容(重点介绍各方的具体内容与职责, 数据脚本执行, 部署的顺序, 配置文件, 部署时间, 回滚方案等), 最后形成会议纪要并发出邮件
2.确认上线后, 测试人员邮件上线方案,数据库脚本, 配置文件, 版本号给运维及DBA,
3.DBA提前执行数据库脚本, 应用部署应通过自动化部署平台进行部署, 部署系统应在应用系统中记录当前分支号, 以便后续回滚使用.
4.在部署过程中出现问题, 由对应负责人及时解决, 如果问题不能在发布的计划时间内予以解决, 则执行回滚方案.
5.运维及DBA在操作完成时,均需要回复邮件, 并说明操作结果
6.发布完成后, 运维人员邮件通知测试人员, 业务及需求相关人员进行线上测试
7.测试结果及问题, 提交开发. 如果出现问题不能在计划时间内解决, 执行回滚方案, 并重新进行迭代
3.6 运维监控
运维人员持续对线上业务进行有计划的监控及日志采集, 及时发现问题处理及反馈问题。
以上就是一个软件项目上线的完整流程,如果还想知道哪些干货知识,可以随时给我留言!
标签:上线,运维,部署,流程,测试人员,测试,软件,邮件 From: https://blog.51cto.com/u_14573321/5795051