数据迁移主要使用在新老系统到切换,主要有两种类型,一种是将老系统的数据全部迁移到新系统中,业务上只使用新系统,老系统不再使用,另外一种是,老系统的部分功能在新系统中暂时无法实现,但是在业务上需要使用新系统,需要将新系统中产生到数据导入到老系统到数据库中,做特殊用途。
将老系统中到数据迁移到新系统中
主要到策略有:
1. 查看老系统中到数据是否完全迁移到新系统中
要保证新老系统到无缝切换,必须要保证数据的正确性,而将老系统中到数据迁移到新系统,首先就要保证所迁移的数据量是一致的,只要在保证数据量一致的情况下,才能进行其他方面到测试,如果数据量都不一致,说明迁移方法或者脚本就是错误到,需要寻找原因。
2. 查看新老系统数据库表结构变化
1) 哪些新表字段在老库中无数据,而新库必须有,这些数据无则默认给什么值
2) 哪些数据字段一部分有数据,一部分无数据;迁移到新库中无数据这部分如何处理
3) 旧数据库中的表关系到新库中的表关系有什么变化
3. 查看新老系统中,相同字段不同状态的变化
因为新老系统在业务表示上会有一定到差异,用来表示业务状态的标示也会存在有变化,就必须注意新老系统在表示相同业务状态的差异,一般,这种情况会做相应的映射,需要根据映射关系,检查迁移后的数据是否正确。
4. 查看新老系统中各个字段转换是否正确
在进行字段检查测试之前,需要准备测试数据,测试数据到准备最好是能够将每个字段到不同情况都考虑到,可以使用矩阵法,用最少的数据覆盖到最多的状态。准备好数据后,根据迁移规则,可以查看各字段迁移后到数据是否正确,一般来说,迁移规则有以下几种。
1>直接迁移,原来是什么就是什么,原封不动照搬过来,对这样的规则,如果数据源字段和目标字段长度或精度不符,需要特别注意看是否真的可以直接映射还是需要做一些简单运算,还要查看,迁移脚本中是否对长度或精度进行了处理,测试时,也需要准备长度精度不一致到数据进行测试,查看是否能够正确迁移。
2>字段运算,数据源的一个或多个字段进行数学运算得到的目标字段,这种规则一般对数值型字段而言。
3>参照转换,在转换中通常要用数据源的一个或多个字段作为Key,去一个关联数组中去搜索特定值,而且应该只能得到唯一值。一般来说,这样的主要适用于某些类似于id的字段
4>字符串处理,从数据源某个字符串字段中经常可以获取特定信息,例如身份证号。而且,经常会有数值型值以字符串形式体现。对字符串的操作通常有类型转换、字符串截取等。但是由于字符类型字段的随意性也造成了脏数据的隐患,所以在测试这种情况的时候,一定要考虑异常情况。
5>空值判断,对于老系统中空值字段,不能简单的认为迁移后还是空值,需要根据实际的情况,考虑该字段在新库中应该为哪个字段,还要考虑,如果老系统中该字段不为空的情况。
6>日期转换,需要考虑新老系统对日期到不同表示方法。
7>聚集运算,对于事实表中的度量字段,他们通常是通过数据源一个或多个字段运用聚集函数得来的,这些聚集函数为SQL标准中,包括sum,count,avg,min,max。
8>既定取值,这种规则和以上各种类型规则的差别就在于它不依赖于数据源字段,对目标字段取一个固定的或是依赖系统的值。
5. 查看迁移后的数据在业务逻辑上是否正确
使用从老系统中迁移过来的数据,在业务系统中进行流程测试,功能测试确保迁移后到数据可用。
文章来源于领测软件测试网 https://www.ltesting.net/