本发明涉及金融科技域,具体而言,涉及一种用于数据迁移的测试方法及其装置、电子设备及存储介质。
背景技术:
1、相关技术中,对数据迁移进行测试的主要流程有迁移前的范围确定与分析,迁移方案分析、迁移前数据检查及迁移后数据验证。而在迁移后的数据测试方法中,主要是针对数据完整性、一致性、正确性进行验证,该过程主要使用白盒测试或者灰盒测试,以完成对数据迁移量的统计、数据迁移前后的对比分析,手工和自动化均有使用。还可以对迁移后的数据进行在应用系统中的功能、兼容性等验证,该过程又以黑盒测试为主。
2、由于当前数据迁移的工具、数据内容、目标数据库、数据结构、数据量大小等多种多样,数据迁移技术、迁移测试的方法就各不相同。但是,相关技术中对数据迁移进行测试还是存在如下不足:(1)数据迁移测试工作后置:数据迁移测试工作在数据迁移工作之后,需要花费额外时间反复测试与验证数据迁移程序的正确性,效率低且周期长;(2)数据迁移测试忽略了数据迁移工作的目的,是为了将数据正确、准确、完整迁移,而不是为了反复验证迁移程序,特别是一次性数据迁移工作,数据迁移的数据是天然的测试数据,没有必要构造迁移数据之外的测试数据;(3)测试之后得到的测试报告无实例数据支撑。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明实施例提供了一种用于数据迁移的测试方法及其装置、电子设备及存储介质,以至少解决相关技术中需要在数据迁移工作完成后进行测试,测试效率低且测试周期长的技术问题。
2、根据本发明实施例的一个方面,提供了一种用于数据迁移的测试方法,包括:获取迁移数据,其中,所述迁移数据包括:预设数据、业务数据,所述预设数据是处理所述业务数据时依赖的数据;在所述预设数据迁移完成的情况下,执行预设数据迁移测试任务,得到第一测试结果数据;在所述预设数据迁移测试任务完成的情况下,依次调度业务数据迁移任务集合中的业务数据迁移任务,其中,所述业务数据迁移任务用于迁移所述业务数据中的业务表;在所述业务数据迁移任务完成的情况下,执行与所述业务数据迁移任务对应的数据迁移测试任务,得到第二测试结果数据;基于所述第一测试结果数据以及所有所述第二测试结果数据,生成测试报告。
3、可选地,在获取迁移数据之前,还包括:确定待迁移数据库的迁移范围;基于所述迁移范围,统计待迁移的数据量;在所述数据量属于预设迁移阈值范围的情况下,基于所述迁移范围,确定所述迁移数据;确定目标数据库所使用的数据结构,其中,所述目标数据库是所述迁移数据要迁移到的数据库;在所述数据结构测试通过的情况下,对所述迁移数据进行迁移。
4、可选地,执行预设数据迁移测试任务,得到第一测试结果数据的步骤,包括:确定与所述预设数据迁移测试任务对应的第一测试用例集合;执行所述第一测试用例集合中的每个第一测试用例,得到所述第一测试结果数据。
5、可选地,确定与所述预设数据迁移测试任务对应的第一测试用例集合的步骤,包括:确定所述预设数据中每张数据表的迁移策略;确定所述迁移策略对应的预期结果阈值范围;基于所述迁移策略以及与所述迁移策略对应的所述预期结果阈值范围,生成所述第一测试用例;基于所有所述第一测试用例,构建所述第一测试用例集合。
6、可选地,执行所述第一测试用例集合中的每个第一测试用例,得到所述第一测试结果数据的步骤,包括:获取迁移所述预设数据过程中生成的数据迁移日志;解析所述数据迁移日志,得到多条迁移记录数据,其中,每条所述迁移记录数据对应有迁移结果以及迁移策略,所述迁移结果至少包括:迁移状态、迁移结果值;确定与所述迁移记录数据关联的所述迁移策略相匹配的目标测试用例;判断所述迁移记录数据的所述迁移结果值是否属于所述目标测试用例关联的所述预期结果阈值范围,得到判断结果;基于所述迁移记录数据的所述迁移状态以及所述判断结果,得到第一测试结果;基于所有所述第一测试结果,得到所述第一测试结果数据。
7、可选地,基于所述迁移记录数据的所述迁移状态以及所述判断结果,得到第一测试结果的步骤,包括:在所述迁移状态是成功状态且所述判断结果指示所述迁移结果值属于所述目标测试用例关联的所述预期结果阈值范围的情况下,将所述第一测试结果记录为所述迁移记录数据迁移成功;在所述迁移状态不是成功状态和/或所述判断结果指示所述迁移结果值不属于所述目标测试用例关联的所述预期结果阈值范围的情况下,将所述第一测试结果记录为所述迁移记录数据迁移失败。
8、可选地,在依次调度业务数据迁移任务集合中的业务数据迁移任务之前,还包括:基于所述业务数据中的每个所述业务表关联的迁移策略,构建所述业务数据迁移任务;依据各所述业务表之间的依赖关系,确定所述业务数据迁移任务的执行顺序;基于所述执行顺序以及所有所述业务数据迁移任务,构建所述业务数据迁移任务集合。
9、可选地,执行与所述业务数据迁移任务对应的数据迁移测试任务,得到第二测试结果数据的步骤,包括:确定与所述数据迁移测试任务对应的第二测试用例集合;执行所述第二测试用例集合中的每个第二测试用例,得到所述第二测试结果数据。
10、可选地,在基于所述第一测试结果数据以及所有所述第二测试结果数据,生成测试报告之后,还包括:解析所述测试报告,得到迁移失败的数据;对所述迁移失败的数据重新进行迁移。
11、根据本发明实施例的另一方面,还提供了一种用于数据迁移的测试装置,包括:获取单元,用于获取迁移数据,其中,所述迁移数据包括:预设数据、业务数据,所述预设数据是处理所述业务数据时依赖的数据;第一执行单元,用于在所述预设数据迁移完成的情况下,执行预设数据迁移测试任务,得到第一测试结果数据;调度单元,用于在所述预设数据迁移测试任务完成的情况下,依次调度业务数据迁移任务集合中的业务数据迁移任务,其中,所述业务数据迁移任务用于迁移所述业务数据中的业务表;第二执行单元,用于在所述业务数据迁移任务完成的情况下,执行与所述业务数据迁移任务对应的数据迁移测试任务,得到第二测试结果数据;生成单元,用于基于所述第一测试结果数据以及所有所述第二测试结果数据,生成测试报告。
12、可选地,所述测试装置还包括:第一确定模块,用于在获取迁移数据之前,确定待迁移数据库的迁移范围;第一统计模块,用于基于所述迁移范围,统计待迁移的数据量;第二确定模块,用于在所述数据量属于预设迁移阈值范围的情况下,基于所述迁移范围,确定所述迁移数据;第三确定模块,用于确定目标数据库所使用的数据结构,其中,所述目标数据库是所述迁移数据要迁移到的数据库;第一迁移模块,用于在所述数据结构测试通过的情况下,对所述迁移数据进行迁移。
13、可选地,所述第一执行单元包括:第四确定模块,用于确定与所述预设数据迁移测试任务对应的第一测试用例集合;第一执行模块,用于执行所述第一测试用例集合中的每个第一测试用例,得到所述第一测试结果数据。
14、可选地,所述第四确定模块包括:第一确定子模块,用于确定所述预设数据中每张数据表的迁移策略;第二确定子模块,用于确定所述迁移策略对应的预期结果阈值范围;第一生成子模块,用于基于所述迁移策略以及与所述迁移策略对应的所述预期结果阈值范围,生成所述第一测试用例;第一构建子模块,用于基于所有所述第一测试用例,构建所述第一测试用例集合。
15、可选地,所述第一执行模块包括:第一获取子模块,用于获取迁移所述预设数据过程中生成的数据迁移日志;第一解析子模块,用于解析所述数据迁移日志,得到多条迁移记录数据,其中,每条所述迁移记录数据对应有迁移结果以及迁移策略,所述迁移结果至少包括:迁移状态、迁移结果值;第三确定子模块,用于确定与所述迁移记录数据关联的所述迁移策略相匹配的目标测试用例;第一判断子模块,用于判断所述迁移记录数据的所述迁移结果值是否属于所述目标测试用例关联的所述预期结果阈值范围,得到判断结果;第一输出子模块,用于基于所述迁移记录数据的所述迁移状态以及所述判断结果,得到第一测试结果;第二输出子模块,用于基于所有所述第一测试结果,得到所述第一测试结果数据。
16、可选地,所述第一输出子模块包括:第一记录子模块,用于在所述迁移状态是成功状态且所述判断结果指示所述迁移结果值属于所述目标测试用例关联的所述预期结果阈值范围的情况下,将所述第一测试结果记录为所述迁移记录数据迁移成功;第二记录子模块,用于在所述迁移状态不是成功状态和/或所述判断结果指示所述迁移结果值不属于所述目标测试用例关联的所述预期结果阈值范围的情况下,将所述第一测试结果记录为所述迁移记录数据迁移失败。
17、可选地,所述测试装置还包括:第一构建模块,用于在依次调度业务数据迁移任务集合中的业务数据迁移任务之前,基于所述业务数据中的每个所述业务表关联的迁移策略,构建所述业务数据迁移任务;第五确定模块,用于依据各所述业务表之间的依赖关系,确定所述业务数据迁移任务的执行顺序;第二构建模块,用于基于所述执行顺序以及所有所述业务数据迁移任务,构建所述业务数据迁移任务集合。
18、可选地,所述第二执行单元包括:第六确定模块,用于确定与所述数据迁移测试任务对应的第二测试用例集合;第二执行模块,用于执行所述第二测试用例集合中的每个第二测试用例,得到所述第二测试结果数据。
19、可选地,所述测试装置还包括:第一解析模块,用于在基于所述第一测试结果数据以及所有所述第二测试结果数据,生成测试报告之后,解析所述测试报告,得到迁移失败的数据;第二迁移模块,用于对所述迁移失败的数据重新进行迁移。
20、根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述用于数据迁移的测试方法。
21、根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述用于数据迁移的测试方法。
22、在本公开中,获取迁移数据,在预设数据迁移完成的情况下,执行预设数据迁移测试任务,得到第一测试结果数据,在预设数据迁移测试任务完成的情况下,依次调度业务数据迁移任务集合中的业务数据迁移任务,在业务数据迁移任务完成的情况下,执行与业务数据迁移任务对应的数据迁移测试任务,得到第二测试结果数据,基于第一测试结果数据以及所有第二测试结果数据,生成测试报告。在本公开中,可以先进行预设数据迁移任务,在预设数据迁移完成后执行预设数据迁移测试任务,以得到第一测试结果数据,然后依次调度业务数据迁移任务集合中的业务数据迁移任务,每完成一个业务数据迁移任务,则执行相应的数据迁移测试任务,以得到第二测试结果数据,之后汇总第一测试结果数据以及所有第二测试结果数据,以生成测试报告,通过将测试工作前置,有效提升了数据迁移测试效率,缩短了测试周期,进而解决了相关技术中需要在数据迁移工作完成后进行测试,测试效率低且测试周期长的技术问题。