本说明书实施例涉及程序测试领域,特别地,涉及一种用于主机的程序测试方法、装置、设备、存储介质和产品。
背景技术:
1、主机(mainframe)是国际商业机器公司(以下简称ibm公司)研发的大型计算机,它使用专用的硬件设备以及系统软件,具有高稳定性和安全性的特点。主机(mainframe)不仅仅是一个硬件上的概念,它是硬件和专属软件的一个有机整体,是一套密不可分的封闭系统,大型机使用专门为其量身定做的专用软件包括操作系统,编译系统以及其它系统软件以及上层应用软件,这种封闭系统在为大型机系统带来了高可靠性和安全性。
2、现有技术中主机程序测试时需要编译打包部署到环境当中,通过连接主机网关连接主机进行测试。主机程序测试以手工测试为主,测试案例的数据准备、结果核对需从数据库查找相应的记录进行再加工,或者手工新增记录。测试人员在测试时需要人工跟进执行结果,测试数据不可以复用。
3、因此,现在亟需一种用于主机的程序测试方法,能够实现测试数据复用和批量自动化测试执行。
技术实现思路
1、本说明书实施例的目的在于提供一种用于主机的程序测试方法、装置、设备、存储介质和产品,涉及程序测试领域,可用于金融领域,也可用于金融领域以外的任意领域,以实现测试数据复用和批量自动化测试执行。
2、为达到上述目的,一方面,本说明书实施例提供了一种用于主机的程序测试方法,包括:
3、根据主机对于测试程序所定义的输入变量和输出变量及其属性,生成java程序;
4、利用所述java程序生成上送报文,将所述上送报文上送至主机;
5、所述主机根据测试需求,基于所述上送报文整合得到下送报文;
6、接收所述主机的下发的下送报文,利用所述java程序解析所述下送报文;
7、对解析后的所述下送报文进行断言验证,确定主机是否存在异常。
8、优选的,所述根据主机对于测试程序所定义的输入变量和输出变量及其属性,生成java程序进一步包括:
9、根据主机对于测试程序所定义的输入变量组和输出变量组,对应生成输入内部类和输出内部类,其中所述输入内部类和输出内部类中的字段分别与所述输入变量组和输出变量组中的变量一一对应;
10、根据所述输入变量组和输出变量组中变量的属性,设置所述输入内部类和输出内部类中字段的属性;
11、根据测试需求对所述输入内部类中的字段赋值,生成java程序。
12、优选的,所述根据测试需求对所述输入内部类中的字段赋值进一步包括:
13、通过访问所述输入内部类中字段的名称对所述输入内部类中的字段赋值;或
14、利用反射机制设置一定数目的值,根据所述反射机制设置的值对所述输入内部类中的字段赋值;
15、若所设置的值的数目大于所述字段的数目,则忽略多余的值;
16、若所设置的值的数目小于所述字段的数目,则未被赋值的字段保持初始值。
17、优选的,所述利用所述java程序生成上送报文进一步包括:
18、将所述输入内部类中的字段按照设定格式进行组合,形成上送数组;
19、将所述上送数组转化为报文格式并拼接报文头,形成上送报文。
20、优选的,所述输入内部类和输出内部类中字段的属性包括:上下送类型、字段长度、字段类型、字段所属内部类、字段名称和与其他字段的从属关系。
21、优选的,所述利用所述java程序解析所述下送报文进一步包括:
22、将所述下送报文进行格式转化,得到下送数组;
23、将所述下送数组按照所述输出内部类中的字段进行拆分,得到多个字段值。
24、优选的,还包括:
25、java程序在主机中的运行环境以java配置文件中环境属性值作为初始值;
26、根据java工具包中环境属性值、java配置文件中环境属性值、用户配置文件中环境属性值和系统变量中环境属性值由低到高的优先级,调整所述java程序的运行环境。
27、另一方面,本说明书实施例提供了一种用于主机的程序测试装置,所述装置包括:
28、生成模块,用于根据主机对于测试程序所定义的输入变量和输出变量及其属性,生成java程序;
29、上送模块,用于利用所述java程序生成上送报文,将所述上送报文上送至主机;
30、整合模块,用于所述主机根据测试需求,基于所述上送报文整合得到下送报文;
31、解析模块,用于接收所述主机的下发的下送报文,利用所述java程序解析所述下送报文;
32、验证模块,用于对解析后的所述下送报文进行断言验证,确定主机是否存在异常。
33、又一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行根据上述任意一项所述方法的指令。
34、又一方面,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行根据上述任意一项所述方法的指令。
35、又一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机设备的处理器运行时,执行上述任意一项所述方法的指令。
36、在本说明书实施例中,通过java程序生成上送报文,将上送报文上送主机后,主机基于上述报文整合得到下送报文,然后利用java程序解析下送报文后进行断言验证,确定主机是否存在异常。比起现有技术中手工测试的方法。本申请的方法能够进行批量自动化执行且用于进行测试的上送报文可以进行复用。
37、为让本说明书的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
1.一种用于主机的程序测试方法,其特征在于,包括:
2.根据权利要求1所述的用于主机的程序测试方法,其特征在于,所述根据主机对于测试程序所定义的输入变量和输出变量及其属性,生成java程序进一步包括:
3.根据权利要求2所述的用于主机的程序测试方法,其特征在于,所述根据测试需求对所述输入内部类中的字段赋值进一步包括:
4.根据权利要求2所述的用于主机的程序测试方法,其特征在于,所述利用所述java程序生成上送报文进一步包括:
5.根据权利要求2所述的用于主机的程序测试方法,其特征在于,所述输入内部类和输出内部类中字段的属性包括:上下送类型、字段长度、字段类型、字段所属内部类、字段名称和与其他字段的从属关系。
6.根据权利要求2所述的用于主机的程序测试方法,其特征在于,所述利用所述java程序解析所述下送报文进一步包括:
7.根据权利要求1所述的用于主机的程序测试方法,其特征在于,还包括:
8.一种用于主机的程序测试装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-7任意一项所述方法的指令。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-7任意一项所述方法的指令。
11.一种计算机程序产品,其特征在于,所述计算机程序产品被计算机设备的处理器运行时,执行根据权利要求1-7任意一项所述方法的指令。