技术部门产品及研发部门参加需求评审会议,确定本次项目整体需求以及项目开发工期。
注:上线时间安排:若本次无需运营人员参与配合情况下,建议将上线时间安排在下午4点~5点左右,若本次需要运营人员参与配合情况下,建议上线时间安排在下午3点左右。
需求工期确定后研发内部进行需求分配及认领。按计划推进项目进程,编写接口文档。
测试工程师根据需求文档编写测试用例。
注: 研发过程中,发现需求不合理或暂时无法实现的需求,及时与产品人员进行沟通、协商,双方达成一致后,通知测试工程师需求变更,测试工程师根据变更后需求调整测试用例。
研发工程师根据需求完成项目后,首先进行自测,排除基本性错误,例如:语法错误等,大流程基本走通后,将项目提交测试环境,交付测试工程师进行测试。
测试工程师根据测试用例进行测试,协同研发工程师排除异常,确保程序正常平稳运行。
注:测试工程师发现Bug一律进入禅道系统,作为记录。
研发工程师根据禅道Bug描述,认领、复现并修复Bug,修复完成后,再次交付测试工程师进行回归测试。
测试工程师确认Bug后,回归测试后,无误后关闭Bug。
‘注:若Bug涉及多个模块,需多个模块整体测试确认无误后方可关闭’
开发工程师确认及修复所有Bug后,测试人员进行整体回归测试,确认无误后交付产品验收。
产品人员根据需求在测试环境进行产品验收,严格把关项目质量,期间若发现问题,则重复上述步骤4,直至项目可以上线。
注:若验收过程中需要运营人员参与,需及时跟运营人员沟通,进行项目验收配合。
产品人员验收完毕,确认项目可以正常上线后,发送邮件通知所有相关人员进行上线准备。
研发工程师收到许可上线通知后,进行上线准备工作:
1. 制定上线策略
若多个系统,需要确定上线顺序。首先为管理后台,其次是API接口,最后为前端页面上线(若一个则忽略)。
2. 数据配置
确认上线后,同步更新数据库数据及表结构。确保正式环境数据库环境与测试环境完全一致。
3. 项目部署
确认上线后,项目进行标签(Tag)标注,确定当前项目版本后部署到正式环境,部署顺序按步骤1中的上线顺序进行项目部署(若一个则忽略)。
项目部署后,清理项目缓存。
灰度测试:项目上线后,首先是测试人员进行灰度测试。灰度测试时只需少量数据或测试数据进行项目测试,走一遍完整的新的业务流程,确认无误后通知产品人员进行二次测试。
注:若此过程需要运营人员参与的情况下,需及时跟运营人员进行沟通,确保上线后有运营人员跟进新的流程。
数据监控:产品人员进行二次测试后,研发人员经测试数据进行屏蔽或删除,确保线上数据的完整性,不会因数据出现新的问题而影响正常流程进行。
在测试人员、产品人员、运营人员、研发工程师协同配合下,确保项目无误,平稳运行后,由测试人员发送上线邮件,正式通知全体人员项目上线完成。
项目平稳上线后,测试人员邮件发送测试报告通知本次所有研发人员,汇报本次项目开发工作、Bug数量、项目质量等数据,进行项目总结。