企业级Web后端工程生命周期
...大约 4 分钟
企业级Web后端工程生命周期
学习核心
- 需求管理
- 需求开发
- 测试
- 部署
- 运维(测试(DEV\SIT\UAT)、生产(PROD))
- 安全
学习参考
开发规范
1.需求管理
基于PaaS平台结合线上线下进行Web开发的生命周期管理:
- 需求评审:构建需求Story进行评审,随后开发人员构建开发子任务(创建开发相关Story)进行相应的业务开发
- 开发联调:开发完成与前端组员进行项目联调(本地自测、DEV联调)
- 项目提测:基于CI/CD流水线部署,进行自测 ->冒烟测试(开发侧)-> SIT测试(提测)-> UAT测试(转测),随后交由产品验收
- 上线发布:上线准备(文档准备、环境准备、流程疏通)-> 项目发布
核心:需求评审->开发->联调->测试->产品验收->发布
2.需求开发
- 需求分析:概要设计、功能分析
- 项目开发:技术栈选型(开发语言、框架选择)、开发规范(日志规范、异常处理规范、响应规范设计等)
- 前后端联调:接口开发、自测完成进行前后端联调,确认功能的可靠性
- 团队协作:Git(内部Gitlab),多版本分支管理(分支约束、命名规范)
- bug修复:hotfix
- 线上版本发现bug需进行紧急修复,拉取main最新版本代码进行修复,修复完成合并到main(指定tag),待验证功能完备后发布至生产环境
- 功能开发:feature
- 在feature分支下开发功能版本,开发完成可部署到流水线DEV环境进行自测
- 测试分支:test
- 主分支:main(对应发布版本tag)
- bug修复:hotfix
3.测试
- 接口自测:接口开发完成,编写单元测试用例进行接口自测(接口文档:apifox)
- 联调测试:与前端进行联调,保证业务的连续性和接口的可靠性
- 性能测试:使用JMeter、WRK等测试框架对接口性能进行压力测试,优化接口
测试类型
- 单元测试:编写单元测试代码进行验证代码的正确性
- 逻辑测试:专业的测试人员进行逻辑验证,此环节进行协助测试人员把想到的所有情况都列举一遍
- 回归测试:功能开发完成或者代码进行变更,会在预发布环境再次进行逻辑验证,称之为回归测试
- 性能测试:项目遇到性能问题的情况下,进行性能测试
- 压力测试:测试当前系统及所使用的资源能支撑的业务规格
4.部署
基于CI、CD的流水线部署,区分不同的部署环境,需根据项目不同生命周期进行切换
- 开发环境(自测、联调)
- 测试环境
- SIT测试环境(提测)
- UAT测试环境(转测)
- 生产环境
- 预发布环境(上线前的检验环境)
- 生产环境(真正上线版本,交付业务使用)
5.运维(测试(SIT\UAT)、生产(PROD))
部署跟踪:跟踪部署容器发布日志,确认服务正常启动
监控告警
- 系统指标监控:基础设施的性能情况,磁盘I/O,网络情况,cpu负载
- 应用性能监控:API响应耗时、应用运行时情况、异常情况日志记录
- 业务指标监控:用户日活、用户新增等业务数据
线上问题定位
- 日志规范:根据服务日志快速定位生产问题
- 平台监控:通过平台监控提示定位接口异常
- 链路跟踪:微服务场景下排查接口问题,通过traceId根据接口调用情况
6.安全
开发安全:办公网络内网访问安全,外网连接需要VPN,引入第三方组件需进行开发评估
数据操作安全:基于具有审计功能的工具上操作数据,监控数据操作行为并记录异常情况(例如Mysql、Redis、SSH到服务器的操作)
代码安全:收敛权限,版本发布需要review&审核
Powered by Waline v3.1.3