本发明涉及数据处理,尤其涉及一种数据迁移测试方法、装5置、计算机设备及可读存储介质。
背景技术:
1、在金融科技领域中,信创产业是数据安全、网络安全的基础,也是
2、“新基建”的重要内容,将成为拉动经济发展的重要抓手之一。应用系统0的信创改造去oracle也是目前各个企业主推的项目,然而在去oracle的过程中会存在数据库类型更换的问题,进而导致数据迁移测试的需求,即将数据从源数据库迁移到目标数据库。因此,如何高效的实现数据迁移测试的测试工作显得格外重要。去oracle工作涉及到应用系统的核心数据库,
3、如何保证去oracle过程中数据的一致性和正确性,可用性是去oracle工作5能否顺利完成的基本原则。改造升级之后的应用业务是否完全兼容、新数据库系统是否能承受业务负载压力,是需要重点考虑的问题。去oracle的过程中会有存量数据、增量数据以及应用系统的验证,目前普通的测试主要是基于业务层面,数据的比对也是随机抽取,会存在数据比对不全,去oracle系统上线过程中数据未同步的情况。
4、0去oracle迁移过程中为实现数据库顺利迁移,平稳过度,现有技术中通常会通过流量开关控制,将流量写入oracle端应用,或将流量写入目标端应用,再或者双边都写入,在测试过程中大多还是通过功能测试的方法实现数据库中数据的测试以及抽样功能测试,这种方法的缺陷是不能完全覆盖整个系统,导致应用改造过程中容易出现系统问题,同时这种测试方式耗时较长,对于系统的测试大多依赖测试人员的经验,可靠性较低。
技术实现思路
1、有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种能够应用于如金融科技领域或其他技术领域的数据迁移测试方法、装置、计算机设备及可读存储介质。
2、本发明提供如下技术方案:
3、第一方面,本公开实施例中提供了一种数据迁移测试方法,所述方法包括:
4、确定数据的迁移范围,根据所述迁移范围将源数据库与目标数据库中的数据进行切换,并通过自动化任务与预设迁移表比对所述源数据库与所述目标数据库中的数据,得到数据迁移测试结果;
5、通过所述自动化任务比对所述源数据库与所述目标数据库的表结构,得到表结构变化测试结果;
6、通过流量开关对所述源数据库与所述目标数据库的接口进行自动化测试,得到应用接口测试结果;
7、根据所述数据测试所述源数据库与所述目标数据库中各所述数据的业务逻辑正确性,得到业务逻辑测试结果;
8、根据所述数据迁移测试结果、所述表结构变化测试结果、所述应用接口测试结果和所述业务逻辑测试结果,生成测试报告。
9、进一步地,所述确定数据的迁移范围,包括:
10、对所述源数据库与所述目标数据库中进行模块化或微服务化,基于对应得到的模块或微服务确定待测试的数据的迁移范围。
11、进一步地,所述数据包括增量数据和全量数据,所述通过自动化任务与预设迁移表比对所述源数据库与所述目标数据库中的数据,包括:
12、判断所述目标数据库中的增量数据是否写入所述源数据库;
13、若未写入,则由切换链路实时将所述目标数据库的增量数据同步回写至所述源数据库,并定时比对所述源数据库与所述目标数据库中的增量数据,若出现回写延时,通过所述自动化任务比对出现异常的增量数据;
14、若写入,则定时比对所述源数据库与所述目标数据库中的增量数据,若所述增量数据不一致,通过所述自动化任务比对出现异常的增量数据。
15、进一步地,所述通过自动化任务与预设迁移表比对所述源数据库与所述目标数据库中的数据,还包括:
16、选择预设迁移表,对所述源数据库与所述目标数据库中的全量数据进行比对校验,其中,所述预设迁移表包括数据表个数、数据表名、数据表索引名、数据表索引个数中的至少一项。
17、进一步地,所述通过所述自动化任务比对所述源数据库与所述目标数据库的表结构,得到表结构变化测试结果包括:
18、根据业务需求,通过所述自动化任务确定需要比对的表结构,并定时进行比对校验,以及输出所述表结构变化测试结果,其中,所述表结构包括超长字段、空值、边界值、日期中的至少一项。
19、进一步地,所述通过所述流量开关对所述源数据库与所述目标数据库的接口进行自动化测试,得到应用接口测试结果,包括:
20、分别获取所述源数据库与所述目标数据库的接口对应的接口自动化测试用例;
21、通过控制所述流量开关,以将所述接口自动化测试用例发送至所述源数据库与所述目标数据库的接口进行测试,得到接口执行结果;
22、通过预置的结果验证数据,对所述接口执行结果进行动态判断,并输出所述应用接口测试结果。
23、进一步地,所述根据所述数据测试所述源数据库与所述目标数据库中各所述数据的业务逻辑正确性,得到业务逻辑测试结果,包括:
24、获取所述源数据库与所述目标数据库中的各所述数据对应的业务逻辑;
25、获取与所述业务逻辑对应的统计功能,并触发所述统计功能统计所述数据,得到统计结果;
26、根据所述业务逻辑验证所述统计结果的正确性,并输出与各所述数据对应的业务逻辑测试结果。
27、第二方面,本公开实施例中提供了一种数据迁移测试装置,所述装置包括:
28、第一结果获得模块,用于确定数据的迁移范围,将源数据库与目标数据库中的数据进行切换,并通过自动化任务与预设迁移表比对所述源数据库与所述目标数据库中的数据,得到数据迁移测试结果;
29、第二结果获得模块,用于通过所述自动化任务比对所述源数据库与所述目标数据库的表结构,得到表结构变化测试结果;
30、第三结果获得模块,用于通过流量开关对所述源数据库与所述目标数据库的接口进行自动化测试,得到应用接口测试结果;
31、第四结果获得模块,用于根据所述数据测试所述源数据库与所述目标数据库中各所述数据的业务逻辑正确性,得到业务逻辑测试结果;
32、测试报告生成模块,用于根据所述数据迁移测试结果、所述表结构变化测试结果、所述应用接口测试结果和所述业务逻辑测试结果,生成测试报告。
33、第三方面,本公开实施例中提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中所述数据迁移测试方法的步骤。
34、第四方面,本公开实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中所述数据迁移测试方法的步骤。
35、本技术的实施例具有如下优点:
36、本技术实施例提供的数据迁移测试方法,方法包括:确定数据的迁移范围,根据所述迁移范围将源数据库与目标数据库中的数据进行切换,并通过自动化任务与预设迁移表比对所述源数据库与所述目标数据库中的数据,得到数据迁移测试结果;通过所述自动化任务比对所述源数据库与所述目标数据库的表结构,得到表结构变化测试结果;通过流量开关对所述源数据库与所述目标数据库的接口进行自动化测试,得到应用接口测试结果;根据所述数据测试所述源数据库与所述目标数据库中各所述数据的业务逻辑正确性,得到业务逻辑测试结果;根据所述数据迁移测试结果、所述表结构变化测试结果、所述应用接口测试结果和所述业务逻辑测试结果,生成测试报告。通过上述方法,保证了数据迁移测试的全面性、可用性及高效性,将去oracle的测试工作由繁入简。
37、为使本发明的上述目的、特征和优点能更明显和易懂,下文特举较佳实施例,并配合所附附图,做详细说明如下。