背景
公司这边是敏捷迭代测试流程,时间紧任务重,大约是一周迭代一个版本这种节奏,在敏捷迭代中,发布测试是确保软件质量和稳定性的重要环节
预发布测试介入时机
发版前
预发布环境部署方案
将服务部署到线上环境
数据库对象指向线上数据
使用线上环境的网络
所有依赖项均为线上真实服务
域名访问权限仅开放公司IP前缀的白名单
确保测试过程不影响线上数据
创建专用测试账号:新建一个账号用于测试,测试过程仅基于当前用户进行数据处理,禁止全局数据管理。
日志记录:预发布环境需开放所有日志跟踪记录,以便追踪异常数据。
增量数据记录:在预发布环境中部署定时器及临时数据库,记录增量业务数据,遇到问题时可进行数据还原和回滚。
测试内容
确保预发布环境部署无误,通过执行业务主流程进行场景验证。
价值
确保线上环境正常部署,减少线上部署失败的影响。
优先级
中
放量测试/灰度放量测试/金丝雀测试
介入时机
在遇到高并发业务版本迭代时,可能需要逐步放量发版,此时介入。
目的
确保真实用户访问项目时服务的稳定性,验证当前项目能够满足线上用户流量。
可落地手段
在放量测试期间,关注真实用户事务是否正常,通过查看日志进行分析,同时监控被测服务的资源利用率。
测试步骤
控制流量分发权重,将1%的真实用户量分配到新版本服务实例,稳定运行30分钟。
放量至10%,稳定运行30分钟。
放量至30%,稳定运行30分钟。
放量至50%,稳定运行1天。
放量至80%,稳定运行1天。
放量至90%,稳定运行1天。
放量至100%,稳定运行1天。
如果在某一量级出现事务失败或资源利用率问题,将流量全部回退至历史版本,并精准定位问题进行解决。
价值
确保版本迭代后能够满足线上用户体量。
减少线上部署失败的影响。
通过上述准备工作,可以有效提升发版前测试的质量和可靠性,确保上线后服务的稳定性。