CN107870859B - 大批量对比测试方法及系统 - Google Patents

大批量对比测试方法及系统 Download PDF

Info

Publication number
CN107870859B
CN107870859B CN201710312328.0A CN201710312328A CN107870859B CN 107870859 B CN107870859 B CN 107870859B CN 201710312328 A CN201710312328 A CN 201710312328A CN 107870859 B CN107870859 B CN 107870859B
Authority
CN
China
Prior art keywords
data
difference
result data
comparison test
batch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710312328.0A
Other languages
English (en)
Other versions
CN107870859A (zh
Inventor
邓亦超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201710312328.0A priority Critical patent/CN107870859B/zh
Publication of CN107870859A publication Critical patent/CN107870859A/zh
Priority to PCT/CN2018/085723 priority patent/WO2018202172A1/zh
Application granted granted Critical
Publication of CN107870859B publication Critical patent/CN107870859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种大批量对比测试方法及系统,该方法包括:设置大批量对比测试数据库的回滚点;根据所述大批量对比测试数据库中的基础数据计算应收保费,得到第一结果数据;根据所设置的回滚点进行所述大批量对比测试数据库的回滚;部署新版本代码后,再次计算应收保费,得到第二结果数据;对比所述第一结果数据与所述第二结果数据,判断是否存在差异;对所述差异进行分析,判断是否为新版本代码的程序缺陷所导致。由此可以全覆盖地进行应收保费系统的前后版本对比测试。

Description

大批量对比测试方法及系统
技术领域
本发明涉及数据库技术领域,尤其涉及大批量对比测试方法及系统。
背景技术
目前寿险系统在计算下期应收保费时,系统业务场景复杂,需要调用的数据接口携带的信息量非常大。而系统业务功能升级后,一般仅进行常规的功能验证,系统测试覆盖的数据可能不够全面,缺乏一种有效的自动化测试手段来覆盖所有测试数据。
而如果依赖传统的人工方式进行核对数据,可能会出现以下问题:耗费大量的人力,且效率低下;新增的业务可能会影响老功能的正常运行,而传统验证方式无法全面覆盖到所有功能;能够处理的数据量小,无法做到业务场景全覆盖;无法估量新增业务功能对性能、资源造成的影响;无法覆盖异常类测试数据等;容易导致漏测。以上各种问题,均可能带来重大损失。
因此,需要一种能够进行批量数据测试、覆盖所有业务场景并能够评估业务升级带来的功能差异和影响的软件测试方法,能够适应不断的系统更新以及完成相应的测试任务。
发明内容
有鉴于此,本发明的目的在于提供一种大批量对比测试方法及系统,以解决如何全覆盖地进行应收保费系统的前后版本对比测试的问题。
为实现上述目的,本发明提供一种大批量对比测试方法,该方法包括步骤:
设置大批量对比测试数据库的回滚点;
根据所述大批量对比测试数据库中的基础数据计算应收保费,得到第一结果数据;
根据所设置的回滚点进行所述大批量对比测试数据库的回滚;
部署新版本代码后,再次计算应收保费,得到第二结果数据;
对比所述第一结果数据与所述第二结果数据,判断是否存在差异;及
对所述差异进行分析,判断是否为新版本代码的程序缺陷所导致。
优选地,该方法还包括步骤:
在进行所述大批量对比测试数据库的回滚之前,将所述第一结果数据导入到另一数据库中进行备份;及
当得到所述第二结果数据之后,将所述第一结果数据导回所述大批量对比测试数据库中。
优选地,该方法还包括步骤:
设置获取所述基础数据的范围和时间;及
根据所设置的范围和时间获取所述基础数据到所述大批量对比测试数据库中。
优选地,经过所述回滚之后,所述大批量对比测试数据库中的数据状态恢复到所述回滚点的状态。
优选地,所述获取基础数据的范围为指定应交日范围。
本发明提出的大批量对比测试方法,采用数据库回滚的方式,执行大批量数据对比测试,先对旧版本进行应收保费计算,保存结果表并导入其他数据库中备份,之后进行数据库回滚,然后针对新版本接口的数据再次进行应收保费计算,保存结果表,对两次保存的结果表进行数据对比分析,可以减少测试人力以及增加测试覆盖面。并且,以数据库回滚的方式确保两次测试结果的基础条件一致,可以保障该对比测试的有效性。
为实现上述目的,本发明还提出一种大批量对比测试系统,该系统包括:
设置模块,用于设置大批量对比测试数据库的回滚点;
计算模块,用于根据所述大批量对比测试数据库中的基础数据计算应收保费,得到第一结果数据;
回滚模块,用于根据所设置的回滚点进行所述大批量对比测试数据库的回滚;
所述计算模块还用于部署新版本代码后,再次计算应收保费,得到第二结果数据;
对比模块,用于对比所述第一结果数据与所述第二结果数据,判断是否存在差异;
分析模块,用于对所述差异进行分析,判断是否为新版本代码的程序缺陷所导致。
优选地,该系统还包括:
备份模块,用于在进行所述大批量对比测试数据库的回滚之前,将所述第一结果数据导入到另一数据库中进行备份;及当得到所述第二结果数据之后,将所述第一结果数据导回所述大批量对比测试数据库中。
优选地,所述设置模块还用于设置获取所述基础数据的范围和时间;
及该系统还包括获取模块,用于根据所设置的范围和时间获取所述基础数据到所述大批量对比测试数据库中。
优选地,经过所述回滚之后,所述大批量对比测试数据库中的数据状态恢复到所述回滚点的状态。
优选地,所述获取基础数据的范围为指定应交日范围。
本发明提出的大批量对比测试系统,采用数据库回滚的方式,执行大批量数据对比测试,先对旧版本进行应收保费计算,保存结果表并导入其他数据库中备份,之后进行数据库回滚,然后针对新版本接口的数据再次进行应收保费计算,保存结果表,对两次保存的结果表进行数据对比分析,可以减少测试人力以及增加测试覆盖面。并且,以数据库回滚的方式确保两次测试结果的基础条件一致,可以保障该对比测试的有效性。
附图说明
图1为本发明第一实施例提出的一种大批量对比测试方法的流程图;
图2为本发明第二实施例提出的一种大批量对比测试方法的流程图;
图3为本发明第三实施例提出的一种大批量对比测试方法的流程图;
图4为本发明第四实施例提出的一种大批量对比测试系统的模块示意图;
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一实施例
如图1所示,本发明第一实施例提出一种大批量对比测试方法,该方法包括以下步骤:
S100,设置大批量对比测试数据库的回滚点。
具体地,根据所设置的回滚点,当后续进行所述大批量对比测试数据库的回滚之后,所述大批量对比测试数据库中的数据状态将恢复到所述回滚点的状态。设置回滚点要注意时间,因为回滚是表示数据库状态的回滚,一旦回滚,数据及代码都会回滚。
值得注意的是,由于运行完代码之后数据的状态会发生变化,若采用删除数据的方式进行前后版本的对比测试,可能存在数据删除不干净,影响对比测试的结果。而数据库回滚的方式能够保证对新版本代码进行测试时数据的状态和对旧版本代码进行测试时的数据状态相同,目的是确保对比结果的基础条件是一致的,确保对比测试的有效性。
在其他实施例中,所述步骤S100也可以在下述步骤S102之后执行。
S102,根据所述大批量对比测试数据库中的基础数据计算应收保费,得到第一结果数据。
具体地,在表tst_rbs_prem_due_tmp中抓取proc_flag=‘N’的数据,调用应收保费抽档的核心接口lifeman.rbs_prem_due_package.policy_due_draw_core生成应收数据,然后更新proc_flag的标志位为Y,避免重复抓取数据。
调用应收抽档核心接口之后,应收数据主要生成在prem_due表以及stat_prem_due表中。针对tst_rbs_prem_due_tmp中proc_flag=‘Y’的数据,在prem_due表中获取同一保单、同一应交日的信息及主要核对的字段,将要核对的字段组合成一个新的字段。同样在stat_prem_due表中也获取同一保单、同一应交日的信息及主要核对的字段。
此处通过开关tst_rbs_control_table,control_id为PREM_DUE_DATA_OLD,v_control_char=‘N’控制为计算旧版本代码下的应收保费数据。所得到的第一结果数据写入表tst_prem_due_case_old中。
S104,根据所设置的回滚点进行所述大批量对比测试数据库的回滚。
具体地,经过回滚之后,所述大批量对比测试数据库中的数据状态恢复到回滚点的状态。因此后续再次进行计算时的基础条件与计算所述第一结果数据时一致。
S106,部署新版本代码后,再次计算应收保费,得到第二结果数据。
具体地,当部署新版本代码到所述大批量对比测试数据库后,根据新版本代码再次计算应收保费。为了保证此处计算的是新版本代码下的应收保费数据,此时的开关是tst_rbs_control_table,control_id为PREM_DUE_DATA_OLD,v_control_char=‘Y’的状态。再次计算应收保费所得到的第二结果数据写入表tst_prem_due_case_new中。
与所述第一结果数据相对应地,所述第二结果数据中也包括在prem_due表中获取的同一保单、同一应交日的信息及主要核对的字段,以及在stat_prem_due表中获取的同一保单、同一应交日的信息及主要核对的字段。
S108,对比所述第一结果数据与第二结果数据,判断是否存在差异。
具体地,针对所述第一结果数据(tst_prem_due_case_old)与第二结果数据(tst_prem_due_case_new)进行对比分析,将分析出的差异写入表tst_rbs_exception中。核对完数据,需要更新相应保单和应交日的proc_flag为Y,表示已经核对过数据,以避免重复核对。
S110,对差异进行分析,判断是否为新版本代码的程序缺陷所导致。
具体地,通过对表tst_rbs_exception中的差异数据进行分析,判断异常原因,看是否是新版本代码的程序缺陷所导致的问题。如果是新版本代码的程序缺陷所导致的问题,则需要对所述新版本代码进行修复。
在本实施例中,可以预先对新版本代码新增或变更的内容以及该新增或变更的内容会对应收保费数据的哪些项目产生影响进行记录。当所述第一结果数据与第二结果数据存在差异时,通过分析所述差异是否属于该新增或变更的内容所影响的项目,来判断是否为程序缺陷。若所述差异属于该新增或变更的内容所影响的项目,则表示不是程序缺陷,忽略该差异。若所述差异不属于该新增或变更的内容所影响的项目,则表示该差异是程序缺陷,需要进行修复。
本实施例所提出的大批量对比测试方法,采用数据库回滚的方式,执行大批量数据对比测试,先对旧版本进行应收保费计算,之后进行数据库回滚,然后针对新版本接口的数据再次进行应收保费计算,对两次计算得到的结果表进行数据对比分析,可以减少测试人力以及增加测试覆盖面。并且,以数据库回滚的方式确保两次测试结果的基础条件一致,可以保障该对比测试的有效性。
第二实施例
如图2所示,本发明第二实施例提出一种大批量对比测试方法。在第二实施例中,所述大批量对比测试方法的步骤与第一实施例的步骤相类似,主要区别在于在第一实施例的基础上增加了步骤S204和S210。该方法具体包括以下步骤:
S200,设置大批量对比测试数据库的回滚点。
具体地,根据所设置的回滚点,当后续进行所述大批量对比测试数据库的回滚之后,所述大批量对比测试数据库中的数据状态将恢复到所述回滚点的状态。设置回滚点要注意时间,因为回滚是表示数据库状态的回滚,一旦回滚,数据及代码都会回滚。
值得注意的是,由于运行完代码之后数据的状态会发生变化,若采用删除数据的方式进行前后版本的对比测试,可能存在数据删除不干净,影响对比测试的结果。而数据库回滚的方式能够保证对新版本代码进行测试时数据的状态和对旧版本代码进行测试时的数据状态相同,目的是确保对比结果的基础条件是一致的,确保对比测试的有效性。
在其他实施例中,所述步骤S200也可以在下述步骤S202之后执行。
S202,根据所述大批量对比测试数据库中的基础数据计算应收保费,得到第一结果数据。
具体地,在表tst_rbs_prem_due_tmp中抓取proc_flag=‘N’的数据,调用应收保费抽档的核心接口lifeman.rbs_prem_due_package.policy_due_draw_core生成应收数据,然后更新proc_flag的标志位为Y,避免重复抓取数据。
调用应收抽档核心接口之后,应收数据主要生成在prem_due表以及stat_prem_due表中。针对tst_rbs_prem_due_tmp中proc_flag=‘Y’的数据,在prem_due表中获取同一保单、同一应交日的信息及主要核对的字段,将要核对的字段组合成一个新的字段。同样在stat_prem_due表中也获取同一保单、同一应交日的信息及主要核对的字段。
此处通过开关tst_rbs_control_table,control_id为PREM_DUE_DATA_OLD,v_control_char=‘N’控制为计算旧版本代码下的应收保费数据。所得到的第一结果数据写入表tst_prem_due_case_old中。
S204,将所述第一结果数据导入到另一数据库中进行备份。
具体地,将表tst_prem_due_case_old的第一结果数据导入到另一个数据库中,可以通过数据库链接(Database Link,dblink)的方式进行导入。因为当数据库回滚时,会将结果集也一起回滚,所以需要将结果集进行备份,之后再导回所述大批量对比测试库。
S206,根据所设置的回滚点进行所述大批量对比测试数据库的回滚。
具体地,经过回滚之后,所述大批量对比测试数据库中的数据状态恢复到回滚点的状态。因此后续再次进行计算时的基础条件与计算所述第一结果数据时一致。
S208,部署新版本代码后,再次计算应收保费,得到第二结果数据。
具体地,当部署新版本代码到所述大批量对比测试数据库后,根据新版本代码再次计算应收保费。为了保证此处计算的是新版本代码下的应收保费数据,此时的开关是tst_rbs_control_table,control_id为PREM_DUE_DATA_OLD,v_control_char=‘Y’的状态。再次计算应收保费所得到的第二结果数据写入表tst_prem_due_case_new中。
与所述第一结果数据相对应地,所述第二结果数据中也包括在prem_due表中获取的同一保单、同一应交日的信息及主要核对的字段,以及在stat_prem_due表中获取的同一保单、同一应交日的信息及主要核对的字段。
S210,将第一结果数据导回所述大批量对比测试数据库中。
具体地,从所述另一数据库中将表tst_prem_due_case_old的第一结果数据通过dblink的方式导回到所述大批量对比测试库。
S212,对比所述第一结果数据与第二结果数据,判断是否存在差异。
具体地,针对所述第一结果数据(tst_prem_due_case_old)与第二结果数据(tst_prem_due_case_new)进行对比分析,将分析出的差异写入表tst_rbs_exception中。核对完数据,需要更新相应保单和应交日的proc_flag为Y,表示已经核对过数据,以避免重复核对。
S214,对差异进行分析,判断是否为新版本代码的程序缺陷所导致。
具体地,通过对表tst_rbs_exception中的差异数据进行分析,判断异常原因,看是否是新版本代码的程序缺陷所导致的问题。如果是新版本代码的程序缺陷所导致的问题,则需要对所述新版本代码进行修复。
在本实施例中,可以预先对新版本代码新增或变更的内容以及该新增或变更的内容会对应收保费数据的哪些项目产生影响进行记录。当所述第一结果数据与第二结果数据存在差异时,通过分析所述差异是否属于该新增或变更的内容所影响的项目,来判断是否为程序缺陷。若所述差异属于该新增或变更的内容所影响的项目,则表示不是程序缺陷,忽略该差异。若所述差异不属于该新增或变更的内容所影响的项目,则表示该差异是程序缺陷,需要进行修复。
本实施例所提出的大批量对比测试方法,采用数据库回滚的方式,执行大批量数据对比测试,先对旧版本进行应收保费计算,保存结果表并导入其他数据库中备份,之后进行数据库回滚,然后针对新版本接口的数据再次进行应收保费计算,保存结果表,对两次保存的结果表进行数据对比分析,可以减少测试人力以及增加测试覆盖面。并且,以数据库回滚的方式确保两次测试结果的基础条件一致,可以保障该对比测试的有效性。另外,对第一次计算的结果表进行备份可以保证该结果表不受数据库回滚的影响。
第三实施例
如图3所示,本发明第三实施例提出一种大批量对比测试方法。在第三实施例中,所述大批量对比测试方法的步骤与第二实施例的步骤相类似,主要区别在于在第二实施例的基础上增加了步骤S300和步骤S302。该方法具体包括以下步骤:
S300,设置获取基础数据的范围和时间。
具体地,设置抓取指定应交日范围的数据(一般是下个月),而抓取的时间可以设置相应程序开关进行控制,定期抓取一批基础数据。
S302,根据所设置的范围和时间获取基础数据到大批量对比测试数据库中。
具体地,按照所设置的时间抓取指定应交日范围的数据,得到满足条件的基础数据,写入表tst_rbs_prem_due_tmp中。
S304,设置所述大批量对比测试数据库的回滚点。
具体地,根据所设置的回滚点,当后续进行所述大批量对比测试数据库的回滚之后,所述大批量对比测试数据库中的数据状态将恢复到所述回滚点的状态。设置回滚点要注意时间,因为回滚是表示数据库状态的回滚,一旦回滚,数据及代码都会回滚。
值得注意的是,由于运行完代码之后数据的状态会发生变化,若采用删除数据的方式进行前后版本的对比测试,可能存在数据删除不干净,影响对比测试的结果。而数据库回滚的方式能够保证对新版本代码进行测试时数据的状态和对旧版本代码进行测试时的数据状态相同,目的是确保对比结果的基础条件是一致的,确保对比测试的有效性。
在其他实施例中,所述步骤S304也可以在下述步骤S306之后执行。
S306,根据所获取的基础数据计算应收保费,得到第一结果数据。
具体地,在表tst_rbs_prem_due_tmp中抓取proc_flag=‘N’的数据,调用应收保费抽档的核心接口lifeman.rbs_prem_due_package.policy_due_draw_core生成应收数据,然后更新proc_flag的标志位为Y,避免重复抓取数据。
调用应收抽档核心接口之后,应收数据主要生成在prem_due表以及stat_prem_due表中。针对tst_rbs_prem_due_tmp中proc_flag=‘Y’的数据,在prem_due表中获取同一保单、同一应交日的信息及主要核对的字段,将要核对的字段组合成一个新的字段。同样在stat_prem_due表中也获取同一保单、同一应交日的信息及主要核对的字段。
此处通过开关tst_rbs_control_table,control_id为PREM_DUE_DATA_OLD,v_control_char=‘N’控制为计算旧版本代码下的应收保费数据。所得到的第一结果数据写入表tst_prem_due_case_old中。
S308,将所述第一结果数据导入到另一数据库中进行备份。
具体地,将表tst_prem_due_case_old的第一结果数据导入到另一个数据库中,可以通过dblink的方式进行导入。因为当数据库回滚时,会将结果集也一起回滚,所以需要将结果集进行备份,之后再导回所述大批量对比测试库。
S310,根据所设置的回滚点进行所述大批量对比测试数据库的回滚。
具体地,经过回滚之后,所述大批量对比测试数据库中的数据状态恢复到回滚点的状态。因此后续再次进行计算时的基础条件与计算所述第一结果数据时一致。
S312,部署新版本代码后,再次计算应收保费,得到第二结果数据。
具体地,当部署新版本代码到所述大批量对比测试数据库后,根据新版本代码再次计算应收保费。为了保证此处计算的是新版本代码下的应收保费数据,此时的开关是tst_rbs_control_table,control_id为PREM_DUE_DATA_OLD,v_control_char=‘Y’的状态。再次计算应收保费所得到的第二结果数据写入表tst_prem_due_case_new中。
与所述第一结果数据相对应地,所述第二结果数据中也包括在prem_due表中获取的同一保单、同一应交日的信息及主要核对的字段,以及在stat_prem_due表中获取的同一保单、同一应交日的信息及主要核对的字段。
S314,将第一结果数据导回所述大批量对比测试数据库中。
具体地,从所述另一数据库中将表tst_prem_due_case_old的第一结果数据通过dblink的方式导回到所述大批量对比测试库。
S316,对比所述第一结果数据与第二结果数据,判断是否存在差异。
具体地,针对所述第一结果数据(tst_prem_due_case_old)与第二结果数据(tst_prem_due_case_new)进行对比分析,将分析出的差异写入表tst_rbs_exception中。核对完数据,需要更新相应保单和应交日的proc_flag为Y,表示已经核对过数据,以避免重复核对。
S318,对差异进行分析,判断是否为新版本代码的程序缺陷所导致。
具体地,通过对表tst_rbs_exception中的差异数据进行分析,判断异常原因,看是否是新版本代码的程序缺陷所导致的问题。如果是新版本代码的程序缺陷所导致的问题,则需要对所述新版本代码进行修复。
在本实施例中,可以预先对新版本代码新增或变更的内容以及该新增或变更的内容会对应收保费数据的哪些项目产生影响进行记录。当所述第一结果数据与第二结果数据存在差异时,通过分析所述差异是否属于该新增或变更的内容所影响的项目,来判断是否为程序缺陷。若所述差异属于该新增或变更的内容所影响的项目,则表示不是程序缺陷,忽略该差异。若所述差异不属于该新增或变更的内容所影响的项目,则表示该差异是程序缺陷,需要进行修复。
本实施例所提出的大批量对比测试方法,采用数据库回滚的方式,执行大批量数据对比测试,先对旧版本进行应收保费计算,保存结果表并导入其他数据库中备份,之后进行数据库回滚,然后针对新版本接口的数据再次进行应收保费计算,保存结果表,对两次保存的结果表进行数据对比分析,可以减少测试人力以及增加测试覆盖面。并且,以数据库回滚的方式确保两次测试结果的基础条件一致,可以保障该对比测试的有效性。另外,对第一次计算的结果表进行备份可以保证该结果表不受数据库回滚的影响。
第四实施例
如图4所示,本发明第四实施例提出一种大批量对比测试系统40。
在本实施例中,大批量对比测试系统40包括设置模块400、计算模块402、回滚模块404、对比模块406及分析模块408。
所述设置模块400,用于设置大批量对比测试数据库的回滚点。
具体地,根据所设置的回滚点,当后续进行所述大批量对比测试数据库的回滚之后,所述大批量对比测试数据库中的数据状态将恢复到所述回滚点的状态。设置回滚点要注意时间,因为回滚是表示数据库状态的回滚,一旦回滚,数据及代码都会回滚。
值得注意的是,由于运行完代码之后数据的状态会发生变化,若采用删除数据的方式进行前后版本的对比测试,可能存在数据删除不干净,影响对比测试的结果。而数据库回滚的方式能够保证对新版本代码进行测试时数据的状态和对旧版本代码进行测试时的数据状态相同,目的是确保对比结果的基础条件是一致的,确保对比测试的有效性。
所述计算模块402,用于根据所述大批量对比测试数据库中的基础数据计算应收保费,得到第一结果数据。
具体地,在表tst_rbs_prem_due_tmp中抓取proc_flag=‘N’的数据,调用应收保费抽档的核心接口lifeman.rbs_prem_due_package.policy_due_draw_core生成应收数据,然后更新proc_flag的标志位为Y,避免重复抓取数据。
调用应收抽档核心接口之后,应收数据主要生成在prem_due表以及stat_prem_due表中。针对tst_rbs_prem_due_tmp中proc_flag=‘Y’的数据,在prem_due表中获取同一保单、同一应交日的信息及主要核对的字段,将要核对的字段组合成一个新的字段。同样在stat_prem_due表中也获取同一保单、同一应交日的信息及主要核对的字段。
此处通过开关tst_rbs_control_table,control_id为PREM_DUE_DATA_OLD,v_control_char=‘N’控制为计算旧版本代码下的应收保费数据。所得到的第一结果数据写入表tst_prem_due_case_old中。
所述回滚模块404,用于根据所设置的回滚点进行所述大批量对比测试数据库的回滚。
具体地,经过回滚之后,所述大批量对比测试数据库中的数据状态恢复到回滚点的状态。因此后续再次进行计算时的基础条件与计算所述第一结果数据时一致。
所述计算模块402,还用于当部署新版本代码后,再次计算应收保费,得到第二结果数据。
具体地,当部署新版本代码到所述大批量对比测试数据库后,计算模块402根据新版本代码再次计算应收保费。为了保证此处计算的是新版本代码下的应收保费数据,此时的开关是tst_rbs_control_table,control_id为PREM_DUE_DATA_OLD,v_control_char=‘Y’的状态。再次计算应收保费所得到的第二结果数据写入表tst_prem_due_case_new中。
与所述第一结果数据相对应地,所述第二结果数据中也包括在prem_due表中获取的同一保单、同一应交日的信息及主要核对的字段,以及在stat_prem_due表中获取的同一保单、同一应交日的信息及主要核对的字段。
所述对比模块406,用于对比所述第一结果数据与第二结果数据,判断是否存在差异。
具体地,对比模块406针对所述第一结果数据(tst_prem_due_case_old)与第二结果数据(tst_prem_due_case_new)进行对比分析,将分析出的差异写入表tst_rbs_exception中。核对完数据,需要更新相应保单和应交日的proc_flag为Y,表示已经核对过数据,以避免重复核对。
所述分析模块408,用于对差异进行分析,判断是否为新版本代码的程序缺陷所导致。
具体地,通过对表tst_rbs_exception中的差异数据进行分析,判断异常原因,看是否是新版本代码的程序缺陷所导致的问题。如果是新版本代码的程序缺陷所导致的问题,则需要对所述新版本代码进行修复。
在本实施例中,可以预先对新版本代码新增或变更的内容以及该新增或变更的内容会对应收保费数据的哪些项目产生影响进行记录。当所述第一结果数据与第二结果数据存在差异时,通过分析所述差异是否属于该新增或变更的内容所影响的项目,来判断是否为程序缺陷。若所述差异属于该新增或变更的内容所影响的项目,则表示不是程序缺陷,忽略该差异。若所述差异不属于该新增或变更的内容所影响的项目,则表示该差异是程序缺陷,需要进行修复。
进一步地,所述大批量对比测试系统40还可以包括:
备份模块410,用于在回滚模块404进行所述大批量对比测试数据库的回滚之前,将所述第一结果数据导入到另一数据库中进行备份。
具体地,备份模块410将表tst_prem_due_case_old的第一结果数据导入到另一个数据库中,可以通过dblink的方式进行导入。因为当数据库回滚时,会将结果集也一起回滚,所以需要将结果集进行备份,之后再导回所述大批量对比测试库。
所述备份模块410还用于当计算模块402得到第二结果数据之后,将第一结果数据导回所述大批量对比测试数据库中。
具体地,备份模块410从所述另一数据库中将表tst_prem_due_case_old的第一结果数据通过dblink的方式导回到所述大批量对比测试库。
更进一步地,所述设置模块400还用于设置获取基础数据的范围和时间。
具体地,设置模块400设置抓取指定应交日范围的数据(一般是下个月),而抓取的时间可以设置相应程序开关进行控制,定期抓取一批基础数据。
并且,所述大批量对比测试系统40还可以包括:
获取模块412,用于根据设置模块400所设置的范围和时间获取基础数据到所述大批量对比测试数据库中。
具体地,获取模块412按照所设置的时间抓取指定应交日范围的数据,得到满足条件的基础数据,写入表tst_rbs_prem_due_tmp中。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

Claims (8)

1.一种大批量对比测试方法,其特征在于,该方法包括步骤:
设置大批量对比测试数据库的回滚点;
根据所述大批量对比测试数据库中的基础数据,通过开关选择控制参数为第一状态来使用旧版本代码计算应收保费,得到第一结果数据;
根据所设置的回滚点进行所述大批量对比测试数据库的回滚,经过所述回滚之后,所述大批量对比测试数据库中的数据状态恢复到所述回滚点的状态,所述回滚点的状态能使对新版本代码进行测试时数据的状态和对旧版本代码进行测试时的数据状态相同;
部署新版本代码后,通过开关选择控制参数为第二状态来使用新版本代码再次计算应收保费,得到第二结果数据;
对比所述第一结果数据与所述第二结果数据,判断是否存在差异,并对已经核对过的数据更新相应保单和应交日的标志以避免重复核对;及
对所述差异进行分析,判断是否为新版本代码的程序缺陷所导致,其中预先对新版本代码新增或变更的内容以及该新增或变更的内容会对应收保费数据的哪些项目产生影响进行记录,当所述第一结果数据与第二结果数据存在差异时,通过分析所述差异是否属于该新增或变更的内容所影响的项目,来判断是否为程序缺陷,若所述差异属于该新增或变更的内容所影响的项目,则表示不是程序缺陷,忽略该差异,若所述差异不属于该新增或变更的内容所影响的项目,则表示该差异是程序缺陷,需要进行修复。
2.根据权利要求1所述的大批量对比测试方法,其特征在于,该方法还包括步骤:
在进行所述大批量对比测试数据库的回滚之前,将所述第一结果数据导入到另一数据库中进行备份;及
当得到所述第二结果数据之后,将所述第一结果数据导回所述大批量对比测试数据库中。
3.根据权利要求2所述的大批量对比测试方法,其特征在于,该方法还包括步骤:
设置获取所述基础数据的范围和时间;及
根据所设置的范围和时间获取所述基础数据到所述大批量对比测试数据库中。
4.根据权利要求3所述的大批量对比测试方法,其特征在于,所述获取基础数据的范围为指定应交日范围。
5.一种大批量对比测试系统,其特征在于,该系统包括:
设置模块,用于设置大批量对比测试数据库的回滚点;
计算模块,用于根据所述大批量对比测试数据库中的基础数据,通过开关选择控制参数为第一状态来使用旧版本代码计算应收保费,得到第一结果数据;
回滚模块,用于根据所设置的回滚点进行所述大批量对比测试数据库的回滚,经过所述回滚之后,所述大批量对比测试数据库中的数据状态恢复到所述回滚点的状态,所述回滚点的状态能使对新版本代码进行测试时数据的状态和对旧版本代码进行测试时的数据状态相同;
所述计算模块还用于部署新版本代码后,通过开关选择控制参数为第二状态来使用新版本代码再次计算应收保费,得到第二结果数据;
对比模块,用于对比所述第一结果数据与所述第二结果数据,判断是否存在差异,并对已经核对过的数据更新相应保单和应交日的标志以避免重复核对;
分析模块,用于对所述差异进行分析,判断是否为新版本代码的程序缺陷所导致,其中预先对新版本代码新增或变更的内容以及该新增或变更的内容会对应收保费数据的哪些项目产生影响进行记录,当所述第一结果数据与第二结果数据存在差异时,通过分析所述差异是否属于该新增或变更的内容所影响的项目,来判断是否为程序缺陷,若所述差异属于该新增或变更的内容所影响的项目,则表示不是程序缺陷,忽略该差异,若所述差异不属于该新增或变更的内容所影响的项目,则表示该差异是程序缺陷,需要进行修复。
6.根据权利要求5所述的大批量对比测试系统,其特征在于,该系统还包括:
备份模块,用于在进行所述大批量对比测试数据库的回滚之前,将所述第一结果数据导入到另一数据库中进行备份;及当得到所述第二结果数据之后,将所述第一结果数据导回所述大批量对比测试数据库中。
7.根据权利要求6所述的大批量对比测试系统,其特征在于:
所述设置模块还用于设置获取所述基础数据的范围和时间;
及该系统还包括获取模块,用于根据所设置的范围和时间获取所述基础数据到所述大批量对比测试数据库中。
8.根据权利要求7所述的大批量对比测试系统,其特征在于,所述获取基础数据的范围为指定应交日范围。
CN201710312328.0A 2017-05-05 2017-05-05 大批量对比测试方法及系统 Active CN107870859B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710312328.0A CN107870859B (zh) 2017-05-05 2017-05-05 大批量对比测试方法及系统
PCT/CN2018/085723 WO2018202172A1 (zh) 2017-05-05 2018-05-04 大批量对比测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710312328.0A CN107870859B (zh) 2017-05-05 2017-05-05 大批量对比测试方法及系统

Publications (2)

Publication Number Publication Date
CN107870859A CN107870859A (zh) 2018-04-03
CN107870859B true CN107870859B (zh) 2021-04-27

Family

ID=61761487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710312328.0A Active CN107870859B (zh) 2017-05-05 2017-05-05 大批量对比测试方法及系统

Country Status (2)

Country Link
CN (1) CN107870859B (zh)
WO (1) WO2018202172A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870859B (zh) * 2017-05-05 2021-04-27 平安科技(深圳)有限公司 大批量对比测试方法及系统
CN109032930A (zh) * 2018-07-03 2018-12-18 泰康保险集团股份有限公司 系统测试方法及装置
US11093379B2 (en) 2019-07-22 2021-08-17 Health Care Service Corporation Testing of complex data processing systems
CN110471859A (zh) * 2019-09-12 2019-11-19 泰康保险集团股份有限公司 业务测试方法、装置、介质及电子设备
CN112381661B (zh) * 2020-11-27 2024-01-30 深圳市慧择时代科技有限公司 一种保险产品相似度确定方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104765692A (zh) * 2015-04-29 2015-07-08 北京嘀嘀无限科技发展有限公司 用于自动化测试软件的方法及设备
CN105068893A (zh) * 2015-08-26 2015-11-18 国家电网公司 一种还原数据库状态的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037360B2 (en) * 2006-10-03 2011-10-11 Symantec Corporation Software testing framework for multiple operating system, hardware, and software configurations
CN101556550A (zh) * 2009-05-22 2009-10-14 北京星网锐捷网络技术有限公司 一种自动化测试日志分析方法和装置
CN103631705B (zh) * 2012-08-24 2018-01-05 百度在线网络技术(北京)有限公司 一种针对搜索引擎的回归测试方法和装置
CN104182344B (zh) * 2014-08-25 2017-02-15 腾讯科技(深圳)有限公司 一种覆盖安装测试方法及装置
CN106201886B (zh) * 2016-07-18 2019-04-09 优酷网络技术(北京)有限公司 一种实时数据任务的验证的代理方法及装置
CN107870859B (zh) * 2017-05-05 2021-04-27 平安科技(深圳)有限公司 大批量对比测试方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104765692A (zh) * 2015-04-29 2015-07-08 北京嘀嘀无限科技发展有限公司 用于自动化测试软件的方法及设备
CN105068893A (zh) * 2015-08-26 2015-11-18 国家电网公司 一种还原数据库状态的方法

Also Published As

Publication number Publication date
CN107870859A (zh) 2018-04-03
WO2018202172A1 (zh) 2018-11-08

Similar Documents

Publication Publication Date Title
CN107870859B (zh) 大批量对比测试方法及系统
CN105487980B (zh) 修复应用程序运行异常的方法及装置
CN104598380A (zh) 一种基于控件的自动化测试方法及系统
CN110088744B (zh) 一种数据库维护方法及其系统
CN113448854A (zh) 一种回归测试方法和装置
CN112328499A (zh) 一种测试数据生成方法、装置、设备及介质
CN111127247B (zh) 电量数据采集方法、装置、计算机设备和存储介质
CN111291051B (zh) 运价数据处理方法及装置、存储介质及电子设备
CN112965912B (zh) 接口测试用例生成方法、装置和电子设备
CN109360605A (zh) 基因组测序数据归档方法、服务器及计算机可读存储介质
CN116823464B (zh) 数据资产管理平台、电子设备及计算机可读存储介质
CN109376073B (zh) 一种测试环境记忆及恢复方法
CN111382071A (zh) 一种用户行为数据测试方法及系统
CN112346994B (zh) 一种测试信息关联方法、装置、计算机设备及存储介质
CN115269424A (zh) 生产流量的自动回归测试方法、装置、设备及存储介质
CN115080401A (zh) 一种自动化测试方法和相关装置
CN113986939A (zh) 数据库的数据变更方法及装置
CN114356781A (zh) 软件功能测试方法和装置
CN114237976A (zh) 一种数据获取方法及装置
CN113448855A (zh) 数据库版本包检测方法及装置
CN107102938B (zh) 测试脚本的更新方法及装置
CN114860549B (zh) 埋点数据校验方法、装置、设备和存储介质
CN105975924A (zh) 一种基于视频帧数统计进行精确识别广告内容的回归测试方法
CN112749091A (zh) 软件回归测试方法
CN110704322B (zh) 软件测试方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant