一、背景

数据迁移,一般涉及到功能迭代和底层数据的迁移,旧版本功能更新为新版本功能的同时,不仅要保证新版本功能没有问题,还要做旧版本功能的兼容,要保证旧版本原有功能不丢失,并且在旧版本产生的数据也不丢失,不能给用户造成更新版本功能后,原有功能数据都没有了错觉,给用户体验感不好。

二、如何进行测试

迁移前期需要做一些准备:
1.首先在进行测试之前,需要对比不同版本之间的区别,如果你是刚来的测试(比如我)对整个项目模块不太清楚的,可以让上游人员(例如产品、项目经理,运营同学,优先找产品和项目经理)提供不同版本功能差异对照文档,他们都是比较熟悉并且清楚不同版本的之间的功能差异,让他们针对版本差异一一对比列出,给个文档,包括迁移之后,每个版本相关的功能迁移成新版本之后对应的功能变化,以及数据要如何处理,这个也需要出一份文档,可以方便在迁移的时候,对照着文档进行测试,容易看出来新旧版本的差异
2.其次另外自己测试还要有参照样本,举个例子,我参与的自助门户项目,老版自助门户有 1.0 版本门户和 2.0 版本门户,两个版本之间功能都有区别,在测试的时候需要找出 1.0 版本和 2.0 版本样本,可以各找三个分别是门户 1.0 的门户 2.0 的客户,通过录视频/截图的方式,对比两者之间的功能区别,每个功能都要具体看一下,并且还要知道在数据表里都由哪几个字段控制是 1.0 还是 2.0,这个可以问问开发同学;

三、迁移过程中不同测试阶段如何做:

1.测试阶段,同上面的前期准备,需要找几家不同版本的样本客户,对比异同,迁移新版本成功后,将现有版功能数据与旧版本功能数据进行对比,看是否有遗漏, 注意需要灵活迁移,灵活迁移意思就是让迁移过程中新旧版本可以随时切换,方便查看新旧版本的异同。这个可以让开发留一手,开放一个接口,测试时,可以随时将新版本切换成旧版本
2.线上迁移,可能需要将部分客户或者全部客户都迁移成新版本功能,做法同测试阶段,也需要找样本客户,对比异同,另外注意让开发将数据库里的原始数据备份一下,防止迁移过程中发生问题,数据无法恢复


↙↙↙阅读原文可查看相关链接,并与作者交流