CN116340187B - 规则引擎迁移测试方法、装置、电子设备及存储介质 - Google Patents

规则引擎迁移测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116340187B
CN116340187B CN202310596410.6A CN202310596410A CN116340187B CN 116340187 B CN116340187 B CN 116340187B CN 202310596410 A CN202310596410 A CN 202310596410A CN 116340187 B CN116340187 B CN 116340187B
Authority
CN
China
Prior art keywords
test
request message
rule engine
interface request
operation record
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
CN202310596410.6A
Other languages
English (en)
Other versions
CN116340187A (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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202310596410.6A priority Critical patent/CN116340187B/zh
Publication of CN116340187A publication Critical patent/CN116340187A/zh
Application granted granted Critical
Publication of CN116340187B publication Critical patent/CN116340187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3692Test management for test results analysis
    • 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

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)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供一种规则引擎迁移测试方法、装置、电子设备及存储介质,可以应用于信息技术、金融科技技术领域。其中,方法包括:获取测试接口请求报文;根据测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,第一规则引擎为迁移前的规则引擎;根据测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,第二规则引擎为迁移后的规则引擎;根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果。由此,可以根据第一操作记录和第二操作记录得到测试结果,避免决策结论一致操作过程不一致时也得到通过测试的测试结果的问题,提高测试的准确性。

Description

规则引擎迁移测试方法、装置、电子设备及存储介质
技术领域
本公开涉及信息技术、金融科技技术领域,尤其涉及一种规则引擎迁移测试方法、装置、电子设备及存储介质。
背景技术
相关技术中,银行规则引擎迁移的测试,通常根据接口请求报文在迁移前后的规则引擎的决策结论是否一致判断测试结果,但是并未考虑到迁移前后的规则引擎具体经过哪些操作过程,这样会导致最终得到的测试结果不准确,这是亟需解决的问题。
发明内容
本公开提供一种规则引擎迁移测试方法、装置、电子设备及存储介质,可以根据第一操作记录和第二操作记录得到测试结果,避免决策结论一致操作过程不一致时也得到通过测试的测试结果的问题,提高测试的准确性。
第一方面,本公开提供一种规则引擎迁移测试方法,包括:获取测试接口请求报文;根据测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,第一规则引擎为迁移前的规则引擎;根据测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,第二规则引擎为迁移后的规则引擎;根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果。
在一些实施例中,根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果,包括:响应于第二操作记录与第一操作记录相同,且第二决策结论与第一决策结论相同,确定测试接口请求报文的测试结果为通过测试;将测试接口请求报文对应的接口响应码赋值为第一指定码。
在一些实施例中,方法还包括:响应于第二操作记录与第一操作记录不同,和/或第二决策结论与第一决策结论不同,确定测试接口请求报文的测试结果为未通过测试;将测试接口请求报文对应的接口响应码赋值为第二指定码。
在一些实施例中,测试接口请求报文包括第一接口请求报文,获取测试接口请求报文,包括:获取用户输入的参数信息;其中,参数信息包括测试环境和测试接口;根据参数信息,收集规则引擎迁移前测试环境中测试接口对应的第一接口请求报文。
在一些实施例中,测试接口请求报文还包括第二接口请求报文,获取测试接口请求报文,还包括:根据第一接口请求报文,确定报文模板;根据报文模板和参数信息,通过脚本工具自动生成第二接口请求报文。
在一些实施例中,方法还包括:确定用户输入的用例参数组合数和约束条件;提取测试结果为通过测试的测试接口请求报文中的指定参数;根据用例参数组合数、约束条件、指定参数和报文模板,生成测试用例集。
第二方面,本公开提供一种规则引擎迁移测试装置,包括:报文获取单元,用于获取测试接口请求报文;第一处理单元,用于根据测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,第一规则引擎为迁移前的规则引擎;第二处理单元,用于根据测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,第二规则引擎为迁移后的规则引擎;结果确定单元,用于根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果。
第三方面,本公开提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述的方法。
第四方面,本公开提供一种计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行上述的方法。
第五方面,本公开提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过实施本公开实施例,获取测试接口请求报文;根据测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,第一规则引擎为迁移前的规则引擎;根据测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,第二规则引擎为迁移后的规则引擎;根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果。由此,可以根据第一操作记录和第二操作记录得到测试结果,避免决策结论一致操作过程不一致时也得到通过测试的测试结果的问题,提高测试的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本公开实施例提供的一种规则引擎迁移测试方法的流程图;
图2为本公开实施例提供的另一种规则引擎迁移测试方法的流程图;
图3为本公开实施例提供的规则引擎迁移测试方法中一种S10的流程图;
图4为本公开实施例提供的规则引擎迁移测试方法中另一种S10的流程图;
图5为本公开实施例提供的又一种规则引擎迁移测试方法的流程图;
图6为本公开实施例提供的又一种规则引擎迁移测试方法的流程图;
图7为本公开实施例提供的又一种规则引擎迁移测试方法的流程图;
图8为本公开实施例提供的一种规则引擎迁移自动化测试装置的示意图;
图9为本公开实施例提供的一种规则引擎迁移测试装置的结构图;
图10为本公开实施例提供的规则引擎迁移测试装置中一种报文获取单元的结构图;
图11为本公开实施例提供的规则引擎迁移测试装置中另一种报文获取单元的结构图;
图12为本公开实施例提供的另一种规则引擎迁移测试装置的结构图;
图13为本公开实施例提供的电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
随着软件国产化进程加快,银行使用的ILOG等国外规则引擎需逐渐迁移为国产规则引擎或采用代码自实现的形式。银行信贷流程长,业务场景多,采用人工测试耗时耗力,覆盖不全面;传统的接口测试对于请求报文入参数量多、组合多样的接口,测试用例编写麻烦,且只能以响应报文出参作为决策结果进行校验,无法确定具体的决策路径是否正确。
相关技术中,银行规则引擎迁移的测试,通常根据接口请求报文在迁移前后的规则引擎的决策结论是否一致判断测试结果,若决策结论一致则确定测试结果为通过测试。但是并未考虑到迁移前后的规则引擎具体经过哪些操作过程,可能操作过程不一致但是最终的决策结论一致,此时所得到的测试结果同样为通过测试,这样会导致最终得到的测试结果不准确,这是亟需解决的问题。
基于此,本公开实施例提供一种规则引擎迁移测试方法,获取测试接口请求报文;根据测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,第一规则引擎为迁移前的规则引擎;根据测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,第二规则引擎为迁移后的规则引擎;根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果。由此,可以根据第一操作记录和第二操作记录得到测试结果,避免决策结论一致操作过程不一致时也得到通过测试的测试结果的问题,提高测试的准确性。
图1为本公开实施例提供的一种规则引擎迁移测试方法的流程图。如图1所示,该规则引擎迁移测试方法包括但不限于如下步骤:
S1:获取测试接口请求报文。
需要说明的是,本公开实施例的规则引擎迁移测试方法,可以由本公开实施例的规则引擎迁移测试装置执行,该规则引擎迁移测试装置可以由软件和/或硬件的方式实现。
其中,规则引擎迁移测试装置可以为电子设备,也可以是配置在电子设备中支持电子设备实现规则引擎迁移测试方法的芯片、芯片系统、或处理器等。
其中,电子设备可以安装并运行规则引擎迁移测试程序,电子设备可以包括但不限于智能手机、平板电脑、电脑等具有各种操作系统的硬件设备。
本公开实施例中,获取测试接口请求报文,可以收集监控平台上规则引擎迁移前不同测试环境对应的不同接口的测试接口请求报文,或者还可以根据用户需求,收集特定测试环境对应的特定接口的测试接口请求报文,或者还可以根据测试环境对应的接口的相关参数,结合报文模板通过脚本工具自动生成测试接口请求报文,等等。
可以理解的是,本公开实施例中测试接口请求报文可以包括某一测试环境对应的某一特定接口的请求报文,或者还可以包括多个测试环境对应的多个接口的请求报文,本公开实施例对此不作具体限制。
S2:根据测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,第一规则引擎为迁移前的规则引擎。
S3:根据测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,第二规则引擎为迁移后的规则引擎。
本公开实施例中,在获取到测试接口请求报文后,可以调用第一规则引擎,第一规则引擎为迁移前的规则引擎,通过报文回放,执行获取到的测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论。
另外,在获取到测试接口请求报文后,还可以调用第二规则引擎,第二规则引擎为迁移后的规则引擎,通过报文回放,执行获取到的测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论。
可以理解的是,本公开实施例中,可以通过制定自动获取规则引擎的操作记录的操作工具,以使用操作工具,自动获取第一规则引擎的第一操作记录,以及第二规则引擎的第二操作记录。
其中,制定自动获取规则引擎的操作记录的操作工具,可以采用相关技术中的方法,或者还可以通过读取规则引擎对测试接口请求报文的回放和执行后的出参,指定自动提取相应的参数,并根据相应参数得到操作记录的方法,获取操作工具。
需要说明的是,获取第一规则引擎的第一操作记录,以及第二规则引擎的第二操作记录的方法还可以采用其他方法,本公开实施例对此不作具体限制。
在一些实施例中,用户可以在客户端输入测试时间,以在测试时间内进行测试接口请求报文的测试。
S4:根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果。
本公开实施例中,在获取到第一操作记录、第二操作记录、第一决策结论和第二决策结论的情况下,可以根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果。由此,可以考虑第一操作记录和第二操作记录是否一致,得到测试结果,避免决策结论一致操作过程不一致时也得到通过测试的测试结果的问题,提高测试的准确性。
通过实施本公开实施例,获取测试接口请求报文;根据测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,第一规则引擎为迁移前的规则引擎;根据测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,第二规则引擎为迁移后的规则引擎;根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果。由此,可以根据第一操作记录和第二操作记录得到测试结果,避免决策结论一致操作过程不一致时也得到通过测试的测试结果的问题,提高测试的准确性。
图2为本公开实施例提供的另一种规则引擎迁移测试方法的流程图。如图2所示,该规则引擎迁移测试方法包括但不限于如下步骤:
S10:获取测试接口请求报文。
S20:根据测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,第一规则引擎为迁移前的规则引擎。
S30:根据测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,第二规则引擎为迁移后的规则引擎。
其中,S10至S30的相关描述可以参见上述实施例中的相关描述,此处不再赘述。
S40:响应于第二操作记录与第一操作记录相同,且第二决策结论与第一决策结论相同,确定测试接口请求报文的测试结果为通过测试。
本公开实施例中,在第二操作记录与第一操作记录相同,且第二决策结论与第一决策结论相同的情况下,确定测试接口请求报文的测试结果为通过测试。由此,可以保证在决策结论一致,操作记录也一致的情况下,得到通过测试的测试结果。
S50:将测试接口请求报文对应的接口响应码赋值为第一指定码。
本公开实施例中,在第二操作记录与第一操作记录相同,且第二决策结论与第一决策结论相同的情况下,确定测试接口请求报文的测试结果为通过测试,之后可以将测试接口请求报文对应的接口响应码赋值为第一指定码。由此,可以在第一操作记录和第二操作记录相同且第二决策结论与第一决策结论相同的情况下,得到通过测试的测试结果,避免决策结论一致操作过程不一致时也得到通过测试的测试结果的问题,并在接口响应码的赋值为第一指定码的情况下,可以快速确定通过测试的测试结果,提高测试的准确性。
可以理解的是,第一指定码可以为指示通过测试的编码,第一指定码可以复用现有的编码,或者还可以使用新增的编码,本公开实施例对此不作具体限制。
在一些实施例中,该方法还包括:响应于第二操作记录与第一操作记录不同,和/或第二决策结论与第一决策结论不同,确定测试接口请求报文的测试结果为未通过测试;将测试接口请求报文对应的接口响应码赋值为第二指定码。
本公开实施例中,在第二操作记录与第一操作记录不同,和/或第二决策结论与第一决策结论不同的情况下,确定测试接口请求报文的测试结果为未通过测试,之后可以将测试接口请求报文对应的接口响应码赋值为第二指定码。由此,可以在第一操作记录和第二操作记录不同和/或第二决策结论与第一决策结论不同的情况下,得到未通过测试的测试结果,避免决策结论一致操作过程不一致时也得到通过测试的测试结果的问题,并在接口响应码的赋值为第二指定码的情况下,可以快速确定未通过测试的测试结果,提高测试的准确性。
可以理解的是,第二指定码可以为指示未通过测试的编码,第二指定码可以复用现有的编码,或者还可以使用新增的编码,本公开实施例对此不作具体限制。
银行规则引擎的特点:(1)银行业务场景、客户类型多,相应的规则分支繁多;(2)规则引擎对应的接口入参数量多、组合多样。
对银行规则引擎进行测试,若人工测试则耗时耗力,并且传统的接口测试对于请求报文入参数量多、组合多样的接口,测试用例编写麻烦,存在覆盖不全面的问题。
为了提高测试覆盖率、降低人力投入成本,急需一种针对复杂接口、银行规则引擎迁移类项目的自动化测试装置,解决规则引擎分支繁多测试不全面和后续版本迭代持续覆盖性测试执行的问题。
基于此,在一些实施例中,本公开实是实施例获取的测试接口请求报文包括第一接口请求报文。
如图3所示,S10:获取测试接口请求报文,包括:
S101a:获取用户输入的参数信息;其中,参数信息包括测试环境和测试接口。
本公开实施例中,可以获取用户输入的参数信息,其中,用户可以在客户端输入参数信息,其中,参数信息包括测试环境和测试接口。
可以理解的是,客户端的测试环境填报页面包含【添加】【编辑】【删除】【复制】按钮,用户可以填写保存测试环境的名称、服务地址和加密机地址,等等。
可以理解的是,客户端的测试接口填报页面包含【添加】【编辑】【删除】【导入】按钮,可配置接口名称、安全节点号、请求报文参数及对应的代码值、中文含义,或者接口参数也可通过表格(EXCEL)文件进行导入。
S102a:根据参数信息,收集规则引擎迁移前测试环境中测试接口对应的第一接口请求报文。
本公开实施例中,在获取到用户输入的参数信息的情况下,可以根据参数信息,收集规则引擎迁移前测试环境中测试接口对应的第一接口请求报文。由此,能够根据用户输入的参数信息,收集规则引擎迁移前测试环境中测试接口对应的第一接口请求报文,对于具有请求报文入参数量多、组合多样的接口的规则引擎,能够根据测试环境和测试接口进行第一接口请求报文的收集,能够提高测试覆盖率,降低人力和时间投入成本。
可以理解的是,用户还可以在客户端输入采集的时间区间,可对指定时间段内的第一接口请求报文进行收集,用户点击客户端中的【收集报文】按钮,页面弹出测试环境与接口名称,勾选需要采集的接口名称,再点击弹窗中的【开始】按钮即可触发报文收集。
在一些实施例中,测试接口请求报文还包括第二接口请求报文。
如图4所示,S10:获取测试接口请求报文,还包括:
S101b:根据第一接口请求报文,确定报文模板。
本公开实施例中,在获取到第一接口请求报文后,可以对收集到的第一接口请求报文根据业务场景进行分析、分类,并将重要参数进行占位符替换,保存为报文模板。
S102b:根据报文模板和参数信息,通过脚本工具自动生成第二接口请求报文。
本公开实施例中,可以根据用户在客户端输入的参数信息,以及报文模板,通过脚本工具生成自动生成第二接口请求报文,可以自动生成大量成对组合覆盖的第二接口请求报文。由此,能够根据用户输入的参数信息和报文模板,通过脚本工具自动生成第二接口请求报文,对于具有请求报文入参数量多、组合多样的接口的规则引擎,对测试进行场景补充覆盖,能够提高测试覆盖率,降低人力和时间投入成本。
如图5所示,在一些实施例中,该方法还包括:
S100:确定用户输入的用例参数组合数和约束条件。
本公开实施例中,确定用户输入的用例参数组合数和约束条件,其中,用例参数组合数用来限制测试用例集中的测试用例的数量。
其中,约束条件用来限制测试场景,针对不同的测试场景,测试用例的某些字段的值不同,约束条件,即约定某些字段的值为特定值的测试用例,以得到该测试场景对应的测试用例集。
S200:提取测试结果为通过测试的测试接口请求报文中的指定参数。
本公开实施例中,提取测试结果为通过测试的测试接口请求报文中的指定参数。
S300:根据用例参数组合数、约束条件、指定参数和报文模板,生成测试用例集。
本公开实施例中,在确定用例参数组合数、约束条件、指定参数之后,可以根据用例参数组合数、约束条件、指定参数和报文模板,生成测试用例集。由此,得到的测试用例集可以用于后续规则引擎版本迭代时,执行持续覆盖性测试,减少后续回归测试的时间投入与人员投入。
为方便理解,本公开实施例提供如下示例性实施例。
如图6所示,示例性实施例中,解析请求报文(测试接口请求报文)的(指定参数)参数名称与参数值写入数据表1中,参数名称作为字段名,一个报文对应一条记录,每条记录在本地有对应的以全局跟踪流水号字段命名的报文。
根据客户端输入的参数代码值和中文说明,标记报文的业务场景,再按照业务场景对请求报文进行分析分类。相同类型的取一个报文进行参数化,保存为报文模板,供测试用例使用。
从表1提取与测试用例相关的字段,去掉主键标识(ID)和全局跟踪流水号外,参数值一致的重复记录,请求建立一张新的数据表2作为测试用例表。根据用户在客户端输入的用例参数组合数和约束条件,自动生成大量成对组合覆盖性案例,插入数据库表2,补充测试用例表的测试场景。
如图7所示,示例性实施例中,对银行规则引擎进行测试,人工测试耗时耗力,覆盖不全面;传统的接口测试对于请求报文入参数量多、组合多样的接口,测试用例编写麻烦,且只能以响应报文出参作为决策结果进行校验,无法确定具体的决策路径是否正确。因此,本专利提出一种针对复杂接口、银行规则引擎迁移类项目的自动化测试装置,装置分为客户端与服务端,服务端可根据客户端的输入情况执行对应的脚本,执行完成后输出测试报告供客户端下载查看,解决规则引擎分支繁多测试不全面和后续版本迭代持续覆盖性测试执行的问题,提高了测试准确性、覆盖率,同时减少后续回归测试的时间投入与人员投入。
示例性实施例中,主要包含如下步骤:
参数信息配置:填写测试环境信息、接口相关信息。输入测试环境、接口名称、请求参数、测试类型等信息进行参数配置。
报文采集与数据存储:根据配置的参数信息,收集监控平台上规则引擎迁移前测试环境对应的接口请求报文(第一接口请求报文),存到服务器本地并导入数据库。
报文参数化处理:将收集到的报文根据业务场景进行分析、分类,并将重要参数进行占位符替换,保存为报文模板,供测试用例引用。
比对测试:此时接口内部添加结果比对模块,将收集到的报文在迁移后的测试环境进行回放。其中结果比对模块会分别调用新老规则引擎,打印并比对两者的操作记录与决策结论,若结果不一致则将接口响应码赋值为指定的错误码。增加规则引擎操作过程记录的比对,避免当决策结论一致,过程不一致也被认定为结果一致的情况。另外,增加自动生成案例比对测试,输入与测试用例相关的所有参数,通过脚本工具自动生成大量成对组合覆盖的测试用例(第二接口请求报文),对报文回放比对测试进行场景补充覆盖。
固化测试用例集:提取报文中与测试用例相关的参数,创建一张新的数据库表作为测试用例表;再将比对测试验证通过的返回结果写入测试用例表作为检查点,进行持续集成回归测试。
如图8所示,示例性实施例中,规则引擎迁移测试方法由规则引擎迁移测试装置执行,
规则引擎迁移测试装置包括客户端与服务端,客户端由参数配置、测试用例、测试管理3个模块构成,服务端由数据存储、数据处理和用例执行3个模块构成。
其中,参数配置模块,可配置测试环境信息、接口相关信息。
测试环境信息填报页面包含【添加】【编辑】【删除】【复制】按钮,可以填写保存测试环境的名称、服务地址和加密机地址。
接口相关信息填报页面包含【添加】【编辑】【删除】【导入】按钮,可配置接口名称、安全节点号、请求报文参数及对应的代码值、中文含义,接口参数也可通过EXCEL文件进行导入。
其中,测试用例模块,可对报文收集与自动生成用例进行配置。
报文收集页面:输入时间区间,可对指定时间段的请求报文进行收集,点击【收集报文】按钮,页面弹出测试环境与接口名称,勾选需要采集的接口名称,再点击弹窗中的【开始】按钮即可触发报文收集。
自动生成用例页面:输入用例集名称、用例参数组合数与约束条件,点击【生成案例】按钮,即可触发测试用例自动生成,生成成功的用例名称会显示在案例列表中,可点击【导出】按钮,下载查看用例具体内容。
其中,测试管理模块,可设定测试计划与导出测试报告。
编辑测试计划可以设置待测的【测试用例集】、【测试脚本】、【测试时间】。测试时间可选择立即执行或定时执行,测试完成后则通过测试报告页面查看测试情况,点击【导出】可下载对应的测试报告。
其中,服务端的数据存储模块,可以存储前端输入的数据信息,根据配置的参数,收集监控平台上规则引擎迁移前测试环境对应的接口请求报文,并存到服务器。
其中,服务端的数据处理模块主要执行如图6所示的3个步骤:步骤一是解析请求报文:解析请求报文的参数名称与参数值写入数据库表1中,参数名称作为字段名,一个报文对应一条记录,每条记录在本地有对应的以全局跟踪流水号字段命名的报文。
步骤二是构造报文模板:根据客户端输入的参数代码值和中文说明,标记报文的业务场景,再按照业务场景对请求报文进行分析、分类。相同类型的取一个报文进行参数化,保存为报文模板,供测试用例表引用。步骤三是生成测试用例表,提取报文中与测试用例相关的参数,创建一张新的数据库表作为测试用例表,
其中,服务端的用例执行模块可以有两种执行模式:比对测试、回归测试。
比对测试模式,被测接口内部有添加结果比对模块,会分别调用新老规则引擎,打印并比对两者的操作记录与决策结论,若结果不一致则将接口响应码赋值为指定的错误码。该模式增加比对测试结果判断:校验接口响应码是否正确,若比对测试通过,则将响应报文返回结果写入对应的测试用例作为检查点,固化成回归测试用例;若测试失败记录测试失败的测试用例编号、业务场景说明和全局跟踪号。回归测试模式,则是直接执行回归测试用例,校验返回结果是否与检查点一致,执行完成后输出测试报告,供客户端查看。
本公开实施例中,可以根据客户端输入的参数信息,在设置时间段内定期采集测试环境的报文,通过报文回放、执行自动生成测试用例,比对新老规则引擎的操作过程记录与决策结论,将测试通过的用例固化为回归测试用例集用于持续集成测试,测试失败的用例则记录其用例编号、全局跟踪流水号与业务场景说明。解决规则引擎分支繁多测试不全面和后续版本迭代持续覆盖性测试执行的问题,提高了测试准确性、覆盖率,同时减少后续回归测试的时间投入与人员投入。
图9为本公开示例性实施例提供的一种规则引擎迁移测试装置10的结构图。如图9所示,该规则引擎迁移测试装置10包括:报文获取单元11、第一处理单元12、第二处理单元13和结果确定单元14。
报文获取单元11,用于获取测试接口请求报文。
第一处理单元12,用于根据测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,第一规则引擎为迁移前的规则引擎。
第二处理单元13,用于根据测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,第二规则引擎为迁移后的规则引擎。
结果确定单元14,用于根据第一操作记录、第二操作记录、第一决策结论和第二决策结论,确定测试结果。
在一些实施例中,结果确定单元14,具体用于:响应于第二操作记录与第一操作记录相同,且第二决策结论与第一决策结论相同,确定测试接口请求报文的测试结果为通过测试;将测试接口请求报文对应的接口响应码赋值为第一指定码。
在一些实施例中,结果确定单元14,具体用于:响应于第二操作记录与第一操作记录不同,和/或第二决策结论与第一决策结论不同,确定测试接口请求报文的测试结果为未通过测试;将测试接口请求报文对应的接口响应码赋值为第二指定码。
如图10所示,在一些实施例中,测试接口请求报文包括第一接口请求报文,报文获取单元11,包括:参数获取模块111和报文收集模块112。
参数获取模块111,用于获取用户输入的参数信息;其中,参数信息包括测试环境和测试接口。
报文收集模块112,用于根据参数信息,收集规则引擎迁移前测试环境中测试接口对应的第一接口请求报文。
如图11所示,在一些实施例中,测试接口请求报文包括第二接口请求报文,报文获取单元11,包括:模板确定模块113和报文生成模块114。
模板确定模块113,用于根据第一接口请求报文,确定报文模板。
报文生成模块114,用于根据报文模板和参数信息,通过脚本工具自动生成第二接口请求报文。
如图12所示,在一些实施例中,该规则引擎迁移测试装置10还包括:条件确定单元15、参数提取单元16和用例集生成单元17。
条件确定单元15,用于确定用户输入的用例参数组合数和约束条件。
参数提取单元16,用于提取测试结果为通过测试的测试接口请求报文中的指定参数。
用例集生成单元17,用于根据用例参数组合数、约束条件、指定参数和报文模板,生成测试用例集。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,报文获取单元11可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上报文获取单元11的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图13为本公开实施例提供的电子设备100的结构示意图。如图13所示,该电子设备100可以包括:收发器121、处理器122、存储器123。
处理器122执行存储器存储的计算机执行指令,使得处理器122执行上述实施例中的方案。处理器122可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器123通过系统总线与处理器122连接并完成相互间的通信,存储器123用于存储计算机程序指令。
收发器121可以用于获取待运行任务和待运行任务的配置信息。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory)。
本公开实施例提供的电子设备,可以是执行上述规则引擎迁移测试方法的终端设备。
本公开实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中规则引擎迁移测试方法的技术方案。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例规则引擎迁移测试方法的技术方案。
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中规则引擎迁移测试方法的技术方案。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种规则引擎迁移测试方法,其特征在于,包括:
获取测试接口请求报文;
根据所述测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,所述第一规则引擎为迁移前的规则引擎;
根据所述测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,所述第二规则引擎为迁移后的规则引擎;
响应于所述第二操作记录与所述第一操作记录相同,且所述第二决策结论与所述第一决策结论相同,确定所述测试接口请求报文的测试结果为通过测试;
将所述测试接口请求报文对应的接口响应码赋值为第一指定码;
响应于所述第二操作记录与所述第一操作记录不同,和/或所述第二决策结论与所述第一决策结论不同,确定所述测试接口请求报文的测试结果为未通过测试;
将所述测试接口请求报文对应的接口响应码赋值为第二指定码。
2.根据权利要求1所述的方法,其特征在于,所述测试接口请求报文包括第一接口请求报文,所述获取测试接口请求报文,包括:
获取用户输入的参数信息;其中,所述参数信息包括测试环境和测试接口;
根据所述参数信息,收集规则引擎迁移前所述测试环境中所述测试接口对应的所述第一接口请求报文。
3.根据权利要求2所述的方法,其特征在于,所述测试接口请求报文还包括第二接口请求报文,所述获取测试接口请求报文,还包括:
根据所述第一接口请求报文,确定报文模板;
根据所述报文模板和所述参数信息,通过脚本工具自动生成所述第二接口请求报文。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定所述用户输入的用例参数组合数和约束条件;
提取所述测试结果为通过测试的所述测试接口请求报文中的指定参数;
根据所述用例参数组合数、所述约束条件、所述指定参数和所述报文模板,生成测试用例集。
5.一种规则引擎迁移测试装置,其特征在于,包括:
报文获取单元,用于获取测试接口请求报文;
第一处理单元,用于根据所述测试接口请求报文,获取第一规则引擎的第一操作记录和第一决策结论;其中,所述第一规则引擎为迁移前的规则引擎;
第二处理单元,用于根据所述测试接口请求报文,获取第二规则引擎的第二操作记录和第二决策结论;其中,所述第二规则引擎为迁移后的规则引擎;
结果确定单元,用于根据所述第一操作记录、所述第二操作记录、所述第一决策结论和所述第二决策结论,确定测试结果;
其中,所述结果确定单元,具体用于:
响应于所述第二操作记录与所述第一操作记录相同,且所述第二决策结论与所述第一决策结论相同,确定所述测试接口请求报文的测试结果为通过测试;
将所述测试接口请求报文对应的接口响应码赋值为第一指定码;
响应于所述第二操作记录与所述第一操作记录不同,和/或所述第二决策结论与所述第一决策结论不同,确定所述测试接口请求报文的测试结果为未通过测试;
将所述测试接口请求报文对应的接口响应码赋值为第二指定码。
6.根据权利要求5所述的装置,其特征在于,所述测试接口请求报文包括第一接口请求报文,所述报文获取单元,包括:
参数获取模块,用于获取用户输入的参数信息;其中,所述参数信息包括测试环境和测试接口;
报文收集模块,用于根据所述参数信息,收集规则引擎迁移前所述测试环境中所述测试接口对应的所述第一接口请求报文。
7.根据权利要求6所述的装置,其特征在于,所述测试接口请求报文还包括第二接口请求报文,所述报文获取单元,还包括:
模板确定模块,用于根据所述第一接口请求报文,确定报文模板;
报文生成模块,用于根据所述报文模板和所述参数信息,通过脚本工具自动生成所述第二接口请求报文。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
条件确定单元,用于确定所述用户输入的用例参数组合数和约束条件;
参数提取单元,用于提取所述测试结果为通过测试的所述测试接口请求报文中的指定参数;
用例集生成单元,用于根据所述用例参数组合数、所述约束条件、所述指定参数和所述报文模板,生成测试用例集。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至4中任一项所述的方法。
CN202310596410.6A 2023-05-25 2023-05-25 规则引擎迁移测试方法、装置、电子设备及存储介质 Active CN116340187B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310596410.6A CN116340187B (zh) 2023-05-25 2023-05-25 规则引擎迁移测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310596410.6A CN116340187B (zh) 2023-05-25 2023-05-25 规则引擎迁移测试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116340187A CN116340187A (zh) 2023-06-27
CN116340187B true CN116340187B (zh) 2023-08-15

Family

ID=86893267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310596410.6A Active CN116340187B (zh) 2023-05-25 2023-05-25 规则引擎迁移测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116340187B (zh)

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955878A (zh) * 2016-04-20 2016-09-21 乐视控股(北京)有限公司 服务器端的测试方法及系统
CN108897686A (zh) * 2018-06-28 2018-11-27 中国建设银行股份有限公司 全分录自动化测试方法和装置
CN111797019A (zh) * 2020-07-03 2020-10-20 中国建设银行股份有限公司 一种交易核算测试方法、装置、会计引擎及存储介质
CN112115042A (zh) * 2020-08-12 2020-12-22 浙江大学 一种基于采集回放的软件测试方法和系统
CN112181816A (zh) * 2020-09-22 2021-01-05 建信金融科技有限责任公司 一种基于场景的接口测试方法、装置、计算机设备及介质
CN112346993A (zh) * 2020-11-30 2021-02-09 杭州安恒信息技术股份有限公司 一种情报分析引擎的测试、装置及设备
CN112506771A (zh) * 2020-12-03 2021-03-16 建信金融科技有限责任公司 一种报文比对方法和装置
CN112579459A (zh) * 2020-12-24 2021-03-30 平安普惠企业管理有限公司 测试应用程序的方法、装置和计算机设备
CN113326049A (zh) * 2021-06-29 2021-08-31 深圳前海微众银行股份有限公司 规则引擎的验证发布方法、装置、终端设备及介质
CN113342679A (zh) * 2021-06-29 2021-09-03 汇付天下有限公司 接口测试方法及测试装置
US11210206B1 (en) * 2020-05-18 2021-12-28 Amazon Technologies, Inc. Spoofing stateful dependencies during software testing
CN114020630A (zh) * 2021-11-09 2022-02-08 上海浦东发展银行股份有限公司 一种接口用例自动生成方法及系统
CN114201166A (zh) * 2021-11-30 2022-03-18 微民保险代理有限公司 报文信息的生成方法和装置、电子设备和存储介质
CN115098739A (zh) * 2022-06-28 2022-09-23 中国工商银行股份有限公司 决策引擎的报文比对方法及装置
CN115145587A (zh) * 2022-07-22 2022-10-04 中国农业银行股份有限公司 一种产品参数校验方法、装置、电子设备及存储介质
CN115374968A (zh) * 2022-09-06 2022-11-22 中国银行股份有限公司 一种银行机房管理方法、装置及设备
CN115495151A (zh) * 2022-09-26 2022-12-20 中国建设银行股份有限公司 规则引擎的迁移方法、装置、设备、存储介质及程序产品
CN115686499A (zh) * 2022-11-14 2023-02-03 中国电信股份有限公司 生成请求报文的方法、装置、存储介质以及电子设备
CN115964302A (zh) * 2023-01-10 2023-04-14 中国建设银行股份有限公司 一种数据测试的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070006037A1 (en) * 2005-06-29 2007-01-04 Microsoft Corporation Automated test case result analyzer
US20090271214A1 (en) * 2008-04-29 2009-10-29 Affiliated Computer Services, Inc. Rules engine framework
US20210182714A1 (en) * 2019-12-13 2021-06-17 Cisco Technology, Inc. Auditable rule engine-based diagnostic tools
US11966773B2 (en) * 2021-02-09 2024-04-23 Red Hat, Inc. Automated pipeline for generating rules for a migration engine

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955878A (zh) * 2016-04-20 2016-09-21 乐视控股(北京)有限公司 服务器端的测试方法及系统
CN108897686A (zh) * 2018-06-28 2018-11-27 中国建设银行股份有限公司 全分录自动化测试方法和装置
US11210206B1 (en) * 2020-05-18 2021-12-28 Amazon Technologies, Inc. Spoofing stateful dependencies during software testing
CN111797019A (zh) * 2020-07-03 2020-10-20 中国建设银行股份有限公司 一种交易核算测试方法、装置、会计引擎及存储介质
CN112115042A (zh) * 2020-08-12 2020-12-22 浙江大学 一种基于采集回放的软件测试方法和系统
CN112181816A (zh) * 2020-09-22 2021-01-05 建信金融科技有限责任公司 一种基于场景的接口测试方法、装置、计算机设备及介质
CN112346993A (zh) * 2020-11-30 2021-02-09 杭州安恒信息技术股份有限公司 一种情报分析引擎的测试、装置及设备
CN112506771A (zh) * 2020-12-03 2021-03-16 建信金融科技有限责任公司 一种报文比对方法和装置
CN112579459A (zh) * 2020-12-24 2021-03-30 平安普惠企业管理有限公司 测试应用程序的方法、装置和计算机设备
CN113326049A (zh) * 2021-06-29 2021-08-31 深圳前海微众银行股份有限公司 规则引擎的验证发布方法、装置、终端设备及介质
CN113342679A (zh) * 2021-06-29 2021-09-03 汇付天下有限公司 接口测试方法及测试装置
CN114020630A (zh) * 2021-11-09 2022-02-08 上海浦东发展银行股份有限公司 一种接口用例自动生成方法及系统
CN114201166A (zh) * 2021-11-30 2022-03-18 微民保险代理有限公司 报文信息的生成方法和装置、电子设备和存储介质
CN115098739A (zh) * 2022-06-28 2022-09-23 中国工商银行股份有限公司 决策引擎的报文比对方法及装置
CN115145587A (zh) * 2022-07-22 2022-10-04 中国农业银行股份有限公司 一种产品参数校验方法、装置、电子设备及存储介质
CN115374968A (zh) * 2022-09-06 2022-11-22 中国银行股份有限公司 一种银行机房管理方法、装置及设备
CN115495151A (zh) * 2022-09-26 2022-12-20 中国建设银行股份有限公司 规则引擎的迁移方法、装置、设备、存储介质及程序产品
CN115686499A (zh) * 2022-11-14 2023-02-03 中国电信股份有限公司 生成请求报文的方法、装置、存储介质以及电子设备
CN115964302A (zh) * 2023-01-10 2023-04-14 中国建设银行股份有限公司 一种数据测试的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
龙小飞 ; 冯雁 ; 王瑞杰 ; .网络入侵检测系统预先决策检测引擎研究.浙江大学学报(工学版).2006,(10), *

Also Published As

Publication number Publication date
CN116340187A (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN110399293B (zh) 系统测试方法、装置、计算机设备和存储介质
CN107102947B (zh) Atm交易流程测试装置及方法
CN108628748B (zh) 自动化测试管理方法和自动化测试管理系统
CN108509344B (zh) 日切跑批测试方法、设备及可读存储介质
CN110554962A (zh) 回归测试的流程覆盖方法、服务器及计算机可读存储介质
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN113342685A (zh) 精准测试方法、装置、计算机设备和存储介质
CN114398293A (zh) 接口测试用例生成方法、电子设备和存储介质
CN112540924A (zh) 接口自动化测试方法、装置、设备及存储介质
CN112650688A (zh) 自动化回归测试方法、关联设备以及计算机程序产品
CN110750443A (zh) 网页测试的方法、装置、计算机设备及存储介质
CN115292163A (zh) 应用程序的检测方法、装置及计算机可读存储介质
CN112612697A (zh) 一种基于字节码技术的软件缺陷测试定位方法及系统
CN116340187B (zh) 规则引擎迁移测试方法、装置、电子设备及存储介质
CN112346981A (zh) 联调测试覆盖率检测方法及系统
CN115563008A (zh) 代码覆盖率检测系统、方法、装置和存储介质
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN113468058B (zh) 软件即服务平台的回归测试方法、装置及电子设备
CN115185907A (zh) 一种前端资源管理方法、装置、设备以及存储介质
CN114780412A (zh) 页面测试方法、系统、设备及介质
CN114706738A (zh) 客户端自动埋点的方法及装置
CN114490413A (zh) 测试数据的准备方法及装置、存储介质和电子设备
CN112035308A (zh) 系统接口测试表格的生成方法及装置
CN110569189A (zh) 回归测试的方法、装置、计算机设备和存储介质
CN111913700B (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