背景
公司项目之前发布上线了全新业务,最近需要进行服务版本升级为V2.0版本。在测试过程中,我发现服务升级迭代还需注意历史数据兼容等诸多问题。为此,我总结了服务版本升级时测试的关注点,方便日后可以回顾下。
上线流程文档关注点
上线流程文档由开发人员提供,可以帮助我们规范流程避免发版失败。下面是几个关注点可供参考。
- 上线的背景。
- 启动配置项配置。
- db create脚本,数据初始化(数据批量变更)。
- 代码分支,项目代码拉取方式。
- 依赖服务启动顺序。
- 回滚策略
测试的关注点
服务版本升级需优先确保数据升级和版本回滚测试,保障数据的可用性。然后再进行业务接口测试、放量测试、服务故障演练等测试专项。
1.数据升级测试
- 数据升级需要做到向上兼容和向下兼容,避免数据不可用导致服务异常。
向上兼容。V1.0的数据可以在V2.0数据库正常运行使用。即数据库升级了数据结构(增加字段、表),原有的V1.0数据仍不受影响。
向下兼容。V1.0的数据可以在V2.0的被测服务正常使用。V2.0服务生成的新数据可能带有新的字段,那么对于历史数据(V1.0),可以通过批量处理填充新字段,确保向下兼容。
- 版本升级流程交互
1)先进行数据库升级
2)再扩容出v2.0版本的服务,并通过放量测试逐步回收v1.0的服务
- 测试流程
- 在测试环境先部署好V1.0的版本,构建V1.0的数据(跑跑业务主流程)
- 根据开发提供版本升级文档(上线流程文档)进行服务升级
- 升级V2.0后,先验证V1.0数据处理的正确性
- 再验证V2.0所有的主流程(冒烟测试)
2.版本回滚测试
-
版本回滚不一定是服务出现问题才进行,也可能是有些功能暂不需要开放。同样是需要做到数据的向上兼容和向下兼容。
-
测试流程
- 在测试环境先部署好V2.0的版本,构建V2.0的数据(跑跑业务主流程)
- 根据开发提供版本回滚文档(上线流程文档)进行服务回滚
- 回滚V1.0后,先验证V2.0数据处理的正确性
- 再验证V1.0所有的主流程(冒烟测试)
评论区