Atm机软件系统自动测试方法

文档序号:6486726阅读:327来源:国知局
Atm机软件系统自动测试方法
【专利摘要】本发明提供ATM机软件系统自动测试方法,能降低成本。其包括以下步骤:一种ATM机软件系统自动测试方法,ATM机与银行主机相连接,来测试ATM机的软件系统,ATM机软件系统自动测试方法包括以下步骤:报文格式定义步骤,对报文的格式进行定义,报文是ATM机和银行主机之间交换与传输的数据的单元,报文的格式包括与组成各类报文的各字段有关的信息及各字段的排列顺序;报文接收步骤,银行主机从ATM机接收ATM机处理测试数据后生成的报文;报文校验步骤,根据在报文格式定义步骤定义的报文的格式,校验在报文接收步骤中生成的报文的完整性、报文类型的正确性及报文字段的正确性;及测试报告生成步骤,根据在报文校验步骤中进行校验的结果,生成测试报告。
【专利说明】ATM机软件系统自动测试方法
【技术领域】
[0001]本发明涉及一种ATM机软件系统自动测试方法,能降低测试成本。
【背景技术】
[0002]ATM机是银行开展业务的重要工具,大量ATM机被用来取代人工服务,保证ATM机的软件系统质量对于银行而言至关重要。通常,ATM机厂商在对ATM机的软件系统进行测试时需要将ATM机连接至客户银行的主机上,利用ATM机与银行主机的交互来测试ATM机的软件系统,这样不仅占用银行资源,影响银行正常业务开展,增加了测试成本,而且,也使得银行后台系统处于因测试故障而被破坏的风险之中。
[0003]另外,各银行主机的系统不同,测试所使用的参数也不同,例如,ATM机处理测试数据后生成报文并将该报文反馈给银行主机时的报文的格式不同,所以目前的ATM机软件系统的测试需要针对各银行来制定各自专用的测试方法及程序,所以即使对同一类型的ATM机进行测试时,都需要针对不同银行而重新调试,增加了测试成本。

【发明内容】

[0004]本发明的目的在于提供一种ATM机软件系统自动测试方法,能降低测试成本。
[0005]本发明的ATM机软件系统自动测试方法,所述ATM机与银行主机相连接,来测试ATM机的软件系统,所述ATM机软件系统自动测试方法包括以下步骤:
[0006]报文格式定义步骤,对报文的格式进行定义,所述报文是所述ATM机和所述银行主机之间交换与传输的数据的单元,所述报文的格式包括与组成各类报文的各字段有关的信息及所述各字段的排列顺序;
[0007]报文接收步骤,所述银行主机从所述ATM机接收所述ATM机处理测试数据后生成的报文;
[0008]报文校验步骤,根据在所述报文格式定义步骤定义的报文的格式,校验在所述报文接收步骤中生成的报文的完整性、报文类型的正确性及报文字段的正确性;及
[0009]测试报告生成步骤,根据在所述报文校验步骤中进行校验的结果,生成测试报告。
[0010]根据本发明的ATM机软件系统自动测试方法,还可以用虚拟机来代替真实的银行主机,这样能够使得测试不再占用银行资源,避免影响银行正常业务的开展,降低了成本,减少了风险。
[0011]另外,根据本发明的ATM机软件系统自动测试方法,通过对报文的格式进行定义,可以用同一测试方法和测试程序针对不同银行进行ATM机的软件系统的测试,能够降低成本。
【专利附图】

【附图说明】
[0012]图1是本发明的实施方式的流程图。
[0013]图2是本发明的实施方式中的报文格式的示意图。[0014]图3是本发明的实施方式中的报文字段与ATM机的软件模块对应关系的示意图。
[0015]图4是本发明的实施方式中的报文长度字段数据与报文实际长度的示意图。
[0016]图5是本发明的实施方式中的报文类型字段数据的示意图。
[0017]图6是本发明的实施方式中的卡号字段数据示意图。
[0018]图7是本发明的实施方式中的日期字段数据示意图。
[0019]图8是本发明的实施方式中的营业网点字段数据示意图。
[0020]图9是本发明的实施方式中的测试报告示意图。
【具体实施方式】
[0021 ] 以下,参照【专利附图】
附图
【附图说明】本发明的【具体实施方式】。
[0022]为了便于说明,若没有特别说明,图4至图8中的报文的数据皆为十六进制。
[0023]首先,参照图1所示的流程图来说明本发明的ATM机软件系统自动测试方法。
[0024]如图1所示,本发明的ATM机软件系统自动测试方法,ATM机与银行主机相连接来测试ATM机的软件系统。首先,定义各类报文的报文格式(步骤S101)。其中,报文(的)格式是基于ATM机与银行主机间交换和传输的数据进行定义的,可以通过自动化方式实现,也可以通过人工方式实现。
[0025]所谓“报文”是指ATM机与银行主机之间交换与传输的数据的单元,即一次性要发送的数据块,由若干字段组成。所谓“字段”是组成报文的数据单元。所谓“报文格式”是对组成该类报文的所有字段的形式化描述,包括与组成报文的各字段有关的信息和各字段的排列顺序。有关各类报文的报文格式,将在以后参照图2更详细地进行说明。
[0026]通过该定义报文格式步骤,可以使得定义后的报文的格式,对于不同银行的银行主机而言是兼容的,这样可以降低成本。
[0027]接着,如图1所示,银行主机从ATM机接收ATM机处理测试数据后由ATM机生成的报文(步骤S102)。在此,银行主机也可以不是真实的主机,而是虚拟机。若是虚拟机则可以降低成本,减少风险。
[0028]然后,基于步骤SlOl中定义的报文格式,校验步骤S102中生成的报文的完整性(步骤 S103)。
[0029]然后,判断报文的完整性的校验是否通过(步骤S104)。在判断为校验未通过时(步骤S104中为“否”),跳转到步骤S108。在判断为校验通过时(步骤S104中为“是”),接着基于步骤SlOl中定义的报文格式,校验步骤S102中生成的报文类型的正确性(步骤S105)。
[0030]然后,判断报文类型的正确性的校验是否通过(步骤S104)。在判断为校验未通过时(步骤S106中为“否”),跳转到步骤S108。在判断为校验通过时(步骤S106中为“是”),接着基于步骤SlOl中定义的报文格式,校验步骤S102中生成的报文字段的正确性(步骤
5107)。
[0031]最后,基于步骤S103、步骤S105、步骤S107的校验结果,生成测试报告(步骤
5108)。
[0032]以下,参照图2?图9说明图1所示的ATM机软件系统自动测试方法的一个实施例,但本发明不限于该实施例。[0033]在图1所示的步骤SlOl中,定义报文格式。图2是以列表的方式(可根据需要用其他方式)示出了在ATM机上进行支付操作的类型为“支付”的报文的报文格式的实例。如图2所示,在字段的列表中,包括字段序号、字段名称、字段类型、字段最大长度、字段最小长度、字段正则式、字段默认值、子字段数、字段标志位等项目。
[0034]在图1所示的步骤S102中,银行主机接收ATM机处理测试数据后生成的报文。图3示出了 ATM机生成的报文的各字段与ATM机的各模块之间的对应关系的一个例子。
[0035]其中,ATM机生成的报文字段中的报文长度字段对应于ATM机系统模块中的报文长度计算模块,报文类型字段对应于报文类型查询模块,报文其他字段对应于其他字段生成模块。其中,报文其他字段包括外设数据字段(包括表示银行卡号、密码等需要通过外部I/o设备获取的数据的字段,外部I/O设备包括键盘/触摸屏、读卡器、点钞机等安装在ATM机上用于用户对ATM机进行操作的设备等)、日期数据字段(此类数据通过访问操作系统相关接口获得)、预置数据字段(此类字段通过访问ATM机预置的配置文件获得),分别对应于外设数据读取模块、日期数据获取模块、配置文件访问模块。
[0036]在步骤S103中,校验步骤S102中生成的报文的完整性。以下,参照图2和图4说明校验报文完整性的具体例子。
[0037]首先,在报文格式的定义中查找报文长度字段,获得报文长度字段的位置和长度。在此,以图2为例说明其处理过程。(I)遍历步骤SlOl中定义的报文格式中的所有字段定义,找到具有长度字段标识的字段定义。如图2所示,字段1-1为报文长度字段。(2)根据如上获得的报文长度字段取得报文长度字段的起始位置和长度。如图2所示,根据字段1-1定义,该字段长度为Ilen = 2 ;根据字段1_1定义,该字段是报文第I字段的第I子字段,故该字段的起始位置为此前所有报文字段数据长度之和(第一位为第O位),即plen = O。
[0038]接着,计算步骤S102中生成的报文的长度1,I为报文的实际长度,即报文包含的字节数。如图4所示,报文的实际长度I = 224(十进制)。
[0039]然后,根据之前获得的报文长度字段的位置和长度,获得步骤S102中生成报文的报文长度字段的数据I’。如图4所示,I’ =OxEO(十六进制)= 224(十进制)。
[0040]比较报文的实际长度I和长度字段数据I’。若I = I’,则报文完整性的校验结果为通过;若I幸I’,则报文完整性的校验结果为不通过。如图4所示,I = 224 = 1’,因此报文完整性校验结果为通过。也就是说,在图1的步骤S104的判断为“是”。
[0041]在步骤S105中,校验ATM机生成的报文类型的正确性。以下,参照图2和图5说明校验报文类型的正确性的具体例子。
[0042]首先,在报文格式定义(图2)中查找报文类型字段,获得报文类型字段的位置和长度。在此,以图2为例说明其处理过程。(I)遍历步骤SlOl中定义的报文格式中的所有字段定义,找到具有类型字段标示的字段定义,如图2所示,字段2为报文类型字段。(2)根据(I)中获得的报文类型字段取得报文类型字段的起始位置和长度。如图2所示,根据字段2定义,报文类型字段的长度为Ityp = 4 ;根据字段2定义,该报文类型字段是报文第2字段,故该字段的起始位置为此前所有报文字段数据长度之和(第一位为第O位),即ptyp=8。
[0043]接着,获得步骤S102中生成的报文的类型字段的数据t。如图5所示,报文头的字段长度为8,所以紧接着报文头中的报文长度字段“E0”、报文规则字段“O”、报文结果字段“O”、保留字段“0000”之后的“0200”是报文类型的数据,t = 0200。
[0044]然后,遍历步骤SlOl中定义的报文格式中的所有报文类型(如图5最下方所示的表格),若存在与之前获得的数据(t = 0200)相同的报文类型,则类型校验结果为通过;若不存在与之前获得的数据(t = 0200)相同的报文类型,则类型校验结果为不通过。如图5所示,在下方的表格中存在代表支付操作的报文类型码0200,故报文类型校验结果为通过。也就是说,在图1的步骤S106的判断为“是”。
[0045]在步骤S107中,校验ATM机生成的报文字段的正确性。以下,参照图2和图6?图8说明校验报文字段的正确性的具体例子。
[0046]首先,根据步骤S105中获得的报文类型数据,从步骤SlOl中定义的报文格式中查找报文类型相同的报文的报文格式。
[0047]接着,遍历所获得的报文格式中的字段列表,校验步骤S102中生成的报文的字段数据。以下,举例说明校验每个字段的处理过程。(I)根据当前被校验字段的定义取得字段的位置和长度。(2)根据当前被校验字段的位置和长度,从步骤生成的报文中获得字段数据d。(3)判断当前字段属于外部输入数据字段、日期数据字段或预设数据字段(预设数据字段是指根据ATM机所处的位置而预先设定的字段,例如区域代码、网点代码等,此类字段不需要通过特殊的计算过程获得,而只是预先设定并存储在特定位置,ATM机在生成报文时直接取得并添加到报文中),并取得该字段在当前测试中应具有的数据d’,作为判断基准。若当前字段属于输入数据字段,则d’为当前执行的测试案例数据对应字段的数据;若当前字段属于日期数据字段,则d’为当前操作系统日期数据;若当前字段属于预置数据字段,则d’为配置文件中对应字段的数据。(4)比较数据d与数据d’,若d与d’相同,则当前字段的正确性校验通过,跳转到步骤S107中的(I)开始下一字段校验过程,当所有字段校验结束且全部通过时,结束步骤S107,且报文字段校验结果为通过。若d与d’不同,则当前字段的正确性校验不通过,同时结束步骤S107,且报文字段校验结果为不通过。
[0048]步骤S107中的校验字段的正确性的处理过程(I)?(4)是循环处理,遍历报文格式的字段列表,校验各个字段数据的正确性。
[0049]图6是步骤S107的一个例子。如图6所示,当前被校验字段为卡号字段,属于外部输入数据字段。首先,遍历步骤SlOl中的报文格式中的所有字段定义,找到具有卡号字段标识的字段定义。如图2所示,字段8为卡号字段;根据字段8的定义,该字段长度Icrd=15。根据字段8的定义,该字段是报文第8字段,故该字段的起始位置为此前所有报文字段数据长度之和(第一位为第O位),即pcrd = 48。如图6所示,利用卡号字段的起始位置和长度获得实际报文中卡号字段数据d = 011785332860861 ;此测试案例的卡号字段数据d,= 011785332860861 ;故d = d,,因此此字段校验结果为通过。
[0050]图7是步骤S107的一个例子。如图7所示,当前被检测字段为交易日期字段,属于日期数据字段。首先,遍历步骤SlOl中的报文格式中的所有字段定义,找到具有交易日期字段标识的字段定义。如图2所示,字段6为交易日期字段;根据字段6的定义,该字段长度Idat = 4 ;根据字段6的定义,该字段是报文第6字段,故该字段的起始位置位置为此前所有报文字段数据长度之和(第一位为第O位),即pdat = 40。如图7所示,利用交易日期字段的起始位置和长度获得实际报文中交易日期字段数据d = 1215 ;此测试案例执行当日操作系统日期为12月15日,故d’ = 1215,因此此字段校验结果为通过。[0051]图8是步骤S107的一个例子。如图8所示,当前被校验字段为网点代码字段,属于预置数据字段。首先,遍历步骤SlOl中的报文格式中的所有字段定义,找到具有网点代码标识的字段定义。如图2所示,字段11-3位网点代码字段;根据字段11-3的定义,该字段长度Icod = 4 ;根据字段11-3的定义,该字段是报文第11字段第3子字段,故该字段的起始位置为此前所有报文字段数据长度之和(第一位为第O位),即pcod = 189。如图8所示,利用网点代码字段的起始位置和长度获得实际报文中网点代码字段数据d = 0558 ;预置配置文件中的网点代码数据d’ = 0558 ;故d等于d’,因此此字段校验结果为通过;
[0052]在步骤S108中,生成的测试报告。以下,参照图9说明测试报告的具体例子。
[0053]首先,有关校验结果信息,存在如下4种情况:
[0054](I)报文完整性校验不通过,未进行报文类型正确性校验和报文字段正确性校验;同时还包括步骤S102中生成报文的实际长度和该报文中长度字段数据;
[0055](2)报文完整性校验通过,报文类型正确性校验不通过,未进行报文字段正确性校验;同时还包括步骤S102中生成报文的应具有类型数据和该报文中类型字段实际数据;
[0056](3)报文完整性校验和报文类型正确性校验都通过,报文字段正确性校验不通过;同时还包括步骤S102中生成报文中校验不通过字段的应具有数据和报文中该字段实际数据;
[0057](4)报文完整性校验、报文类型正确性校验和报文字段正确性校验都通过。
[0058]其次,有关ATM机对应模块错误的提示信息,根据图3中报文字段与ATM软件系统模块的对应关系,具体为:
[0059](I)报文长度计算模块存在错误:报文完整性校验不通过时,测试报告包含此信息;
[0060](2)报文类型查询模块存在错误:报文类型正确性校验不通过时,测试报告包含此信息;
[0061](3)其他字段生成模块存在错误:报文字段正确性校验不通过时,测试报告包含此信息,具体为:
[0062]①外部设备数据读取模块存在错误:外部输入数据字段(包括表示银行卡号、密码等需要通过外部I/o设备获取的数据的字段,外部I/O设备包括键盘/触摸屏、读卡器、点钞机等安装在ATM机上用于用户对ATM机进行操作的设备)的正确性校验不通过时,测试报告包含此信息,具体为:
[0063]读卡器数据读取模块存在错误:银行卡号字段正确性校验不通过时,测试报告包含此信息;同时还包括正确的银行卡号数据和步骤S102中生成报文中银行卡号字段的实际数据;
[0064]键盘/触摸屏数据读取模块存在错误:密码字段/转入账户卡号字段/取款金额字段/转账金额字段正确性校验不通过时,测试报告包含此信息:同时还包括正确的密码字段/转入账户卡号字段/取款金额字段/转账金额字段数据和步骤S102中生成报文中密码字段/转入账户卡号字段/取款金额字段/转账金额字段的实际数据;
[0065]点钞机数据读取模块存在错误:存款金额字段正确性校验不通过时,测试报告包含此信息;同时还包括正确的存款金额字段数据和步骤S102中生成报文中存款金额字段的实际数据;[0066]②日期数据获取模块存在错误:交易日期字段正确性校验不通过时,测试报告包含此信息;同时还包括正确的交易日期字段数据和步骤S102中生成报文中交易日期字段的实际数据;
[0067]③配置文件访问模块存在错误:对应预置配置文件中数据的字段正确性校验不通过时,测试报告包含此信息,同时还包括配置文件中对应字段的数据和步骤S102中生成报文中该字段的实际数据;
[0068](4) ATM机各模块正常:报文完整性校验、报文类型正确性校验和报文字段正确性校验都通过时,测试报告包含此信息。
[0069]若图1所示的步骤S103、步骤S105、步骤S107中的各项校验结果均为通过,则最终测试报告内容如图9所示。
[0070]以上,参照图1?图9流程图说明了本发明的ATM机软件系统自动测试方法及其具体实施例,但本发明不限于此,可以在本发明的主旨的范围之内进行各种改变。
[0071]例如,图1的流程图中的校验报文的完整性、报文类型的正确性及报文字段的正确性的顺序是可以根据需要进行改变的。而且,报文格式也不限于图2和说明书中举例说明的那样,可以根据需要来定义。
【权利要求】
1.一种ATM机软件系统自动测试方法,所述ATM机与银行主机相连接,来测试ATM机的软件系统,所述ATM机软件系统自动测试方法包括以下步骤: 报文格式定义步骤,对报文的格式进行定义,所述报文是所述ATM机和所述银行主机之间交换与传输的数据的单元,所述报文的格式包括与组成各类报文的各字段有关的信息及所述各字段的排列顺序; 报文接收步骤,所述银行主机从所述ATM机接收所述ATM机处理测试数据后生成的报文; 报文校验步骤,根据在所述报文格式定义步骤定义的报文的格式,校验在所述报文接收步骤中生成的报文的完整性、报文类型的正确性及报文字段的正确性;及 测试报告生成步骤,根据在所述报文校验步骤中进行校验的结果,生成测试报告。
2.如权利要求1所述的ATM机软件系统自动测试方法,其中, 所述银行主机是虚拟机。
3.如权利要求1或2所述的ATM机软件系统自动测试方法,其中, 在所述报文校验步骤中,对在所述报文接收步骤中生成的报文的实际长度和从在所述报文格式定义步骤中定义的报文的格式而得到的作为校验基准的报文长度进行比较,当所述报文的实际长度和所述作为校验基准的报文长度相同时,报文的完整性的校验为通过,当所述报文的实际长度和所述作为校验基准的报文长度不同时,报文的完整性的校验为不通过。
4.如权利要求1或2所述的ATM机软件系统自动测试方法,其中, 在所述报文校验步骤中,当在所述报文格式定义步骤中定义的报文的格式中所含的报文类型存在从在所述报文接收步骤中生成的报文中提取的报文类型时,报文类型的正确性的校验为通过,当在所述报文格式定义步骤中定义的报文的格式中所含的报文类型不存在从在所述报文接收步骤中生成的报文中提取的报文类型时,报文类型的正确性的校验为不通过。
5.如权利要求1或2所述的ATM机软件系统自动测试方法,其中, 在所述报文校验步骤中,对在所述报文接收步骤中生成的报文的各字段的数据和作为校验基准的各字段的数据进行比较,当所述报文的各字段的数据和所述作为校验基准的各字段的数据相同时,报文字段的正确性的校验为通过,当所述报文的各字段的数据和所述作为校验基准的各字段的数据不同时,报文字段的正确性的校验为不通过。
6.如权利要求1或2所述的ATM机软件系统自动测试方法,其中, 在所述报文格式定义步骤中定义的报文的格式,对于不同银行的银行主机而言是兼容的。
【文档编号】G06F11/36GK103514092SQ201210228902
【公开日】2014年1月15日 申请日期:2012年6月29日 优先权日:2012年6月29日
【发明者】王冠, 姜可 申请人:日立(中国)研究开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1