一、背景
数据迁移测试,往往涉及到功能又涉及到底层数据,在新旧版本之间都需要做兼容,需要关注的内容比较多,涉及的面比较广,可能带来的问题也比较隐蔽,本文以一个相对复杂的数据迁移测试场景为例,简单总结了一些数据迁移测试过程当中的核心关注点及测试方法。
二、测试分析
在进行测试之前,需要对核心的测试点做重点的梳理,其中主要包括本次迁移涉及到的后端接口、对应的数据库表以及数据迁移的接口
2.1涉及到的后端接口
涉及到了15个接口,需要覆盖的场景较多,对应场景及接口按照大的类别来区分,具体的场景在设计用例时以等价类代表用例覆盖
2.2对应数据库关系及注意点
涉及到了4个库7张表,关系复杂,需要验证的数据内容较多,针对性的列出了对应场景和表表直接关系,以及一些细节关注点
2.2数据迁移接口及数据校验接口
三、测试流程
根据数据迁移测试的特点,主要从三个方面来保证质量,数据准确性、功能可用性、代码的健壮程度
3.1数据校验
保证数据准确性是本次数据迁移最为核心的关键一步,需要对增量数据及全量数据做全面的校验,由于手工测试费时费力,将可执行的数据对比操作都做了脚本自动化来进行校验。
# -*- coding:utf-8 -*-
# 实例转商品,对应商品表数据变更
增量数据校验
实例库对应数据校验
```javascript
# -*- coding:utf-8 -*-
# 实例转商品,对应实例表数据变更
import pymysql
def SimpleAddData():
# 连接database
con_custom = pymysql.connect(host="localhost", user="root", password="123456", database="database1", charset="utf8")
con_product = pymysql.connect(host="localhost", user="root", password="123456", database="database2", charset="utf8")
# 得到一个可以执行SQL语句的光标对象
cur_custom = con_custom.cursor()
cur_produc