数据通信测试方法及装置与流程

文档序号:11878163阅读:550来源:国知局
数据通信测试方法及装置与流程

本发明涉及测试技术领域,尤其涉及一种数据通信测试方法及装置。



背景技术:

SWIFT(Society for Worldwide Interbank Financial Telecommunication,环球同业银行金融电信协会)报文作为一类向全球8000多家金融机构提供高度安全、可靠、标准化、自动化的通讯服务,越来越受到各金融业的重视。目前国内大多数银行都已使用SWIFT报文进行国际金融结算、收付清算等金融活动,这对银行系统中报文的验证工作也提出了更高的要求。

目前,对报文的测试基本通过手工完成。测试SWIFT报文时,需手工一一对报文的各个栏位的相关属性和内容进行验证,随着报文涉及的栏位增多,栏位格式规则变得复杂,验证报文所花费的时间和人力成倍上升。例如,若验证单个栏位需花费30秒,一个普通报文包含60个栏位,假设包含有效数据的栏位的占比为50%,则验证一个该种报文所需时间长达15分钟。在一测试周期内需对此类报文测试4次,则验证报文的时间将达到1小时。所以,手工测试报文的工作效率通常较低下。

而且,一份完整的报文基本以代码、固定格式的数值来定义,这要求测试人员在准确掌握报文的业务含义、栏位结构与规则等的前提下开展测试,对各区块、栏位内容的必输性、正确性、格式等进行验证。手工验证报文难免出现测试人员技术能力不足,测试数据覆盖面不全等问题,这将直接影响测试结果的正确性。所以,手工测试报文的工作质量得不到保证。



技术实现要素:

本发明提供一种数据通信测试方法及装置,以提高报文测试的效率及质量。

本发明提供一种数据通信测试方法,包括:根据待测报文的类型和SWIFT报文国际标准创建报文模板;利用所述待测报文的待测栏位和所述报文模板生成核对报文;利用所述SWIFT报文国际标准和所述核对报文分别对所述待测报文的报文格式和报文内容进行校验,分别生成格式校验结果和内容校验结果。

一个实施例中,该方法还包括:根据所述格式校验结果和所述内容校验结果,按设定组合格式生成所述待测报文的异常栏位信息;根据所述异常栏位信息对所述待测报文中的异常栏位进行标注,并将标注后的待测报文另存为测试结果报文;根据所述测试结果报文生成包括报文类型、待测栏位、格式校验结果及内容校验结果的信息的报文测试报告。

一个实施例中,根据待测报文的类型和SWIFT报文国际标准创建报文模板,包括:根据所述SWIFT报文国际标准和所述待测报文的类型定义所述报文模板的报文结构;根据所述报文结构初始化得到初始模板;根据所述报文结构和所述初始模板创建所述报文模板。

一个实施例中,利用所述待测报文的待测栏位和所述报文模板生成核对报文,包括:根据所述待测栏位为所述报文模板设置栏位数据,生成初始报文;依据所述初始模板的栏位限定符及栏位格式要求,为所述初始报文中尚未设置栏位数据的必输栏位补充设置栏位数据,生成所述核对报文。

一个实施例中,根据所述SWIFT报文国际标准和所述待测报文的类型定义所述报文模板的报文结构,包括:从所述SWIFT报文国际标准抽取标准栏位;根据所述待测报文的类型对所述标准栏位的内容进行结构化整理,生成所述报文结构。

一个实施例中,根据所述报文结构初始化得到初始模板,包括:根据所述报文结构对栏位选项显示、栏位限定符取值、栏位数据输入、栏位数据格式校验及栏位区块复用进行初始化,生成所述初始模板。

一个实施例中,根据所述报文结构和所述初始模板创建所述报文模板,包括:根据所述报文结构为所述初始模板添加栏位注释;根据添加栏位注释后的初始模板生成所述报文模板。

一个实施例中,根据所述待测栏位为所述报文模板设置栏位数据,生成初始报文,包括:为所述报文模板上与所述待测栏位相对应的核对栏位设置核对标记,并为所述核对栏位设置相应的栏位数据期望值;依据所述报文模板的栏位限定符及栏位格式要求,对设置栏位数据期望值后的核对栏位进行格式校验;对格式校验通过的核对栏位进行结构化处理,生成所述初始报文。

一个实施例中,利用所述SWIFT报文国际标准对所述待测报文的报文格式进行校验,包括:利用所述SWIFT报文国际标准对所述待测报文的区块涵盖性、区块必输性、栏位涵盖性、栏位必输性、限定符及栏位数据格式进行校验,生成所述格式校验结果。

一个实施例中,利用所述核对报文对所述待测报文的报文内容进行校验,包括:依据所述核对标记获取所述核对栏位的位置信息;根据所述位置信息从所述待测报文和所述核对报文分别提取待测栏位数据和核对栏位数据;比较所述待测栏位数据和相应栏位的核对栏位数据,生成所述内容校验结果。

本发明提供一种数据通信测试装置,包括:报文模板创建单元,用于根据待测报文的类型和SWIFT报文国际标准创建报文模板;核对报文生成单元,用于利用所述待测报文的待测栏位和所述报文模板生成核对报文;报文校验单元,用于利用所述SWIFT报文国际标准和所述核对报文分别对所述待测报文的报文格式和报文内容进行校验,分别生成格式校验结果和内容校验结果。

一个实施例中,该装置还包括:异常栏位信息生成单元,用于根据所述格式校验结果和所述内容校验结果,按设定组合格式生成所述待测报文的异常栏位信息;测试结果报文生成单元,用于根据所述异常栏位信息对所述待测报文中的异常栏位进行标注,并将标注后的待测报文另存为测试结果报文;报文测试报告生成单元,用于根据所述测试结果报文生成包括报文类型、待测栏位、格式校验结果及内容校验结果的信息的报文测试报告。

一个实施例中,所述报文模板创建单元包括:报文结构生成模块,用于根据所述SWIFT报文国际标准和所述待测报文的类型定义所述报文模板的报文结构;初始模板生成模块,用于根据所述报文结构初始化得到初始模板;报文模板创建模块,用于根据所述报文结构和所述初始模板创建所述报文模板。

一个实施例中,所述核对报文生成单元包括:初始报文生成模块,用于根据所述待测栏位为所述报文模板设置栏位数据,生成初始报文;核对报文生成模块,用于依据所述初始模板的栏位限定符及栏位格式要求,为所述初始报文中尚未设置栏位数据的必输栏位补充设置栏位数据,生成所述核对报文。

一个实施例中,所述报文结构生成模块包括:标准栏位抽取模块,用于从所述SWIFT报文国际标准抽取标准栏位;结构化整理模块,用于根据所述待测报文的类型对所述标准栏位的内容进行结构化整理,生成所述报文结构。

一个实施例中,所述初始模板生成模块包括:初始化模块,用于根据所述报文结构对栏位选项显示、栏位限定符取值、栏位数据输入、栏位数据格式校验及栏位区块复用进行初始化,生成所述初始模板。

一个实施例中,所述报文模板创建模块包括:栏位注释模块,用于根据所述报文结构为所述初始模板添加栏位注释;模板生成模块,用于根据添加栏位注释后的初始模板生成所述报文模板。

一个实施例中,所述初始报文生成模块包括:期望值录入模块,用于为所述报文模板上与所述待测栏位相对应的核对栏位设置核对标记,并为所述核对栏位设置相应的栏位数据期望值;期望值校验模块,用于依据所述报文模板的栏位限定符及栏位格式要求,对设置栏位数据期望值后的核对栏位进行格式校验;栏位结构化模块,用于对格式校验通过的核对栏位进行结构化处理,生成所述初始报文。

一个实施例中,所述报文校验单元包括:报文格式校验模块,用于利用所述SWIFT报文国际标准对所述待测报文的区块涵盖性、区块必输性、栏位涵盖性、栏位必输性、限定符及栏位数据格式进行校验,生成所述格式校验结果。

一个实施例中,所述报文校验单元包括:栏位位置获取模块,用于依据所述核对标记获取所述核对栏位的位置信息;栏位数据提取模块,用于根据所述位置信息从所述待测报文和所述核对报文分别提取待测栏位数据和核对栏位数据;报文内容校验模块,用于比较所述待测栏位数据和相应栏位的核对栏位数据,生成所述内容校验结果。

本发明实施例的数据通信测试方法及装置,待测报文的格式和内容分别校验,能够有效提升测试效率。在确定待测报文的类型后,即可对照SWIFT报文国际标准,对测试报文的各种栏位格式进行校验,能够有效排除各种格式问题,具有较高检查效率,无需测试人员掌握报文的结构内容,以此能够提高测试质量。本发明依托SWIFT报文国际标准对待测报文进行校验,能够更精准地把握测试重点,能够提高测试效率及质量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本发明一实施例的数据通信测试方法的流程示意图;

图2是本发明一实施例中报文模板创建方法的流程示意图;

图3是本发明一实施例中报文模板的报文结构生成方法的流程示意图;

图4是本发明一实施例中根据报文结构初始化得到初始模板的示意图;

图5是本发明一实施例中报文模板创建方法的流程示意图;

图6是本发明一实施例中报文模板的结构示意图;

图7是本发明一实施例中核对报文生成方法的流程示意图;

图8是本发明一实施例中初始报文生成方法的流程示意图;

图9是本发明一实施例中栏位数据录入的示意图;

图10是本发明一实施例中针对待测报文中各区块及区块下各栏位的属性进行校验的方法流程示意图;

图11是本发明一实施例中针对待测报文中各栏位的限定符进行校验的方法流程示意图;

图12是本发明一实施例中针对待测报文中各栏位的数据格式进行校验的方法流程示意图;

图13是本发明一实施例中报文内容校验方法的流程示意图;

图14是本发明另一实施例的数据通信测试方法的流程示意图;

图15是本发明又一实施例的数据通信测试方法的流程示意图;

图16是本发明一实施例的数据通信测试装置的结构示意图;

图17是本发明一实施例中报文模板创建单元的结构示意图;

图18是本发明一实施例中报文结构生成模块的结构示意图;

图19是本发明一实施例中报文模板创建模块的结构示意图;

图20是本发明一实施例中核对报文生成单元的结构示意图;

图21是本发明一实施例中初始报文生成模块的结构示意图;

图22是本发明一实施例中报文校验单元的结构示意图;

图23是本发明另一实施例的数据通信测试装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

针对目前通过手工检查、编制和分析报文而导致SWIFT报文测试效率低及质量得不到保证的问题,发明人通过创造性劳动设计出一种数据通信测试方法,能够有效解决手工验证报文时所导致的效率和质量问题。

图1是本发明一实施例的数据通信测试方法的流程示意图。如图1所示,本发明实施例的数据通信测试方法,可包括步骤:

S110:根据待测报文的类型和SWIFT报文国际标准创建报文模板;

S120:利用所述待测报文的待测栏位和所述报文模板生成核对报文;

S130:利用所述SWIFT报文国际标准和所述核对报文分别对所述待测报文的报文格式和报文内容进行校验,分别生成格式校验结果和内容校验结果。

上述待测报文的类型可由三个数字表示,一般可定义为:MT nnn,例如MT950、MT202、MT541等。其中,第1个n可表示类目,可用于描述报文的基础商业功能,例如类目1=客户支付和支票;第2个n可表示分组,可用于描述某一特定类目中的报文功能,例如11n=类目1的支票支付报文;第3个n可表示类型,可用于描述具体功能,例如112=支票止付请求的状态。

在上述步骤S110中,该待测报文可以是从各种应用系统获取的需要进行测试的报文。该待测报文的类型可以是SWIFT报文国际标准中的各种报文类型,具体报文类型可依据SWIFT报文国际标准的说明确定。

在SWIFT报文国际标准中,报文通常以区块划分其内容,一个区块一般包含若干个栏位。按必输性,报文区块可分为必输区块(Mandatory Sequence)和可选区块(Optional Sequence);按可重复性,报文区块可分为可重复区块和不可重复区块。栏位(Field)是报文主体部分的主要组成元素,主要由栏位标签名、限定符和栏位数据内容组成,栏位数据内容具有一定的栏位格式。

栏位标签名(Field Tag)显示栏位的“信息内容”,一般以“:”进行分隔,例如按照“:nn[a]:”的格式进行定义。其中,“n”表示数字,“a”表示栏位的选项,一般以大写英文字母表示,而且“a”的左右用中括号括起来,表示中括号中的内容可以省略。具体栏位标签名的选项可根据SWIFT国际标准中的标准栏位标签名格式确定。

限定符(Qualifier)可以是部分栏位中开头的字符内容,通常由1-4个字符组成,一个限定符表示该栏位所起的作用。在SWIFT报文国际标准中对各栏位是否存在限定符且有哪些限定符均有注明。栏位数据内容是各栏位所包括的具体数据,例如日期内容20140620、金额内容10000等,栏位数据内容按照SWIFT报文国际标准上对各栏位所规定的栏位格式来定义取数。

栏位格式(Types of Characters)是指栏位标签名后所带数据内容的格式要求,即栏位数据格式,一般以“数字+类型”表示,栏位格式中的类型可分以下几类:

n:只表示数字

a:只表示大写字母

c:表示数字或大写字母

x:表示SWIFT报文中所有的字符(包括数字、字母及其他特殊字符)

h:表示数字或大写字母A-F

d:表示小数

!:表示固定长度

*:表示行数

-:表示最小长度和最大长度。

例如:8n:表示最大长度为8的数字;4!C:表示固定长度为4的字符;4*35x:表示所填入的内容最多4行,每行最多35个字符;16-64h:表示最小长度为16、最大长度为64位的数字或字符(A-F)。

一个实施例中,可以将上述报文模板存储起来,当需要再次对同样类型的报文进行测试时可以直接提取使用,不必重复创建报文模板。另一实施例中,可以针对上述SWIFT报文国际标准中的各种报文类型分别创建不同的报文模板,当需要对待测报文进行测试时,可从创建的所有报文模板中选取相应类型的报文模板,以对该待测报文进行测试。如此一来,可以减少例如在一个测试周期内创建报文模板花费的时间,进而能够提高报文测试效率。

根据待测报文的类型和SWIFT报文国际标准创建好报文模板后,可在该报文模板的基础上,依据待测报文的待测栏位的信息,生成用于与待测报文进行核对的报文,即核对报文。

在上述步骤S120中,该待测报文的待测栏位一般是该待测报文中纳入测试范围的各种栏位区域。不同待测栏位的限定符及栏位数据内容可根据SWIFT报文国际标准中栏位格式的说明进行增加或删减。针对上述待测报文的待测栏位的内容,可以为该核对报文设置栏位数据内容,用于与上述待测报文的栏位数据内容进行核对,以实现对待测报文的内容进行校验。依据上述SWIFT报文国际标准,可以为该核对报文设置报文格式,可包括栏位标签名、限定符、栏位数据格式等一种或多种格式。

在上述步骤S130中,在生成的上述核对报文的基础上,可以实现分别对待测报文的报文格式和报文内容进行校验核对。具体而言,在确定待测报文的报文类型后,即可对照SWIFT报文国际标准中的报文格式,对待测报文的所有栏位进行格式校验,不受报文内容校验过程的影响,报文格式校验过程简便、针对性强,以此可以提高报文测试的效率。依托SWIFT报文国际标准校验报文格式,无需测试人员掌握报文的结构内容,以此能够提高测试结果。而且,自动检查待测报文的格式可仅需秒级的时间,以此可进一步提高报文的测试效率。此外,在生成核对报文后,即可根据核对报文的栏位数据内容对待测报文的栏位数据内容进行校验,校验内容单一,不易发生错误,以此可以提高报文测试的准确度。

本发明实施例的数据通信测试方法,首先根据待测报文的报文类型和SWIFT报文国际标准创建报文模板,再利用该待测报文的待测栏位和该报文模板生成核对报文,并利用SWIFT报文国际标准对该待测报文的报文格式进行校验,利用该核对报文对该待测报文的报文内容进行校验。待测报文的格式校验和内容校验分别进行,格式校验仅在知晓报文类型的情况下即可进行,以此可提高校验效率,依托SWIFT报文国际标准校验报文格式,无需测试人员掌握报文的结构内容,可提高报文测试质量,而且,校验针对性强,可以提高校验效率和校验结果的准确度。进一步,报文模板适用于同一报文类型,同样类型待测报文不必重建报文模板。

本发明实施例中的报文模板可以通过多种具体的方式进行创建。例如,先根据SWIFT报文国际标准抽取标准栏位并初始化报文结构,再依据设定规则创建报文模板,并可以在其中的每个栏位末添加对应的栏位数据内容的注释。

图2是本发明一实施例中报文模板创建方法的流程示意图。如图2所示,在上述步骤S110中,根据待测报文的类型和SWIFT报文国际标准创建报文模板的方法,具体可包括步骤:

S111:根据所述SWIFT报文国际标准和所述待测报文的类型定义所述报文模板的报文结构;

S112:根据所述报文结构初始化得到初始模板;

S113:根据所述报文结构和所述初始模板创建所述报文模板。

在上述步骤S111中,该报文结构可以是一系列反映报文模板的结构的信息。该SWIFT报文国际标准可以是SWIFT组织发布的最新国际标准,可以是英文版。该报文模板的报文结构可以通过结构化定义设定报文信息得到,例如,可以通过结构化定义该SWIFT报文国际标准得到。根据设定的报文类型,例如待测报文的类型,可以从该SWIFT报文国际标准中匹配出该类型所对应的标准信息,进而可根据该标准信息整理得到报文模板的报文结构。

具体而言,对SWIFT报文国际标准的结构化定义,可以是将以报文类型的各栏位中的相关内容进行结构化地整理,整理的内容可以包括SWIFT报文国际标准中的内容。例如,可以对栏位标签名中的各选项所对应的内容进行整理,可以对栏位数据内容在不同选项下的对应联动进行整理,可以对限定符进行整理,可以对栏位标签名的注释及备注进行整理等。

在上述步骤S112中,根据上述报文结构,例如结构性定义后的标准信息,可以依据各区块、各栏位的顺序,进行初始化。初始化处理可将报文结构的内容转换成模板形式。例如,根据报文结构中栏位的选项对栏位的选项显示进行初始化,根据报文结构中的限定符的信息对限定符的取值进行初始化,根据报文结构中的栏位号对栏位的数据内容的输入进行初始化,根据报文结构中的栏位数据格式的信息对栏位数据格式的校验进行初始化,根据报文结构中栏位的不同选项的信息可以初始化生成相应的选项内容。通过上述步骤S112可将上述报文结构处理成模板。

在上述步骤S113中,根据上述报文结构和上述初始模板可在前台创建标准化的报文模板,以便系统管理者或使用者利用该报文模板生成核对报文。本发明实施例中待测报文一般是根据SWIFT报文国际标准得到的标准化报文,所以,该标准化的报文模板可以和标准化的待测报文很好地对应,有利于提高对待测报文进行格式校验的准确性,提高测试结果的质量。

一个实施例中,上述报文模板中可以包括标示必输栏位的标记,例如以星号作为标记,如此一来,可使系统管理者或使用者容易、快速地识别报文模板中的必输栏位,有助于提高后续在该报文模板的基础上生成核对报文的效率。

图3是本发明一实施例中报文模板的报文结构生成方法的流程示意图。如图3所示,在上述步骤S111中,根据所述SWIFT报文国际标准和所述待测报文的类型定义所述报文模板的报文结构的方法,可包括步骤:

S1111:从所述SWIFT报文国际标准抽取标准栏位;

S1112:根据所述待测报文的类型对所述标准栏位的内容进行结构化整理,生成所述报文结构。

本实施例中,从SWIFT报文国际标准抽取标准栏位,并根据待测报文的类型对抽取的标准栏位的内容进行结构化整理得到的报文结构,可以与待测报文的格式信息相对应,有助于实现对待测报文进行格式校验。

一个具体实施例中,SWIFT报文国际标准可如表1所示,该SWIFT报文国际标准为英文版,其中可包括栏位必输性、栏位号、限定符、栏位注释、栏位选项等信息。在上述步骤S1111中,可根据需要从表1所示的SWIFT报文国际标准中抽取标准栏位的相关信息。

表1 SWIFT报文国际标准示例

表2是根据表1所示的SWIFT报文国际标准结构性定义的报文结构。在上述步骤S1112中,可根据表1所示的SWIFT报文国际标准抽取标准栏位的信息,并按一待测报文的类型经由结构化整理后得到如表2所示的报文结构。与表1相比,结构化整理后的表2的表结构有所调整,可增加备注、栏位中文名称、栏位是否重复、区块是否可选等信息,该些信息可根据待测报文的类型确定。

表2 根据SWIFT报文国际标准结构性定义的报文结构示例

一个实施例中,在上述步骤S112中,根据所述报文结构初始化得到初始模板的方法,可包括步骤:

S1121:根据所述报文结构对栏位选项显示、栏位限定符取值、栏位数据输入、栏位数据格式校验及栏位区块复用进行初始化,生成所述初始模板。

本实施例中,通过对栏位相关信息进行初始化,可以将结构化整理得到的报文结构转化为模板,有助于实现报文模板的创建。

在上述步骤S1121中,可依据区块顺序和区块下的栏位顺序,对栏位选项显示、栏位限定符取值、栏位数据输入及栏位数据格式校验进行初始化。其中,栏位选项显示可根据报文结构中的栏位选项信息进行初始化,栏位限定符取值可根据报文结构中的相应栏位的限定符取值进行初始化,栏位数据输入可以根据报文结构中的栏位数据内容初始化,栏位数据输入位置可依据区块及栏位的顺序设置,栏位数据格式校验可根据报文结构中相应栏位的数据格式要求进行初始化。若报文结构的栏位存在多个选项,则对栏位中的不同选项根据报文结构中的相应栏位相应选项的内容及格式进行初始化,可自动初始化成相应的选项内容。

通过上述步骤S1121可将结构化整理出来的报文结构处理成模板,具体地,例如可自动补录冒号(例如栏位签名中的冒号),可对有多选项的栏位标签进行多选项的处理,可将限定符进行多选项的处理,可自动创建栏位数据的录入区,并根据SWIFT报文国际标准中规定的栏位格式对输入内容进行限制控制。同时,可针对不同选项,在限定符和栏位数据格式不一致时进行联动控制。

在上述步骤S1121中,通过对栏位区块复用进行初始化,可对重复区块进行复用。例如,重复区块开始处可以“+”号标志,若点击该“+”号,可自动将本区块复制显示,同时“+”号变为“-”号,而若点击该“-”号则可将重复区块删除,以此循环往复,可以提高模板创建效率。

图4是本发明一实施例中根据报文结构初始化得到初始模板的示意图。如图4所示,左半部分是根据上述待测报文的类型对抽取的标准栏位的内容进行结构化整理生成的报文结构,该报文结构为多种形式,例如按栏位顺序排列。根据该报文结构初始化可到右半部分所示的初始模板。该初始模板可包含栏位签名、栏位数据输入区、区块复用标记“+”号、多选项等内容。在该初始模板中可以输入栏位数据,并可对输入内容进行格式校验,不同的栏位选项可对应不同的格式控制方式。

图5是本发明一实施例中报文模板创建方法的流程示意图。如图5所示,在上述步骤S113中,根据所述报文结构和所述初始模板创建所述报文模板的方法,可包括步骤:

S1131:根据所述报文结构为所述初始模板添加栏位注释;

S1132:根据添加栏位注释后的初始模板生成所述报文模板。

本实施例中,在上述步骤S1131中,根据上述报文结构的内容,例如上述报文结构中的栏位(英文)、栏位(中文)、备注及栏位格式等信息,为上述初始模板添加栏位注释,再通过上述步骤S1132例如在前台创建标准化的报文模板。报文模板中的栏位注释可以方便使用者对报文模板的理解。

一个实施例中,可以先在报文结构中添加栏位注释,再根据添加栏位注释后的报文结构进行初始化得到报文模板。表3是添加报文注释后的报文结构示例,如表3所示,每个栏位均可对应有相应的报文注释。报文注释中可包括准备日期/时间、限定符、栏位格式等信息,以此可以方便地理解本栏位的情况。

表3 添加报文注释后的报文结构示例

图6是本发明一实施例中报文模板的结构示意图。如图6所示,根据表3所示的报文结构和报文注释可在前台创建相应的报文模板。其中,每个栏位均可对应相应的栏位注释,且必输栏位可用星号表示,以便使用者直观得知栏位信息。

图7是本发明一实施例中核对报文生成方法的流程示意图。如图7所示,在上述步骤S120中,利用所述待测报文的待测栏位和所述报文模板生成核对报文的方法,可包括步骤:

S121:根据所述待测栏位为所述报文模板设置栏位数据,生成初始报文;

S122:依据所述初始模板的栏位限定符及栏位格式要求,为所述初始报文中尚未设置栏位数据的必输栏位补充设置栏位数据,生成所述核对报文。

在上述步骤S121中,可以依据待测栏位的多种信息例如栏位名称、栏位数据等为报文模板设置栏位数据,报文模板中的栏位数据可用于对待测报文进行内容校验。

通过上述步骤S121可对核对报文中纳入核对测试的栏位区域设置栏位数据。通过上述步骤S122可依据对栏位定义的限定符和格式的规则,进一步补齐待测报文和上述核对报文二者间未共同覆盖部分的信息。如此一来,可以保证所有必输栏位的信息完整,生成一个完整的核对报文。

一个实施例中,日期和周次为必输项,但未纳入核对测试的栏位区域,故可补齐日期和周次的信息,补齐日期和周次信息后的初始报文所存储数据可如下所示:

<MSG TYPE="MT541">

<FIELD ID="1"NAME=":16R:"VALUE="GENL"TFLAG="0"/>

<FIELD ID="2"NAME=":20C:"VALUE=":SEME//ICBCTRANSMSG"TFLAG="1"//>

<FIELD ID="3"NAME=":23G:"VALUE="NEWM/CODU"TFLAG="1"/>

<FIELD ID="4"NAME=":98A:"VALUE=":PREP//20140611"TFLAG="1"/>

<FIELD ID="5"NAME=":69A:"VALUE=":STAT//20140611/20140613"TFLAG="0"/>

<FIELD ID="6"NAME=":22F:"VALUE=":SFRE//WEEK"TFLAG="0"/>

</MSG>

一个实施例中,通过上述步骤S121~S122,可生成一个完整的报文,包含标签、栏位、信息等所有内容,所生成的核对报文可如下所示:

:16R:GENL

:28E:1/ONLY

:20C::SEME//ICBCTRANSMSG

:23G:NEWM/CODU

:98a::PREP//20140611

:69a::STAT//20140611/20140613

:22F::SFRE//WEEK

:97A::SAFE//078100003677

:17B::ACTI//Y

:17B::CONS//N

:16S:GENL

......

图8是本发明一实施例中初始报文生成方法的流程示意图。如图8所示,在上述步骤S121中,根据所述待测栏位为所述报文模板设置栏位数据,生成初始报文的方法,可包括步骤:

S1211:为所述报文模板上与所述待测栏位相对应的核对栏位设置核对标记,并为所述核对栏位设置相应的栏位数据期望值;

S1212:依据所述报文模板的栏位限定符及栏位格式要求,对设置栏位数据期望值后的核对栏位进行格式校验;

S1213:对格式校验通过的核对栏位进行结构化处理,生成所述初始报文。

在上述步骤S1211中,在上述报文模板的基础上,对于与待测报文中应测试栏位对应的核对报文的栏位进行期望值/预期值录入,即在核对报文中标识哪些栏位用于核对测试并设定核对结果,上述核对标识可存储在TFLAG中。该期望值/预期值可用于与待测报文中待测栏位的内容进行比较,以对待测报文进行内容校验。

本实施例中,在依据SWIFT报文国际标准抽取规则生成报文模板的基础上,通过设置纳入核对测试的栏位区域的预期值(期望值),并自动补齐必输栏位,能够准确地生成一份满足所需栏位要求、栏位数据完整、格式正确的核对报文,从而能够更精准把握测试重点。

图9是本发明一实施例中栏位数据录入的示意图。如图9所示,可对栏位数据例如日期/时间的期望值进行录入,还可以对栏位的不同选项录入不同的栏位数据。

在完成栏位数据录入后,可通过上述步骤S1212对报文模板中录入的栏位数据(期望值/预期值)进行格式校验,以使报文模板栏位信息录入遵循报文模板中已控制的限定符和格式等的要求。通过上述步骤S1213,可将报文模板中已标识的栏位和期望值进行结构化处理,并可存储起来。一个实施例中,结构化后存储的数据可如下所示:

<MSG TYPE="MT541">

<FIELD ID="1"NAME=":16R:"VALUE="GENL"TFLAG="0"/>

<FIELD ID="2"NAME=":20C:"VALUE=":SEME//ICBCTRANSMSG"TFLAG="1"/>

<FIELD ID="3"NAME=":23G:"VALUE="NEWM/CODU"TFLAG="1"/>

<FIELD ID="4"NAME=":98A"VALUE=":PREP//20140611"TFLAG="1"/>

<FIELD ID="5"NAME=":69A:"VALUE=""TFLAG="0"/>

<FIELD ID="6"NAME=":22F:"VALUE=""TFLAG="0"/>

</MSG>

在上述步骤S130中,对待测报文的报文内容校验和报文格式校验可以分别进行。

一个实施例中,在上述步骤S130中,利用所述SWIFT报文国际标准对所述待测报文的报文格式进行校验的方法,可包括步骤:

S131:利用所述SWIFT报文国际标准对所述待测报文的区块涵盖性、区块必输性、栏位涵盖性、栏位必输性、限定符及栏位数据格式进行校验,生成所述格式校验结果。

在上述步骤S131中,区块涵盖性可指待测报文中是否存在一区块或是否存在一多余区块。栏位涵盖性可指一区块(例如必输区块)下是否存在一栏位或是否存在一多余栏位。栏位必输性可知该栏位是否为必输栏位。根据SWIFT报文国际标准中的区块信息可以对待测报文的区块属性(包括区块涵盖性、区块必输性)进行校验,根据SWIFT报文国际标准中的栏位信息可以对待测报文的栏位属性(栏位涵盖性、栏位必输性、限定符及栏位数据格式)进行校验。

通过上述步骤S131,可针对待测报文的报文格式进行校验,包括区块的校验、限定符的校验、栏位必输性及数据格式的校验等。本实施例的方法,能够有效排除栏位缺失、限定符错误、栏位数据格式错误等问题。

图10是本发明一实施例中针对待测报文中各区块及区块下各栏位的属性进行校验的方法流程示意图。区块属性的校验可包括区块的必输性的校验,栏位属性的校验可包括区块内各栏位标签的正确性和必输性的校验,如图10所示,具体校验方法可包含如下步骤:

S301:根据SWIFT报文国际标准中的区块,校验待测报文(如MT541类报文)的必输(Mandatory)区块是否存在,若不存在,则将校验结果记录下来;

S302:在完成对必输区块的校验后,根据SWIFT报文国际标准中的栏位,对必输区块中各个栏位的必输性进行校验,若其中缺少必输栏位,则将校验结果记录下来;

S303:根据SWIFT报文国际标准中的栏位,校验必输区块中是否存在非本区块的栏位,若存在,则将校验结果记录下来;

S304:根据SWIFT报文国际标准中的区块及栏位,校验待测报文中可选区块中各栏位的必输性,若该可选区块中缺少必输栏位,则将校验结果记录下来;

S305:根据SWIFT报文国际标准中的栏位标签名,对待测报文中各栏位标签名的格式进行校验,校验各个栏位标签名前后是否以冒号开始和结束,且当栏位标签名的栏位选项为多个时其选项是否正确,若栏位标签名的格式校验结果显示格式错误,则将校验结果记录下来。

一个实施例中,从一设定应用系统中获取的MT541待测报文可为:

:16R:GENL

:20C::SEME//TN13395306000021352

:16S:GERL

:16R:TRADDET

:98D::TRAD//20080230

:98A::SETT//20080219

:90B::DEAL/USD97,8

:35B:ISIN CN0006326812

IBM COMPUTER SCIENCE

:16S:TRADDET

:16R:SETDET

:23F::SETR//TRAD

:16R:SETPRTY

:95P::DEAG//GSASHKH1XXX

:16S:SETPRTY

......

:16R:AMT

:19A::DEAL//USD97800

:16S:AMT

:16R:AMT

:19A::STAM//USD125.5

:16S:AMT

:16R:AMT

:19A::SETT//USD979x5

:16S:AMT

一个实施例中,对上述待测报文进行报文格式校验所得到的格式校验结果可为:

:16R:GENL

:20C::SEME//TN13395306000021352

--本报文中缺少必输栏位23G

:16S:GERL

:16R:TRADDET

:98A:TRAD//20080230

:98D::SETT//20080219 --必输区块B区98a栏位的选项错误,

该栏位的选项只能为A,B,C,E。

:90B::DEAL/USD97,8

:35B:ISIN CN0006326812

IBM COMPUTER SCIENCE

:16S:TRADDET

--本报文中缺少必输区块C区的相关内容

:16R:SETDET

:23F::SETR//TRAD --必输区块E区中不存在23F栏位

……

上述步骤S301~S305的校验结果可记录在相应的单元、区块或栏位的位置,较佳地,记录在便于使用者理解的位置。如上述格式校验结果所示,上述步骤S301的校验结果可如其中的C区说明所示“--本报文中缺少必输区块C区的相关内容”;上述步骤S302的校验结果可如其中缺少必输栏位23G;上述步骤S303的校验结果可如其中的23F所示;上述步骤S304的校验规则可与步骤S302的校验规则类似;上述步骤S305的校验结果可如其中的98a所示。

图11是本发明一实施例中针对待测报文中各栏位的限定符进行校验的方法流程示意图。如图11所示,针对待测报文中各栏位是否存在限定符及限定符正确性进行校验,具体校验方法可包括步骤:

S401:根据SWIFT报文国际标准中的栏位,对待测报文中各报文栏位是否存在进行校验,若待测报文中缺失SWIFT报文国际标准中存在的栏位,或待测报文中存在SWIFT报文国际标准中不存在的栏位,则将校验结果记录下来;

S402:根据SWIFT报文国际标准中的栏位限定符,对待测报文中各报文栏位限定符前的冒号格式进行校验,若SWIFT报文国际标准中规定栏位的限定符前存在冒号而待测报文中缺失,则将校验结果记录下来;

S403:根据SWIFT报文国际标准中的栏位字典值,对待测报文中存在限定符的栏位的字典值进行校验,若错误,则将校验结果记录下来。

上述步骤S401~S403的校验结果可记录在便于使用者理解的位置,例如相应栏位的后面。一个实施例中,对待测报文中各栏位是否存在限定符及限定符正确性的校验结果可为:

:16R:GENL

:20C::SEME//TN13395306000021352

:16S:GERL --该栏位限定符GERL错误

:16R:TRADDET

:98A:TRAD//20080230 --:98A:后缺少冒号

:98A::SETT//20080219

:90B::DEAL/USD97,8 --该栏位存在2个限定符,现只有DEAL

……

如上述格式校验结果所示,上述步骤S401的校验结果可如其中的90B所示;上述步骤S402的校验结果可如其中的98A所示;上述步骤S403中,具体各栏位的字典值在SWIFT报文国际标准中有详细说明,该步骤的校验结果可如其中的16S所示。

图12是本发明一实施例中针对待测报文中各栏位的数据格式进行校验的方法流程示意图。如图12所示,针对待测报文中各栏位的数据内容格式即栏位数据格式进行校验,具体方法可包括步骤:

S501:根据SWIFT报文国际标准中栏位数据长度,校验待测报文中相应栏位数据长度;

S502:根据SWIFT报文国际标准中栏位数据精度,校验待测报文中相应栏位数据的精度;

S503:根据SWIFT报文国际标准中栏位数据字符格式,校验待测报文中相应栏位数据字符格式;

S504:根据SWIFT报文国际标准中栏位数据的斜杠格式,校验待测报文中相应栏位数据的斜杠格式的校验。

上述步骤S501~S504的校验结果可以记录下来,例如记录在相应栏位的末尾。一个实施例中,对待测报文中各栏位的数据内容格式的校验结果可以为:

:16R:GENL

:20C::SEME//TN13395306000021352 --本栏位的数据长度超长,标准格式为16x

……

:95P::SELL//GSILGB2XXXX

:97A::SAFE/B01451 --本栏位数据的格式错误,SAFE后缺少斜杠

……

:16R:AMT

:19A::STAM//USD125.5 --本栏位数据的精度错误,应该为125,5

:16S:AMT

:16R:AMT

:19A::SETT//USD979x5 --本栏位数据的类型错误,标准格式为15d

:16S:AMT

如上述格式校验结果所示,上述步骤S501的校验结果可如其中的20C所示;上述步骤S502的校验结果可如其中的:19A::DEAL所示(该实施例中对于数值型的栏位,如有小数点位数,则在SWIFT报文国际标准中小数点可以英文逗号代替);上述步骤S503的校验结果可如其中的:19A::SETT所示;上述步骤S504的校验结果可如其中的97A所示。

图13是本发明一实施例中报文内容校验方法的流程示意图。如图13所示,在上述步骤S130中,利用所述核对报文对所述待测报文的报文内容进行校验的方法,可包括步骤:

S132:依据所述核对标记获取所述核对栏位的位置信息;

S133:根据所述位置信息从所述待测报文和所述核对报文分别提取待测栏位数据和核对栏位数据;

S134:比较所述待测栏位数据和相应栏位的核对栏位数据,生成所述内容校验结果。

可首先根据核对报文,自动解析核对报文的XML定义文件。再通过上述步骤S132,依据核对报文中栏位的核对标识(TFLAG),提取纳入核对测试的栏位区域信息即位置信息,可以数组[<2,20C>,<3,23G>,<4,98a>]的形式存储起来。

通过上述步骤S133,根据提取的纳入核对测试的栏位区域信息,分别从待测报文和核对报文将相应栏位的信息提取出来,可分别形成待测报文X组、核对报文Y组栏位数据组。从核对报文提取的三组栏位信息可如下所示:

[<2,20C,:SEME//ICBCTRANSMSG>,

<3,23G,NEWM/CODU>,

<4,98A,:PREP//20140611>]

通过上述步骤S134,根据待测报文的X组栏位数据组和核对报文的Y组栏位数据组,逐一进行对应栏位的内容进行一致性比较,并可记录每组栏位的比较结果。若比较结果一致,则可记为Y,若比较结果不一致,则可记为N,同时可保存待测报文和核对报文中的具体栏位数据,格式可为“待测报文栏位数据#核对报文栏位数据”。

完成待测报文和核对报文的所有栏位的比较后,可汇总各个栏位的比较结果,并可将比较结果存储起来,以便作进一步数据处理,生成测试报告。比较结果可如下所示:

[<2,20C,Y>,

<3,23G,N,NEWM/DUPL#NEWM/CODU>,

<4,98A,N,:PREP//20140611#:PREP//20140613>]

图14是本发明另一实施例的数据通信测试方法的流程示意图。如图14所示,图1所示的数据通信测试方法,还可包括步骤:

S140:根据所述格式校验结果和所述内容校验结果,按设定组合格式生成所述待测报文的异常栏位信息;

S150:根据所述异常栏位信息对所述待测报文中的异常栏位进行标注,并将标注后的待测报文另存为测试结果报文;

S160:根据所述测试结果报文生成包括报文类型、待测栏位、格式校验结果及内容校验结果的信息的报文测试报告。

在上述步骤S140中,该格式校验结果可以包括对一种或多种报文中相关格式的校验结果。该设定组合格式可以是各种形式,具体可根据需要进行设定。例如该设定组合格式可为[<1,16R,Y>,<2,20C,Y>,<3,23G,N,:4!c//8!n>......]。一个实施例中,可以根据格式校验结果计算已检查栏位数a1,不通过栏位数b1,并做差错率c1=b1/a1的统计,统计结果可用于制作待测报文的测试报告。

在上述步骤S140中,该内容校验结果可以包括对一种或多种报文中相关内容的校验结果。一个实施例中,可进一步计算已核对栏位数a2,不通过栏位数b2,并做差错率c2=b2/a2的统计,统计结果可用于制作待测报文的测试报告。

在上述步骤S140中,根据格式校验结果与内容校验结果,可按栏位将两种校验结果进行整合,形成例如<序号,栏位,格式核对结果,格式参考值,内容核对结果,内容参考值>的信息组,其中,该格式参考值可根据SWIFT报文国际标准确定,该内容参考值可为上述录入的预期值/期望值。信息组可用于制作待测报文的测试报告。例如,该信息组可如下所示:

[<1,16R,Y,,,>,

<2,20C,Y,,Y,>,

<3,23G,N,:4!c//8!n,N,NEW/DUPL#NEWM/CODU>,

<4,98a,Y,,N,:PREP//20140611#:PREP//20140613>]

在上述步骤S150中,根据异常栏位信息组对待测报文相应的栏位进行异常标注,并另存为测试结果报文,有助于通过结果报文方便得知待测报文的测试结果。该测试结果报文可用于制作待测报文的测试报告。例如,测试结果报文可如下所示:

:16R:GENL

:20C::SEME//ICBCTRANSMSG

:23G:NEW/CODU #:4!c//8!n格式不匹配;内容不匹配NEWM/CODU

:98a::PREP//20140611 #内容不匹配:PREP//20140613

:69a::STAT//20140611/20140613

:22F::SFRE//WEEK

:97A::SAFE//078100003677

:17B::ACTI//Y

:17B::CONS//N

:16S:GENL

......

一个实施例中,上述报文测试报告可根据上述格式校验结果、内容校验结果、统计结果、异常栏位信息、信息组、测试结果报文等数据中的一个或多个生成。例如,该报文测试报告可包括基本信息、核对结果和附件三部分。其中,该基本信息可涵盖报文类型、核对范围、核对结论等信息;该核对结果可涵盖格式校验结果的异常明细、内容校验结果的异常明细、按栏位显示的异常情况等信息;该附件可涵盖待测报文、核对报文和测试结果报文(可带标注),测试报告的内容可如表4所示。

表4 报文测试报告示例

图15是本发明又一实施例的数据通信测试方法的流程示意图。如图15所示,本发明实施例的数据通信测试方法,可包括步骤:

S601:根据待测报文的类型获取结构化定义的SWIFT报文国际标准,即报文结构;

S602:根据上述报文结构,进行初始化,包括对必输栏位、必输区块、限定符和栏位数据格式进行初始化,并对每个栏位所表述的业务含义进行注释,得到报文模板;

S603:在上述模板报文中,对纳入核对测试的核对栏位,根据报文模板的指引和提示,进行信息录入;

S604:在完成核对栏位的信息录入后,对于报文模板中剩余的必输栏位,根据栏位属性自动补齐数据;

S605:结合录入的核对栏位的信息和自动补齐的栏位信息,生成完整的核对报文,并对纳入核对测试的栏位区域进行标记;

S606:获取待测报文,并依据SWIFT报文国际标准对该待测报文做报文格式及内容格式的校验,校验内容包括涵盖区块、限定符、必输性、数据格式信息;

S607:在完成格式校验后,以<栏位、检查结果、说明>的结构化的数据对象保存格式校验结果;

S608:根据核对报文中的栏位标记,提取纳入核对测试的栏位区域,并以此对核对报文和待测报文提取栏位信息,然后对核对报文和待测报文的栏位信息的内容一致性进行比对检查,即校验;

S609:在完成内容一致性检查后,以<栏位、比对结果、参照值>的结构化数据对象保存内容校验结果;

S610:解析格式校验结果和内容核对结果,并将二者整合成栏位视角的详细测试结果,对于测试结果异常的栏位,在待测报文的基础上进行异常信息标注,形成测试结果报文;

S611:生成含有基本信息、核对结果和附件三部分的完整的报文测试报告。

在上述步骤S611中,该基本信息可涵盖报文类型、核对范围、核对结论等信息;该核对结果可涵盖格式校验结果的异常明细、内容校验结果的异常明细、按栏位显示的异常情况等信息;该附件可涵盖待测报文、核对报文和测试结果报文。

上述各步骤在不发生冲突的情况下可以结合上述各实施例的数据通信测试方法使用,例如,上述各实施例中格式校验结果和内容校验结果可以分别整理成上述步骤S607中结构化的数据的格式<栏位、检查结果、说明>和上述步骤S609结构化的数据的格式<栏位、比对结果、参照值>的形式。

本实施例中,详细地记录了待测报文测试的各类明细信息,并形成测试结果值和预期值/期望值的清晰对照,最终生成一份规范准确的测试报告,核对结果更清晰直观。

本发明实施例的数据通信测试方法,待测报文的格式和内容分别校验,能够有效提升测试效率。在确定待测报文的类型后,即可对照SWIFT报文国际标准,对测试报文的各种栏位格式进行校验,能够有效排除各种格式问题,具有较高检查效率,依托SWIFT报文国际标准校验报文格式,无需测试人员掌握报文的结构内容,能够提高报文测试质量。本发明依托SWIFT报文国际标准对待测报文进行校验,能够更精准地把握测试重点,能够提高测试效率。

基于与图1所示的数据通信测试方法相同的发明构思,本申请实施例还提供了一种数据通信测试装置,如下面实施例上述。由于数据通信测试装置解决问题的原理与数据通信测试方法相似,因此该数据通信测试装置的实施可以参见数据通信测试方法的实施,重复之处不再赘述。

图16是本发明一实施例的数据通信测试装置的结构示意图。如图16所示,本发明实施例的数据通信测试装置的结构示意图,可包括:报文模板创建单元210、核对报文生成单元220及报文校验单元230,上述各单元顺序连接。

报文模板创建单元210用于根据待测报文的类型和SWIFT报文国际标准创建报文模板。

核对报文生成单元220用于利用所述待测报文的待测栏位和所述报文模板生成核对报文。

报文校验单元230用于利用所述SWIFT报文国际标准和所述核对报文分别对所述待测报文的报文格式和报文内容进行校验,分别生成格式校验结果和内容校验结果。

在报文模板创建单元210中,该待测报文可以是从各种应用系统获取的需要进行测试的报文。该待测报文的类型可以是SWIFT报文国际标准中的各种报文类型,具体报文类型可依据SWIFT报文国际标准的说明确定。

一个实施例中,该装置可以包括一存储单元,可以用于将上述报文模板存储起来,当需要再次对同样类型的报文进行测试时可以直接提取使用,不必重复创建报文模板。另一实施例中,可以针对上述SWIFT报文国际标准中的各种报文类型分别创建不同的报文模板,存储于存储单元中,当需要对待测报文进行测试时,可从存储模块中选取相应类型的报文模板,以对该待测报文进行测试。如此一来,可以减少例如在一个测试周期内创建报文模板花费的时间,进而能够提高报文测试效率。

报文模板创建单元210根据待测报文的类型和SWIFT报文国际标准创建好报文模板后,核对报文生成单元220可在该报文模板的基础上,依据待测报文的待测栏位的信息,生成用于与待测报文进行核对的报文,即核对报文。

在核对报文生成单元220中,该待测报文的待测栏位一般是该待测报文中纳入测试范围的各种栏位区域。不同待测栏位的限定符及栏位数据内容可根据SWIFT报文国际标准中栏位格式的说明进行增加或删减。

本发明实施例的数据通信测试装置,在报文模板创建单元210确定待测报文的报文类型后,报文校验单元230即可对照SWIFT报文国际标准中的报文格式,对待测报文的所有栏位进行格式校验,不受报文内容校验过程的影响,报文格式校验过程简便、针对性强,以此可以提高报文测试的效率。依托SWIFT报文国际标准校验报文格式,无需测试人员掌握报文的结构内容,可以提高报文测试质量。

图17是本发明一实施例中报文模板创建单元的结构示意图。如图17所示,所述报文模板创建单元210可包括:报文结构生成模块211、初始模板生成模块212及报文模板创建模块213,上述各模块顺序连接。

报文结构生成模块211用于根据所述SWIFT报文国际标准和所述待测报文的类型定义所述报文模板的报文结构。

初始模板生成模块212用于根据所述报文结构初始化得到初始模板。

报文模板创建模块213用于根据所述报文结构和所述初始模板创建所述报文模板。

在报文结构生成模块211中,该报文结构可以是一系列反映报文模板的结构的信息。该报文模板的报文结构可以通过结构化定义设定报文信息得到,例如,可以通过结构化定义该SWIFT报文国际标准得到。根据设定的报文类型,例如待测报文的类型,可以从该SWIFT报文国际标准中匹配出该类型所对应的标准信息,进而可根据该标准信息整理得到报文模板的报文结构。

通过初始模板生成模块212,根据上述报文结构,例如结构性定义后的标准信息,可以依据各区块、各栏位的顺序,进行初始化。初始化处理可将报文结构的内容转换成模板形式。例如,根据报文结构中栏位的选项对栏位的选项显示进行初始化,根据报文结构中的限定符的信息对限定符的取值进行初始化,根据报文结构中的栏位号对栏位的数据内容的输入进行初始化,根据报文结构中的栏位数据格式的信息对栏位数据格式的校验进行初始化,根据报文结构中栏位的不同选项的信息可以初始化生成相应的选项内容。通过上述初始模板生成模块212可将上述报文结构处理成模板。

本实施例中,该标准化的报文模板可以和标准化的待测报文很好地对应,有利于提高对待测报文进行格式校验的准确性,提高测试结果的质量。

图18是本发明一实施例中报文结构生成模块的结构示意图。如图18所示,所述报文结构生成模块211可包括:标准栏位抽取模块2111和结构化整理模块2112,二者相互连接。

标准栏位抽取模块2111用于从所述SWIFT报文国际标准抽取标准栏位。

结构化整理模块2112用于根据所述待测报文的类型对所述标准栏位的内容进行结构化整理,生成所述报文结构。

本实施例中,通过标准栏位抽取模块2111从SWIFT报文国际标准抽取标准栏位,并通过结构化整理模块2112根据待测报文的类型对抽取的标准栏位的内容进行结构化整理得到的报文结构,可以与待测报文的格式信息相对应,有助于实现对待测报文进行格式校验。

一个实施例中,所述初始模板生成模块212可包括:初始化模块2121。

初始化模块2121用于根据所述报文结构对栏位选项显示、栏位限定符取值、栏位数据输入、栏位数据格式校验及栏位区块复用进行初始化,生成所述初始模板。

本实施例中,通过初始化模块2121对栏位相关信息进行初始化,可以将结构化整理得到的报文结构转化为模板,有助于实现报文模板的创建。

通过初始化模块2121可将结构化整理出来的报文结构处理成模板,具体地,例如可自动补录冒号(例如栏位签名中的冒号),可对有多选项的栏位标签进行多选项的处理,可将限定符进行多选项的处理,可自动创建栏位数据的录入区,并根据SWIFT报文国际标准中规定的栏位格式对输入内容进行限制控制。同时,可针对不同选项,在限定符和栏位数据格式不一致时进行联动控制。

通过初始化模块2121对栏位区块复用进行初始化,可对重复区块进行复用。例如,重复区块开始处可以“+”号标志,若点击该“+”号,可自动将本区块复制显示,同时“+”号变为“-”号,而若点击该“-”号则可将重复区块删除,以此循环往复,可以提高模板创建效率。

图19是本发明一实施例中报文模板创建模块的结构示意图。如图19所示,所述报文模板创建模块213可包括:栏位注释模块2131和模板生成模块2132,二者相互连接。

栏位注释模块2131用于根据所述报文结构为所述初始模板添加栏位注释。

模板生成模块2132用于根据添加栏位注释后的初始模板生成所述报文模板。

本实施例中,栏位注释模块2131根据上述报文结构的内容,例如上述报文结构中的栏位(英文)、栏位(中文)、备注及栏位格式等信息,为上述初始模板添加栏位注释,再通过模板生成模块2132例如在前台创建标准化的报文模板。报文模板中的栏位注释可以方便使用者对报文模板的理解。

图20是本发明一实施例中核对报文生成单元的结构示意图。如图20所示,所述核对报文生成单元220可包括:初始报文生成模块221和核对报文生成模块222,二者相互连接。

初始报文生成模块221用于根据所述待测栏位为所述报文模板设置栏位数据,生成初始报文。

核对报文生成模块222用于依据所述初始模板的栏位限定符及栏位格式要求,为所述初始报文中尚未设置栏位数据的必输栏位补充设置栏位数据,生成所述核对报文。

本实施例中,初始报文生成模块221可以依据待测栏位的多种信息例如栏位名称、栏位数据等为报文模板设置栏位数据,报文模板中的栏位数据可用于对待测报文进行内容校验。可对核对报文中纳入核对测试的栏位区域设置栏位数据。核对报文生成模块222可依据对栏位定义的限定符和格式的规则,进一步补齐待测报文和上述核对报文二者间未共同覆盖部分的信息。如此一来,可以保证所有必输栏位的信息完整,生成一个完整的核对报文。

图21是本发明一实施例中初始报文生成模块的结构示意图。如图21所示,所述初始报文生成模块221可包括:期望值录入模块2211、期望值校验模块2212及栏位结构化模块2213,上述各模块顺序连接。

期望值录入模块2211用于为所述报文模板上与所述待测栏位相对应的核对栏位设置核对标记,并为所述核对栏位设置相应的栏位数据期望值。

期望值校验模块2212用于依据所述报文模板的栏位限定符及栏位格式要求,对设置栏位数据期望值后的核对栏位进行格式校验。

栏位结构化模块2213用于对格式校验通过的核对栏位进行结构化处理,生成所述初始报文。

期望值录入模块2211在上述报文模板的基础上,对于与待测报文中应测试栏位对应的核对报文的栏位进行期望值/预期值录入,即在核对报文中标识哪些栏位用于核对测试并设定核对结果,上述核对标识可存储在TFLAG中。该期望值/预期值可用于与待测报文中待测栏位的内容进行比较,以对待测报文进行内容校验。

本实施例中,在依据SWIFT报文国际标准抽取规则生成报文模板的基础上,通过设置纳入核对测试的栏位区域的预期值(期望值),并自动补齐必输栏位,能够准确地生成一份满足所需栏位要求、栏位数据完整、格式正确的核对报文,从而能够更精准把握测试重点。

一个实施例中,所述报文校验单元230可包括:

报文格式校验模块231用于利用所述SWIFT报文国际标准对所述待测报文的区块涵盖性、区块必输性、栏位涵盖性、栏位必输性、限定符及栏位数据格式进行校验,生成所述格式校验结果。

本实施例中,区块涵盖性可指待测报文中是否存在一区块或是否存在一多余区块。栏位涵盖性可指一区块(例如必输区块)下是否存在一栏位或是否存在一多余栏位。栏位必输性可知该栏位是否为必输栏位。根据SWIFT报文国际标准中的区块信息可以对待测报文的区块属性(包括区块涵盖性、区块必输性)进行校验,根据SWIFT报文国际标准中的栏位信息可以对待测报文的栏位属性(栏位涵盖性、栏位必输性、限定符及栏位数据格式)进行校验。通过报文格式校验模块231,可针对待测报文的报文格式进行校验,包括区块的校验、限定符的校验、栏位必输性及数据格式的校验等。本实施例的方法,能够有效排除栏位缺失、限定符错误、栏位数据格式错误等问题。

图22是本发明一实施例中报文校验单元的结构示意图。如图22所示,所述报文校验单元230可包括:栏位位置获取模块232、栏位数据提取模块233及报文内容校验模块234,上述各模块顺序连接。

栏位位置获取模块232用于依据所述核对标记获取所述核对栏位的位置信息。

栏位数据提取模块233用于根据所述位置信息从所述待测报文和所述核对报文分别提取待测栏位数据和核对栏位数据。

报文内容校验模块234用于比较所述待测栏位数据和相应栏位的核对栏位数据,生成所述内容校验结果。

可首先根据核对报文,自动解析核对报文的XML定义文件。再通过上述栏位位置获取模块232,依据核对报文中栏位的核对标识(TFLAG),提取纳入核对测试的栏位区域信息即位置信息,可以数组[<2,20C>,<3,23G>,<4,98a>]的形式存储起来。

通过上述栏位数据提取模块233,根据提取的纳入核对测试的栏位区域信息,分别从待测报文和核对报文将相应栏位的信息提取出来,可分别形成待测报文X组、核对报文Y组栏位数据组。

通过上述报文内容校验模块234,根据待测报文的X组栏位数据组和核对报文的Y组栏位数据组,逐一进行对应栏位的内容进行一致性比较,并可记录每组栏位的比较结果。若比较结果一致,则可记为Y,若比较结果不一致,则可记为N,同时可保存待测报文和核对报文中的具体栏位数据,格式可为“待测报文栏位数据#核对报文栏位数据”。

图23是本发明另一实施例的数据通信测试装置的结构示意图。如图23所示,图16所示的数据通信测试装置还可包括:异常栏位信息生成单元240、测试结果报文生成单元250及报文测试报告生成单元260,上述单元顺序连接,且异常栏位信息生成单元240与上述报文校验单元230连接。

异常栏位信息生成单元240用于根据所述格式校验结果和所述内容校验结果,按设定组合格式生成所述待测报文的异常栏位信息。

测试结果报文生成单元250用于根据所述异常栏位信息对所述待测报文中的异常栏位进行标注,并将标注后的待测报文另存为测试结果报文。

报文测试报告生成单元260用于根据所述测试结果报文生成包括报文类型、待测栏位、格式校验结果及内容校验结果的信息的报文测试报告。

通过异常栏位信息生成单元240,该格式校验结果可以包括对一种或多种报文中相关格式的校验结果。该设定组合格式可以是各种形式,具体可根据需要进行设定。例如该设定组合格式可为[<1,16R,Y>,<2,20C,Y>,<3,23G,N,:4!c//8!n>......]。

一个实施例中,异常栏位信息生成单元240可以根据格式校验结果计算已检查栏位数a1,不通过栏位数b1,并做差错率c1=b1/a1的统计,统计结果可用于制作待测报文的测试报告。

一个实施例中,异常栏位信息生成单元240可进一步计算已核对栏位数a2,不通过栏位数b2,并做差错率c2=b2/a2的统计,统计结果可用于制作待测报文的测试报告。

在异常栏位信息生成单元240中,根据格式校验结果与内容校验结果,可按栏位将两种校验结果进行整合,形成例如<序号,栏位,格式核对结果,格式参考值,内容核对结果,内容参考值>的信息组,其中,该格式参考值可根据SWIFT报文国际标准确定,该内容参考值可为上述录入的预期值/期望值。信息组可用于制作待测报文的测试报告。

一个实施例中,上述报文测试报告可根据上述格式校验结果、内容校验结果、统计结果、异常栏位信息、信息组、测试结果报文等数据中的一个或多个生成。例如,该报文测试报告可包括基本信息、核对结果和附件三部分。其中,该基本信息可涵盖报文类型、核对范围、核对结论等信息;该核对结果可涵盖格式校验结果的异常明细、内容校验结果的异常明细、按栏位显示的异常情况等信息;该附件可涵盖待测报文、核对报文和测试结果报文(可带标注)。

本实施例中,详细地记录了待测报文测试的各类明细信息,并形成测试结果值和预期值/期望值的清晰对照,最终生成一份规范准确的测试报告,核对结果更清晰直观。

本发明实施例的数据通信测试装置,待测报文的格式和内容分别校验,能够有效提升测试效率。在确定待测报文的类型后,即可对照SWIFT报文国际标准,对测试报文的各种栏位格式进行校验,能够有效排除各种格式问题,具有较高检查效率和测试质量。本发明依托SWIFT报文国际标准对待测报文进行校验,能够更精准地把握测试重点,能够提高测试效率,无需测试人员掌握报文的结构内容,能够提高报文测试质量。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1