掌桥专利:专业的专利平台
掌桥专利
首页

报文的测试方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:28:50


报文的测试方法、装置、设备及存储介质

技术领域

本申请涉及软件技术领域,尤其涉及一种报文的测试方法、装置、设备及存储介质。

背景技术

近年来,为了满足用户各种各样的业务需求,开发软件的数量也越来越多。在某一业务需求的软件开发使用之前,需要对该软件进行报文测试,以确保软件代码符合预期的业务需求。

在现有技术中,开发人员先确定该软件的报文类型,然后编写该报文类型对应的测试脚本,最后通过编辑好的测试脚本对软件进行报文测试。

然而,发明人发现现有技术至少存在如下技术问题:开发人员编写的测试脚本只能对某一类型的报文进行测试,这样,当需要测试的报文类型较多时,需要开发人员编写多个测试脚本,费事费力。因此,通过现有技术中的测试方法对软件进行报文测试的效率较低。

发明内容

本申请提供一种报文的测试方法、装置、设备及存储介质,能够提高报文的测试的效率。

第一方面,本申请提供一种报文的测试方法,包括:

获取待测试的软件的测试要素信息,所述测试要素信息包括报文信息、测试系统和测试环境信息;

基于所述待测试的软件的测试要素信息,生成所述软件的测试报文;

基于所述测试系统和所述测试环境信息,确定所述测试报文对应的目标环境节点,并将所述测试报文发送至所述目标环境节点;

通过目标环境节点对所述测试报文进行测试,得到测试结果。

在一种可能的设计中,所述基于所述待测试的软件的测试要素信息,生成所述软件的测试报文,包括:基于所述待测试的软件的测试要素信息,通过报文模板生成所述软件的测试报文,所述报文模板为EXCEL中的可视化编程应用VBA宏插件。

在一种可能的设计中,所述基于所述测试系统和所述测试环境信息,确定所述测试报文对应的目标环境节点,并将所述测试报文发送至所述目标环境节点,包括:基于所述测试系统和所述测试环境信息,从环境信息配置中获取与所述测试系统、所述测试环境信息对应的节点地址信息;根据所述节点地址信息,确定所述测试报文对应的目标环境节点,并将所述测试报文发送至所述目标环境节点。

在一种可能的设计中,所述基于所述待测试的软件的测试要素信息,生成所述软件的测试报文之前,还包括:基于所述测试要素信息中的必填项信息、要素长度信息和要素类型信息,对所述测试要素信息的合法性进行验证;若验证通过,则执行所述基于所述待测试的软件的测试要素信息,生成所述软件的测试报文的步骤。

在一种可能的设计中,还包括:对所述待测试的软件的测试要素信息进行保存,得到测试模板;若接收到导入模板指令,则获取所述测试模板中保存的测试要素信息。

在一种可能的设计中,所述测试模板包括多个;所述方法还包括:若接收到批量发报指令,则逐一获取所述多个测试模板中保存的测试要素信息。

在一种可能的设计中,所述报文信息包括报文类型、报文方向、报文标识号、报文发送时间、发起人、接收人和交易信息中的至少一项。

第二方面,本申请提供一种报文的测试装置,包括:

获取模块,用于获取待测试的软件的测试要素信息,所述测试要素信息包括报文信息、测试系统和测试环境信息;

生成模块,用于基于所述待测试的软件的测试要素信息,生成所述软件的测试报文;

确定模块,用于基于所述测试系统和所述测试环境信息,确定所述测试报文对应的目标环境节点,并将所述测试报文发送至所述目标环境节点;

测试模块,用于通过目标环境节点对所述测试报文进行测试,得到测试结果。

第三方面,本发明提供一种电子设备,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面所述的报文的测试方法。

第四方面,本发明提供一种计算机存储介质,所述计算机存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面所述的报文的测试方法。

第五方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时,实现如上第一方面所述的报文的测试方法。

本申请提供的报文的测试方法、装置、设备及存储介质,先获取待测试的软件的测试要素信息,然后基于待测试的软件的测试要素信息,生成测试报文;最后确定测试报文的目标环境节点,并通过目标环境节点对测试报文进行测试,得到测试结果。也即是,对于任一类型的报文,均能够通过测试要素信息生成对应的测试报文,并通过目标环境节点对测试报文进行测试,这样就不需要开发人员编写测试脚本,且不会受到报文类型的限制,因此提高了测试的效率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本发明实施例提供的报文的测试方法的应用场景示意图;

图2为本发明实施例提供的报文的测试方法的流程图一;

图3为本发明实施例提供的报文的测试方法的流程图二;

图4为本发明实施例提供的报文的测试方法的流程图三;

图5为本发明实施例提供的报文的测试装置的结构示意图;

图6为本发明实施例提供的电子设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

本申请的技术方案中,所涉及的测试要素信息或用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

近年来,为了满足用户各种各样的业务需求,开发软件的数量也越来越多。在某一业务需求的软件开发使用之前,需要对该软件进行报文测试,以确保软件代码符合预期的业务需求。

在现有技术中,当需要对软件进行报文测试时,开发人员先确定该软件的报文类型,然后编写该报文类型对应的测试脚本,最后通过编辑好的测试脚本对软件进行报文测试。也即是,对于每个类型的报文,均需要编辑该报文类型对应的测试脚本,费事费力。

示例性的,开发人员先确定该软件的报文类型为Http(Hyper Text TransferProtocol,超文本传输协议)类型的报文,则需要编辑Http报文对应的测试脚本,并且,当对该软件进行报文测试之后不会对报文保存,导致无法对报文进行回归测试。因此,通过现有技术中的测试方法对软件进行报文测试的效率较低。

针对上述技术问题,本申请提出如下技术构思:先获取待测试的软件的测试要素信息,然后基于待测试的软件的测试要素信息,生成测试报文;最后确定测试报文对应的目标环境节点,并通过目标环境节点对测试报文进行测试,得到测试结果。也即是,对于任一类型的报文,均能够通过测试要素信息生成对应的测试报文,并通过目标环境节点对测试报文进行测试,这样就不需要开发人员编写测试脚本,且不会受到报文类型的限制,因此提高了测试的效率。

图1是本发明实施例提供的系统性能参数的测试方法的应用场景示意图。如图1所示,显示终端101将报文的测试请求通过无线网络传输至服务器102,该报文的测试请求携带待测试的软件的测试要素信息。服务器102接收报文的测试请求,通过测试要素信息生成对应的测试报文,并通过目标环境节点对测试报文进行测试,得到测试结果并将测试结果返回至显示终端101进行显示。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

本申请实施例提供一种报文的测试方法。本申请实施例的方法的执行主体可以是计算机设备。图2为本申请实施例提供的报文的测试方法的流程图一。如图2所示,该报文的测试方法包括:

步骤S201、获取待测试的软件的测试要素信息,测试要素信息包括报文信息、测试系统和测试环境信息。

在本发明实施例中,软件可以多个测试系统中运行,每个测试系统分为多个测试环境信息。测试要素信息中包括本次测试的测试系统和测试环境信息。

示例性的,测试系统和测试环境信息如表1所示。

表1测试系统和测试环境信息

测试要素信息包括的报文信息包括软件处理交易订单时发送的报文对应的报文信息。可选地,报文信息包括报文类型、报文方向、报文标识号、报文发送时间、发起人、接收人和交易信息中的至少一项。示例性的,报文方向包括汇入和汇出。需要说明的是,系统信息和测试环境信息均可自定义增加。

示例性的,测试要素信息包括的报文信息、测试系统和测试环境信息如表2所示。测试系统为系统编号。测试环境信息包括发报环境。报文信息包括:报文类型、报文方向、报文标识号、报文发送时间、发起人、接收人和交易信息。交易信息为:指定MQ(MessageQueue,消息)列队、明细业务总笔数、端到端标识号、交易标识号、业务类型编码、货币符号、金额、业务优先级、付款清算行行号、付款结算行代码、付款行行号、付款清算行行号、付款清算行代码。

表2测试要素信息

需要说明的是,测试要素信息还包括限制规则、报文格式字段、数据库字段和接口字段(表2中未列出)。其中,限制规则用于限制生成要素输入值的规则。示例性的,限制规则包括:按照8位日期+8位序号,生成16位报文标识号和交易标识号。当前时间的格式为:“yyyy-mm-ddTHH:MM:SS”。

步骤S202、基于待测试的软件的测试要素信息,生成软件的测试报文。

在本发明实施例中,可以通过EXCEL工具生成软件的测试报文。可选地,本步骤为:计算机设备基于待测试的软件的测试要素信息,通过EXCEL工具生成软件的测试报文。

步骤S203、基于测试系统和测试环境信息,确定测试报文对应的目标环境节点,并将测试报文发送至目标环境节点。

目标环境节点用于处理报文。示例性的,目标环境节点可以是目标环境服务器,通过目标环境服务器对测试报文进行处理。

在本发明实施例中,不同的目标环境节点对应的测试系统和测试环境信息不同,因此通过测试系统和测试环境信息,能够确定测试报文对应的目标环境节点。

步骤S204、通过目标环境节点对测试报文进行测试,得到测试结果。

在本发明实施例中,测试结果用于表示软件是否能够正常处理测试报文。若通过目标环境节点对测试报文进行测试,输出结果正常,则确定测试结果为该软件能够正常处理该测试报文;若通过目标环境节点对测试报文进行测试,输出结果异常,则确定测试结果为该软件不能正常处理该测试报文。

本申请提供了一种报文的测试的方法,先获取待测试的软件的测试要素信息,然后基于待测试的软件的测试要素信息,生成测试报文;最后确定测试报文对应的目标环境节点,并通过目标环境节点对测试报文进行测试,得到测试结果。也即是,对于任一类型的报文,均能够通过测试要素信息生成对应的测试报文,并通过目标环境节点对测试报文进行测试,这样就不需要开发人员编写测试脚本,且不会受到报文类型的限制,因此提高了测试的效率。

图3为本发明实施例提供的报文的测试方法的流程图二。在本发明实施例中,在图2提供的实施例的基础上,对S202中基于待测试的软件的测试要素信息,生成软件的测试报文的具体实现方法进行了详细说明。如图3所示,该方法包括:

S301、基于待测试的软件的测试要素信息,通过报文模板生成软件的测试报文,报文模板为EXCEL中的可视化编程应用VBA宏插件。

可选地,显示界面内包括“生成测试报文”按钮。相应的,本步骤为:响应于“生成测试报文”按钮被触发,计算机设备基于待测试的软件的测试要素信息,通过EXCEL中的VBA(Visual Basic for Applications,可视化编程应用)宏插件生成软件的测试报文。其中,EXCEL中可以包括多个报文模板(VBA宏插件),计算机设备基于待测试的软件的测试要素信息,从多个报文模板中选取目标报文模板,通过目标报文模板生成软件的测试报文。

示例性的,报文类型Pacs.008.001.08对应的目标报文模板可以为:Pacs.008.001.08.in.model.txt。

在本发明实施例中,通过VBA宏插件,可以生成任一类型的测试报文,并且,VBA宏插件中的多个报文模板可以添加拓展,从而提高了该报文测试方法的易扩展性。

需要说明的是,基于待测试的软件的测试要素信息,生成软件的测试报文之前,可以先对测试要素信息的合法性进行验证。相应的,具体步骤为:基于测试要素信息中的必填项信息、要素长度信息和要素类型信息,对测试要素信息的合法性进行验证;若必填项信息已填写、要素长度信息和要素类型信息均符合限制规定,则验证通过继续执行步骤S202。若存在必填项信息未填写、要素长度信息不符合限制规定或者要素类型信息不符合限制规定,则验证未通过,确定测试要素信息无效,不再执行步骤S202。

可选的,显示界面内包括“预检查”按钮,若“预检查”按钮被触发,则基于测试要素信息中的必填项信息、要素长度信息和要素类型信息,对测试要素信息的合法性进行验证。

在本发明实施例中,由于先对测试要素信息的合法性进行验证,避免因获取的测试要素信息无效导致测试无效的情况,因此提高了测试的准确性。

图4为本发明实施例提供的报文的测试方法的流程图二。在本发明实施例中,在图2提供的实施例的基础上,对S203中基于测试系统和测试环境信息,确定测试报文对应的目标环境节点,并将测试报文发送至目标环境节点的具体实现方法进行了详细说明。如图4所示,该方法包括:

步骤S401、基于测试系统和测试环境信息,从环境信息配置中获取与测试系统、测试环境信息对应的节点地址信息。

在本发明实施例中,节点为处理报文的服务器,节点地址信息包括服务器IP地址。可选的,本地存储的环境信息配置中包括测试系统、测试环境信息与服务器IP地址的关联关系。相应的,本步骤为:基于测试系统和测试环境信息,从测试系统、测试环境信息与服务器IP地址的关联关系中,获取与测试系统、测试环境信息对应的节点地址信息。

示例性的,环境信息配置中包括的测试系统、测试环境信息与服务器IP地址的关联关系如表3所示。

表3环境信息配置

步骤S402、根据节点地址信息,确定测试报文对应的目标环境节点,并将测试报文发送至目标环境节点。

可选地,通过统一服务器将测试报文发送至目标环境节点。相应的,本步骤为:计算机设备根据节点地址信息,确定测试报文对应的目标环境节点,将测试报文和目标环境节点上传至统一服务器,统一服务器将测试报文发送至目标环境节点。

需要说明的一点是,本申请中的测试报文方法还可以对测试报文进行保存,并在需要进行再次测试时,导致测试报文。相应的,本步骤为:对待测试的软件的测试要素信息进行保存,得到测试模板;若接收到导入模板指令,则获取测试模板中保存的测试要素信息。

可选地,显示界面内包括“保存模板”按钮和“导入模板”按钮。若“保存模板”按钮被触发,则对待测试的软件的测试要素信息进行保存,得到测试模板。若“导入模板”按钮被触发,确定接收到导入模板指令,则获取测试模板中保存的测试要素信息,进行再次测试。

需要说明的另一点是,本申请中的测试报文方法还可以对多个测试模板进行保存,以及对多个测试模板进行批量测试。可选地,显示界面内包括“批量发报”按钮。相应的,进行批量测试的具体步骤为:若“批量发报”按钮被触发,确定接收到批量发报指令,则逐一获取多个测试模板中保存的测试要素信息。

在本发明实施例中,由于测试过的报文可在工具中单独保存,支持反复测试和批量测试,在回归测试场景下,通过批量测试可最大限度保证交易覆盖度,节省人力物力,因此提高了对报文进行回归测试的效率。

图5为本申请实施例提供的报文的测试装置的结构示意图。如图5所示,该报文的测试装置,包括:获取模块501、生成模块502、确定模块503和测试模块504。

获取模块501,用于获取待测试的软件的测试要素信息,测试要素信息包括报文信息、测试系统和测试环境信息;

生成模块502,用于基于待测试的软件的测试要素信息,生成软件的测试报文;

确定模块503,用于基于测试系统和测试环境信息,确定测试报文对应的目标环境节点,并将测试报文发送至目标环境节点;

测试模块504,用于通过目标环境节点对测试报文进行测试,得到测试结果。

在一种可能的设计中,生成模块502基于待测试的软件的测试要素信息,生成软件的测试报文,具体包括:基于待测试的软件的测试要素信息,通过报文模板生成软件的测试报文,报文模板为EXCEL中的可视化编程应用VBA宏插件。

在一种可能的设计中,确定模块503基于测试系统和测试环境信息,确定测试报文对应的目标环境节点,并将测试报文发送至目标环境节点,具体包括:基于测试系统和测试环境信息,从环境信息配置中获取与测试系统、测试环境信息对应的节点地址信息;根据节点地址信息,确定测试报文对应的目标环境节点,并将测试报文发送至目标环境节点。

在一种可能的设计中,该装置还包括:验证模块。验证模块,用于基于测试要素信息中的必填项信息、要素长度信息和要素类型信息,对测试要素信息的合法性进行验证;若验证通过,则基于待测试的软件的测试要素信息,生成软件的测试报文。

在一种可能的设计中,该装置还包括:保存模块。保存模块,用于对待测试的软件的测试要素信息进行保存,得到测试模板;若接收到导入模板指令,则获取测试模板中保存的测试要素信息。

在一种可能的设计中,测试模板包括多个;获取模块501,还用于若接收到批量发报指令,则逐一获取多个测试模板中保存的测试要素信息。

本申请实施例提供的报文的测试装置,可用于执行上述实施例中报文的测试方法的技术方案,其实现原理和技术效果类似,在此不再赘述。

需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,获取模块501可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上获取模块501的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

图6为本申请实施例提供的电子设备的结构示意图。如图6所示,该电子设备可以包括:收发器601、处理器602、存储器603。

处理器602执行存储器存储的计算机执行指令,使得处理器602执行上述实施例中的方案。处理器602可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

存储器603通过系统总线与处理器602连接并完成相互间的通信,存储器603用于存储计算机程序指令。

收发器601可以用于获取待运行任务和待运行任务的配置信息。

系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory)。

本申请实施例提供的电子设备,可以是上述实施例的计算机设备。

本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中报文的测试方法的技术方案。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例报文的测试方法的技术方案。

本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中报文的测试方法的技术方案。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

技术分类

06120115926358