用于测试业务处理模块的测试系统和方法

文档序号:7556044阅读:161来源:国知局
专利名称:用于测试业务处理模块的测试系统和方法
技术领域
本发明涉及计算机技术,尤其涉及用于测试业务处理模块的测试系统和测试方法。
背景技术
基于客户信息控制系统(CICS)的应用系统通常包括多个业务处理模块,在这种应用系统的开发过程中,通常独立地开发各个业务处理模块。由于各个业务处理模块的开发进度不相同,所以为了对已经开发好的业务处理模块进行测试,则需要组建测试系统。这种测试系统用于生成用来记载交易数据的测试报文并将该测试报文发送到业务处理模块,业务处理模块接收测试报文并利用测试报文中记载的交易数据来执行业务操作以检验业务处理模块的运行情况。这种测试系统存在的问题是:由于各个业务处理模块需要处理不同的交易数据使得向不同的业务处理模块发送的测试报文不相同,而且由于报文发送模块生成的测试报文的字符编码可能与各个业务处理模块能处理的字符编码不相同使得需要为各个业务处理模块配备能够生成符合业务处理模块的字符编码要求的测试报文的报文发送模块,因此,需要为每个业务处理模块开发一个配套的测试系统,造成重复开发,导致测试成本增大。

发明内容
本发明提供了用于测试业务处理模块的测试系统和测试方法,用来解决现有技术中需要为每个业务处理模块开发一个配套的测试系统的问题。为了解决上述问题,本发明提供了一种用于测试业务处理模块的测试系统,所述测试系统生成测试报文并提供给所述业务处理模块进行业务处理,所述测试系统包括:信息输入模块、存储模块、报文处理模块、转码模块以及通信模块,其中,所述存储模块用于存储记载有所述业务处理模块对测试报文的格式要求的第一报文格式文档;所述信息输入模块用于接收用户输入的交易数据并将所述交易数据发送到所述报文处理模块;所述报文处理模块用于根据所述存储模块所存储的第一报文格式文档和从所述信息输入模块接收的交易数据生成符合所述第一报文格式文档中记载的格式要求的测试报文,然后将所述测试报文发送到所述转码模块;所述转码模块用于从所述报文处理模块接收所述测试报文,并对所述测试报文进行字符编码转换,以生成经转码的测试报文,然后将所述经转码的测试报文发送到所述通信模块,其中,所述经转码的测试报文的字符编码为所述业务处理模块能处理的字符编码;所述通信模块用于将所述经转码的测试报文转发到所述业务处理模块。 优选地,所述存储模块还用于存储记载有所述业务处理模块对反馈报文的格式要求的第二报文格式文档;所述通信模块还用于将所述业务处理模块发来的反馈所述经转码的测试报文的处理结果的反馈报文转发到所述转码模块;所述转码模块还用于对所述通信模块转发的反馈报文进行字符编码转换,以生成经转码的反馈报文,然后将所述经转码的反馈报文发送到所述报文处理模块,其中,所述经转码的反馈报文的字符编码为所述报文处理模块能处理的字符编码;所述报文处理模块还用于根据所述存储模块所存储的第二报文格式文档和从所述转码模块接收的转码后的反馈报文生成与所述经转码的反馈报文相对应的实体对象。优选地,所述报文处理模块包括:对象处理单元和测试报文处理单元,其中,所述对象处理单元用于按照所述第一报文格式文档中记载的格式要求生成与所述测试报文相对应的测试报文文档对象,所述测试报文文档对象包括多个元素节点,每个元素节点均与所述测试报文中的一个报文域对应,每个元素节点的节点属性均与这个元素节点对应的报文域的域属性相同;所述测试报文处理单元用于将所述测试报文文档对象中每个元素节点的值赋值为所述交易数据中相应的数据项的值并基于已经用元素节点记载所述交易数据中全部数据项的测试报文文档对象来生成所述测试报文。优选地,所述报文处理模块包括:对象处理单元和测试报文处理单元,其中,所述对象处理单元用于将所述经转码的反馈报文转换成反馈报文文档对象,并且按照所述第二报文格式文档中记载的格式要求生成与所述经转码的反馈报文相对应的实体对象,所述实体对象包括多个成员变量,每个成员变量均与所述经转码的反馈报文中的一个报文域对应,每个成员变 量的成员变量属性均与这个成员变量对应的报文域的域属性相同;所述测试报文处理单元用于将所述实体对象中每个成员变量的值赋值为所述反馈报文文档对象中的相应的元素节点的值。优选地,所述测试报文包括多个报文域,所述第一报文格式文档规定了各个报文域的数据长度;所述转码模块包括报文域转码单元和报文合成单元,所述报文域转码单元用于:将所述报文域的字符编码转换成扩充的二进制编码的十进制交换码以生成临时报文域,然后,将所述临时报文域占用的字符数和与所述临时报文域对应的报文域在所述第一报文格式文档中被规定的数据长度进行比较,如果所述字符数小于等于所述数据长度,则在所述报文域的字符编码之前或之后补充个数为所述数据长度减去所述字符数的指定的填充字符以组成经转码的报文域;如果所述字符数大于所述数据长度,则查找出所述临时报文域中的最后一个汉字,并将所述汉字的字符编码的最后两个字符替换为“0F”以生成经转码的报文域;所述报文域合成单元用于将由所述报文域转码单元生成的所述经转码的报文域组合成所述经转码的测试报文。优选地,所述测试系统还包括:显示模块,其用于生成供用户输入所述交易数据的信息输入界面。优选地,所述显示模块还用于从所述报文处理模块获取实体对象并将所述实体对象整合到信息显示界面以向用户展示测试结果。
本发明还提供了一种用于测试业务处理模块的测试方法,用于生成测试报文并提供给所述业务处理模块进行业务处理,所述测试方法包括:存储记载有所述业务处理模块对测试报文的格式要求的第一报文格式文档;接收用户输入的交易数据;根据存储的所述第一报文格式文档和接收的所述交易数据生成符合所述第一报文格式文档中记载的格式要求的测试报文;对所述测试报文进行字符编码转换,以生成经转码的测试报文,其中,所述经转码的测试报文的字符编码为所述业务处理模块能处理的字符编码;将所述经转码的测试报文发送到业务处理模块。优选地,所述测试方法还包括:存储记载有所述业务处理模块对反馈报文的格式要求的第二报文格式文档;接收所述业务处理模块发来的反馈所述经转码的测试报文的处理结果的反馈报文;对所述反馈报文进行字符编码转换,以生成经转码的反馈报文,其中,所述经转码的反馈报文的字符编码为所述报文处理模块能处理的字符编码;根据所述第二报 文格式文档和所述经转码的反馈报文生成与所述经转码的反馈报文相对应的实体对象。优选地,所述测试方法还包括:将所述实体对象整合到信息显示界面以向用户展示测试结果。与现有技术相比,本发明的有益效果在于:本发明的测试方法和测试系统能够适应不同的业务处理模块对格式和字符编码的要求,避免了重复开发,节约了测试成本。


图1是本发明实施例的用于测试业务处理模块的测试系统的结构图;图2是图1的测试系统的报文处理模块的结构图;图3是图1的测试系统的转码模块的结构图;图4是本发明实施例的用于测试业务处理模块的测试方法的流程图;图5是本发明另一实施例的用于测试业务处理模块的测试方法的流程图。
具体实施例方式下面结合附图和具体实施例对本发明作进一步详细描述,但不作为对本发明的限定。图1是本发明实施例的用于测试业务处理模块的测试系统的结构图,如图1所示,测试系统100可以包括:信息输入模块101、报文处理模块102、转码模块103、通信模块104以及存储模块106,测试系统100可以生成测试报文并提供给业务处理模块105进行业务处理,其中,存储模块106用于存储记载有业务处理模块105对测试报文的格式要求的第一报文格式文档。测试报文包括多个报文域,每个报文域记录一条交易数据,每条交易数据包括多个数据项,例如一条交易数据可以包括账号、交易金额等数据项。第一报文格式文档可以记载报文域记录的交易数据的各个数据项的数据类型、数据长度等属性。可以预先存储第一报文格式文档。类似地,存储模块106还用于存储记载有业务处理模块105对反馈报文的格式要求的第二报文格式文档。信息输入模块101用于接收用户输入的交易数据并将交易数据发送到报文处理模块102 ;报文处理模块102用于根据存储模块106所存储的第一报文格式文档和从信息输入模块101接收的交易数据生成符合第一报文格式文档中记载的格式要求的测试报文,然后将所述测试报文发送到转码模块102,还用于根据存储模块106所存储的第二报文格式文档和从转码模块102接收到的经转码的反馈报文生成与经转码的反馈报文对应的实体对象。转码模块103用于从报文处理模块102接收测试报文,并对接收到的测试报文进行字符编码转换,以生成经转码的测试报文,然后将经转码的测试报文发送到通信模块104,其中,经转码的测试报文的字符编码为业务处理模块105能处理的字符编码;转码模块103还用于对通信模块104转发的反馈报文进行字符编码转换,以生成经转码的反馈报文,然后将经转码的反馈报文发送到报文处理模块102,其中,所述经转码的反馈报文的字符编码为报文处理模块102能处理的字符编码。通信模块104用于将经转码的测试报文转发到业务处理模块105 ;还用于将业务处理模块105发来的反馈经转码的测试报文的处理结果的反馈报文转发到转码模块103。通信模块104可以利用TCP/IP (传输控制协议/因特网协议)或者客户信息控制系统中的C0MMAREA (公共通信区)实现报文的转发。业务处理模块105可以利用通信模块104转发的经转码的测试报文进行业务处理,还可以将业务处理的结果通过反馈报文反馈到通信模块104。业务处理模块105可以是基于客户信息控制系统的应用系统。作为优选,本实施例的测试系统还可以包括:显示模块106,其用于生成供用户输入交易数据的信息输入界面,还用于从报文处理模块102获取实体对象并将实体对象整合到信息显示界面以向用户展示测试结`果。通过显示模块106可以供用户方便地输入交易数据并且可以直观地向用户展示测试结果。本实施例的测试系统根据记载有对测试报文的格式要求的第一报文格式文档和用户输入的交易数据来生成并发送符合业务处理模块所要求的格式和字符编码的测试报文使业务处理模块进行相应的业务处理,实现了对业务处理模块的测试。所述测试系统能够利用报文格式文档方便地规定测试报文的格式并实现了对测试报文的字符编码转换,解决了现有技术中为不同业务处理模块配置不同测试系统问题。图2是图1的测试系统的报文处理模块的结构图,如图2所示,报文处理模块102可以包括对象处理单元201和测试报文处理单元202。本实施例的测试报文为定长域CICS报文,报文格式文档是XML (可扩展标记语言)文档。第一报文格式文档中记载的格式要求规定测试报文的各个报文域的数据类型、数据长度等属性(在下文中简称为“域属性”)。对象处理单元201用于按照第一报文格式文档中记载的格式要求生成与测试报文相对应的测试报文文档对象,测试报文文档对象包括多个元素节点,每个元素节点均与测试报文中的一个报文域对应,并且每个元素节点的数据类型、数据长度等属性(在下文中简称“节点属性”)均与这个元素节点对应的报文域的域属性相同,即:具有相同的数据类型和数据长度等;对象处理单元201还用于将经转码的反馈报文转换成反馈报文文档对象,并且按照第二报文格式文档中记载的格式要求生成与经转码的反馈报文相对应的实体对象,实体对象包括多个成员变量,每个成员变量均与经转码的反馈报文中的一个报文域对应,每个成员变量的数据类型、数据长度等属性(在下文中简称“成员变量属性”)均与这个成员变量对应的报文域的域属性相同,即:具有相同的数据类型和数据长度等属性。测试报文处理单元202用于将测试报文文档对象中每个元素节点的值赋值为交易数据中相应的数据项的值并基于已经用元素节点记载所述交易数据中全部数据项的测试报文文档对象来利用D0M4J (Java语言对象关系模型)生成测试报文,还用于将实体对象中每个成员变量的值赋值为反馈报文文档对象中的相应的元素节点的值。通过上述处理可以通过配置第一报文格式或第二报文格式文档来生成不同的测试报文或解析不同的反馈报文,以满足业务处理模块对测试报文的格式要求。在本实施例中,由于报文处理模块102采用GBK (汉字内码扩展规范)字符编码或UTF8 (八位统一码转换格式)字符编码(由于GBK字符编码是一种特殊的UTF8字符编码,所以在下文中以报文处理模块102采用GBK字符编码为例进行说明)而业务数据处理模块105采用的字符编码是EBCDIC (扩充的二进制编码的十进制交换码),所以必须要对发送到业务数据处理模块105的测试报文以及从业务数据处理模块105接收到的反馈报文进行字符编码转换,以便报文处理模块102和业务处理模块105能够正确地识别所接收到的报文。图3是图1的测试系统的转码模块的结构图,如图3所示,转码模块103包括报文域转码单元301和报文合成单元302。第一报文格式文档规定了测试报文的各个报文域的数据长度(即该报文域占用的字符的个数)。报文域转码单元301用于对测试报文的报文域进行字符编码转换操作:将报文域的字符编码从GBK字符编码转换成EBCDIC字符编码以生成临时报文域,可以调用现有的转码组件来实现报文域字符编码的转换,然后,将临时报文域占用的字符数LI与对应报文域在第一报文格式文档中被规定的数据长度L2进行比较:如果LI小于等于L2,则在报文域的字符编码之前或之后补充L2-L1 (从L2中减去LI)个空格(一个空格占一个字符)以组成转码后的报文域,可选择地,可以用除空格以外的指定的填充字符替换上述空 格来对字符编码进行上述补充,其中,一个填充字符与一个空格在存储器中占用的比特(bit)相同;如果LI大于L2,则查找出临时报文域中的最后一个汉字,并将这个汉字的ASCII (美国信息交换标准代码)码的最后两个字符替换为“0F”以组成经转码的报文域。对测试报文的各个报文域均进行上述转码操作,以便将生成的各个经转码的报文域组合在一起以构成经转码的数据报文。报文域合成单元302用于将由报文域转码单元301生成的经转码的报文域组合成经转码的测试报文。报文域转码单元301还可以用于采用现有的转码技术将字符编码为EBCDIC的反馈报文进行转码以生成字符编码为GBK的转码后的反馈报文。图4是本发明实施例的用于测试业务处理模块的测试方法的流程图,如图4所示,本实施例的测试方法包括如下步骤:步骤401:存储记载有业务处理模块对测试报文的格式要求的第一报文格式文档;步骤402:接收用户输入的交易数据;步骤403:根据存储的第一报文格式文档和接收的交易数据生成符合第一报文格式文档中记载的格式要求的测试报文;
步骤404:对测试报文进行字符编码转换,以生成经转码的测试报文,其中,经转码的测试报文的字符编码为业务处理模块能处理的字符编码;步骤405:将经转码的测试报文发送到业务处理模块。由此,业务处理模块可以利用接收到的经转码的测试报文进行业务处理。图5是本发明另一实施例的用于测试业务处理模块的测试方法的流程图,在本实施例中,用于测试业务处理模块的测试方法可以在执行图4所示的各个步骤之后,还执行以下步骤:步骤501:存储记载有业务处理模块对反馈报文的格式要求的第二报文格式文档;步骤502:接收业务处理模块发来的反馈经转码的测试报文的处理结果的反馈报文;步骤503:对反馈报文进行字符编码转换,以生成经转码的反馈报文,其中,经转码的反馈报文的字符编码为报文处理模块能处理的字符编码;

步骤504:根据第二报文格式文档和经转码的反馈报文生成与经转码的反馈报文相对应的实体对象;步骤505:将实体对象整合到信息显示界面以向用户展示测试结果。因此,本发明提供的测试方法和测试系统具有通用性和可扩展性并且能够为用户提供可视化的测试结果展示界面。通用性体现在:本发明除了可以为基于客户信息控制系统开发的业务处理模块进行测试,还可以为基于其他系统开发的业务处理模块进行测试;可扩展性体现在:可以通过改变报文格式文档的内容来生成多种类型的报文。以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
权利要求
1.一种用于测试业务处理模块的测试系统,所述测试系统生成测试报文并提供给所述业务处理模块进行业务处理,其特征在于,所述测试系统包括:信息输入模块、存储模块、报文处理模块、转码模块以及通信模块,其中, 所述存储模块用于存储记载有所述业务处理模块对测试报文的格式要求的第一报文格式文档; 所述信息输入模块用于接收用户输入的交易数据并将所述交易数据发送到所述报文处理模块; 所述报文处理模块用于根据所述存储模块所存储的第一报文格式文档和从所述信息输入模块接收的交易数据生成符合所述第一报文格式文档中记载的格式要求的测试报文,然后将所述测试报文发送到所述转码模块; 所述转码模块用于从所述报文处理模块接收所述测试报文,并对所述测试报文进行字符编码转换,以生成经转码的测试报文,然后将所述经转码的测试报文发送到所述通信模块,其中,所述经转码的测试报文的字符编码为所述业务处理模块能处理的字符编码; 所述通信模块用于将所述经转码的测试报文转发到所述业务处理模块。
2.根据权利要求1所述的测试系统,其特征在于, 所述存储模块还用于存储记载有所述业务处理模块对反馈报文的格式要求的第二报文格式文档; 所述通信模块还用于将所述业务处理模块发来的反馈所述经转码的测试报文的处理结果的反馈报文转发到所述转码模块; 所述转码模块还用于对所述通信模块转发的反馈报文进行字符编码转换,以生成经转码的反馈报文,然后将所述经转码的反馈报文发送到所述报文处理模块,其中,所述经转码的反馈报文的字符编码为所述报文处理模块能处理的字符编码; 所述报文处理模块还用于根据所述存储模块所存储的第二报文格式文档和从所述转码模块接收的经转码的反馈报文生成与所述经转码的反馈报文相对应的实体对象。
3.根据权利要求1所述的测试系统,其特征在于,所述报文处理模块包括:对象处理单元和测试报文处理单元,其中, 所述对象处理单元用于按照所述第一报文格式文档中记载的格式要求生成与所述测试报文相对应的测试报文文档对象,所述测试报文文档对象包括多个元素节点,每个元素节点均与所述测试报文中的一个报文域对应,每个元素节点的节点属性均与这个元素节点对应的报文域的域属性相同; 所述测试报文处理单元用于将所述测试报文文档对象中每个元素节点的值赋值为所述交易数据中相应的数据项的值并基于已经用元素节点记载所述交易数据中全部数据项的测试报文文档对象来生成所述测试报文。
4.根据权利要求2所述的测试系统,其特征在于,所述报文处理模块包括:对象处理单元和测试报文处理单元,其中, 所述对象处理单元用于将所述经转码的反馈报文转换成反馈报文文档对象,并且按照所述第二报文格式文档中记载的格式要求生成与所述经转码的反馈报文相对应的实体对象,所述实体对象包括多个成员变量,每个成员 变量均与所述经转码的反馈报文中的一个报文域对应,每个成员变量的成员变量属性均与这个成员变量对应的报文域的域属性相同; 所述测试报文处理单元用于将所述实体对象中每个成员变量的值赋值为所述反馈报文文档对象中的相应的元素节点的值。
5.根据权利要求1所述的测试系统,其特征在于,所述测试报文包括多个报文域,所述第一报文格式文档规定了各个报文域的数据长度;所述转码模块包括报文域转码单元和报文合成单元, 所述报文域转码单元用于:将所述报文域的字符编码转换成扩充的二进制编码的十进制交换码以生成临时报文域,然后,将所述临时报文域占用的字符数和与所述临时报文域对应的报文域在所述第一报文格式文档中被规定的数据长度进行比较,如果所述字符数小于等于所述数据长度,则在所述报文域的字符编码之前或之后补充个数为所述数据长度减去所述字符数的指定的填充字符以组成经转码的报文域;如果所述字符数大于所述数据长度,则查找出所述临时报文域中的最后一个汉字,并将所述汉字的字符编码的最后两个字符替换为“OF”以生成经转码的报文域; 所述报文域合成单元用于将由所述报文域转码单元生成的所述经转码的报文域组合成所述经转码的测试报文。
6.根据权利要求1所述的测试系统,其特征在于,还包括:显示模块,其用于生成供用户输入所述交易数据的信息输入界面。
7.根据权利要求6所述的测试系统,其特征在于,所述显示模块还用于从所述报文处理模块获取实体对象并将所述实体对象整合到信息显示界面以向用户展示测试结果。
8.一种用于测试业务处理模块的测试方法,用于生成测试报文并提供给所述业务处理模块进行业务处理,其特征在于,所述 测试方法包括: 存储记载有所述业务处理模块对测试报文的格式要求的第一报文格式文档; 接收用户输入的交易数据; 根据存储的所述第一报文格式文档和接收的所述交易数据生成符合所述第一报文格式文档中记载的格式要求的测试报文; 对所述测试报文进行字符编码转换,以生成经转码的测试报文,其中,所述经转码的测试报文的字符编码为所述业务处理模块能处理的字符编码; 将所述经转码的测试报文发送到业务处理模块。
9.根据权利要求8所述的用于测试业务处理模块的测试方法,其特征在于,还包括: 存储记载有所述业务处理模块对反馈报文的格式要求的第二报文格式文档; 接收所述业务处理模块发来的反馈所述经转码的测试报文的处理结果的反馈报文; 对所述反馈报文进行字符编码转换,以生成经转码的反馈报文,其中,所述经转码的反馈报文的字符编码为所述报文处理模块能处理的字符编码; 根据所述第二报文格式文档和所述经转码的反馈报文生成与所述经转码的反馈报文相对应的实体对象。
10.根据权利要求9所述的用于测试业务处理模块的测试方法,其特征在于,还包括: 将所述实体对象整合到信息显示界面以向用户展示测试结果。
全文摘要
本发明提供一种用于测试业务处理模块的测试系统,所述测试系统生成测试报文并提供给所述业务处理模块进行业务处理,所述测试系统包括信息输入模块、存储模块、报文处理模块、转码模块以及通信模块。所述测试系统根据用户输入的交易数据生成符合业务处理模块对测试报文的格式要求和编码要求的经转码的测试报文,从而利用经转码的测试报文来测试业务处理模块执行业务处理的情况。本发明还提供了一种用于测试业务处理模块的测试方法。通过本发明的测试方法和测试系统能够适应不同的业务处理模块对报文格式和字符编码的要求,避免了重复开发,节约了测试成本。
文档编号H04L1/00GK103236959SQ20131016935
公开日2013年8月7日 申请日期2013年5月9日 优先权日2013年5月9日
发明者于洪奎, 张海鹏 申请人:中国银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1