背景

公司这边是敏捷迭代测试流程,时间紧任务重,大约是一周迭代一个版本这种节奏,在敏捷迭代中,发布测试是确保软件质量和稳定性的重要环节

预发布测试介入时机

发版前

预发布环境部署方案

  • 将服务部署到线上环境

  • 数据库对象指向线上数据

  • 使用线上环境的网络

  • 所有依赖项均为线上真实服务

  • 域名访问权限仅开放公司IP前缀的白名单

确保测试过程不影响线上数据

  1. 创建专用测试账号:新建一个账号用于测试,测试过程仅基于当前用户进行数据处理,禁止全局数据管理。

  2. 日志记录:预发布环境需开放所有日志跟踪记录,以便追踪异常数据。

  3. 增量数据记录:在预发布环境中部署定时器及临时数据库,记录增量业务数据,遇到问题时可进行数据还原和回滚。

测试内容

确保预发布环境部署无误,通过执行业务主流程进行场景验证。

价值

确保线上环境正常部署,减少线上部署失败的影响。

优先级


放量测试/灰度放量测试/金丝雀测试

介入时机

在遇到高并发业务版本迭代时,可能需要逐步放量发版,此时介入。

目的

确保真实用户访问项目时服务的稳定性,验证当前项目能够满足线上用户流量。

可落地手段

在放量测试期间,关注真实用户事务是否正常,通过查看日志进行分析,同时监控被测服务的资源利用率。

测试步骤

  1. 控制流量分发权重,将1%的真实用户量分配到新版本服务实例,稳定运行30分钟。

  2. 放量至10%,稳定运行30分钟。

  3. 放量至30%,稳定运行30分钟。

  4. 放量至50%,稳定运行1天。

  5. 放量至80%,稳定运行1天。

  6. 放量至90%,稳定运行1天。

  7. 放量至100%,稳定运行1天。

如果在某一量级出现事务失败或资源利用率问题,将流量全部回退至历史版本,并精准定位问题进行解决。

价值

  1. 确保版本迭代后能够满足线上用户体量。

  2. 减少线上部署失败的影响。


通过上述准备工作,可以有效提升发版前测试的质量和可靠性,确保上线后服务的稳定性。