一种用于前置测试的方法、装置及系统的制作方法

文档序号:6666285阅读:206来源:国知局
专利名称:一种用于前置测试的方法、装置及系统的制作方法
技术领域
本发明涉及测试领域,特别是涉及前置系统的测试领域。
背景技术
在银行系统的数据集中完成后,业务系统可以分为三层主机、前置和、渠道(前端)。主机用于完成核心业务的数据处理;前置实现各类柜台渠道、外围系统与核心系统主机之间的数据交换和交易控制;前端实现人机互动的柜面操作。对前置的测试(包括单元测试、压力测试等),通常的做法是从真实的前端或渠道发起一笔交易,经由前置送到主机系统,并得到返回结果,这样整个测试过程将依赖多个环境,其涉及环节多,占用了前端和主机的软硬件资源;出现测试失败时,不好确定是否是前置的问题,测试结果分析不方便;环境配置复杂,完成一个即便很简单的测试,也需要多人参加协调工作,占用人力资源多;进行测试不方便。
对于前置的压力测试,也有一些现有压力测试工具可以采用,例如,Loadrunner等工具,但这种压力测试工具通过截取正常交易的报文作为测试报文,只能代替前端发起报文,测试过程还是要依赖于主机系统,测试过程中还是存在前述占用软硬件和人力资源、测试不方便的问题,而且,现有压力测试工具由于是采用重放截取的报文方式进行测试,因此不能产生新交易的报文,不能按照需要组织报文对新增功能进行测试,不能充分适应银行系统前置测试的要求。
可见,现有的对前置的测试方法存在占用其它系统软硬件资源、测试不方便、占用过多的人力资源以及不能组织新交易报文的问题。

发明内容
本发明所要解决的技术问题是提供一种用于前置测试的方法、装置及系统,以解决现有技术中存在的占用其它系统软硬件资源、测试不方便、占用过多的人力资源以及不能组织新交易报文的问题。
为了解决上述技术问题,本发明公开了一种用于前置测试的方法,包括A1、预置报文生成文件,所述报文生成文件用于生成前置交易报文;A2、根据所述报文生成文件生成前置交易报文;
A3、向所述前置发送所述前置交易报文;A4、接收所述前置返回前置应答报文;A5、保存执行日志。
优选的,在步骤A1之后,步骤A2之前,还包括,A21、进行环境检查,判断环境检查是否成功,若是,执行步骤A2,若否,执行步骤A5。
优选的,在步骤A4之后,步骤A5之前,还包括,A31、判断向所述前置发送的交易报文数量是否达到预设值,若是,执行步骤A5,若否,执行步骤A2。
优选的,在步骤A3之后,步骤A4之前,还包括,A41、接收所述前置向主机发出的主机交易报文,向所述前置返回预设的主机应答报文。
优选的,所述报文生成文件是交易描述文件或者交易模板文件。
本发明还提供了一种用于前置测试的装置,包括预置单元,用于预置报文生成文件,所述报文生成文件用于生成前置交易报文;生成单元,用于根据报文生成文件生成前置交易报文;发送单元,用于向所述前置发送所述前置交易报文;接收单元,用于接收所述前置返回前置应答报文;日志单元,用于保存保存执行日志。
优选的,还包括,环境检查单元,用于进行环境检查,并判断环境检查是否成功,若是,调用生成单元,若否,调用日志单元。
优选的,还包括,报文数量判断单元,用于判断向所述前置发送的前置交易报文数量是否达到预设值,若是,调用日志单元,若否,调用生成单元。
优选的,还包括,主机仿真单元,用于接收所述前置向主机发出的主机交易报文,向前置返回预设的主机应答报文。
本发明还提供了一种用于前置测试的系统,包括主机仿真装置,用于接收所述前置向主机发出的主机交易报文,向所述前置返回预设的主机应答报文;前端仿真装置,包括预置单元,用于预置报文生成文件,所述报文生成文件用于生成前置交易报文;生成单元,用于根据报文生成文件生成前置交易报文;发送单元,用于向所述前置发送所述前置交易报文;接收单元,用于接收所述前置返回前置应答报文;日志单元,用于保存保存执行日志信息。
与现有技术相比,本发明具有以下优点1、本发明采用预置的报文生成文件生成前置交易报文,不需要由前端发起前置交易报文,可以代替前端对前置进行测试,测试过程不占用前端的软硬件及人力资源。
2、采用由报文生成文件生成前置交易报文,只需要给出报文生成文件即可得到测试用的前置交易报文,便于组织前置交易报文;对于新的交易功能的测试,只需要给出新交易功能的报文生成文件就可以生成新交易功能的前置交易报文,便于对新功能进行测试。
3、可以接收前置发送给主机的主机交易报文,使用预设的主机应答报文,代替主机发送给前置,测试过程不占用主机软硬件及人力资源。
4、可以生成多条前置交易报文循环发送给前置,并记录每笔交易的执行结果,从而支持对前置进行压力测试。


图1是本发明的方法实施例1流程图;图2是本发明的方法实施例2流程图;图3是本发明的方法实施例3流程图;图4是本发明的装置实施例框图;图5是本发明的系统实施例框图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
参见图1,是本发明的方法实施例1流程图,包括步骤101,预置报文生成文件,所述报文生成文件用于生成前置交易报文。
对于现有压力测试工具,测试用的交易报文一般是截取正常交易时传递的前置交易报文,并保存起来,进行测试时重放前置交易报文,但这种方法不能组织生成新报文,无法测试新的交易,本发明预置报文生成文件,所述报文生成文件描述了组织前置交易报文所需的信息(如交易码、帐号等要素及其数值),可以用于生成测试用交易报文,在组织报文过程中,可能还需要运行环境中其它文件的支持(如交易数据文件或者字典文件等),当需要测试不同交易时,只需要给出新的报文生成文件,即可以得到新的前置交易报文,可以方便的组织前置交易报文,采用这种方式不需要从真实的交易系统中截取前置交易报文。所述报文描述文件可以由用户编写形成,可以保存为测试案例,并可以复用,便于进行回归测试。
步骤102,根据所述报文生成文件生成前置交易报文。
根据所述的报文生成文件中的信息生成前置交易报文,所述前置交易报文可以直接发送给前置。
步骤103,向前置发送前置交易报文。
可以通过调用前置的API接口,按指定通讯配置向把前置交易报文发送给前置,由前置经过处理后形成主机交易报文发送给主机,主机执行后,返回主机应答报文给前置,前置处理后形成前置应答报文,发送给前置交易报文的发送者。
步骤104,接收前置返回的前置应答报文。
前置应答报文中包括了此笔交易的执行结果,如是否执行成功和结果数据等。
步骤105,保存执行日志。
将返回前置应答报文保存在日志文件中供查阅,同时还可以在在标准输出设备上输出交易成功/失败及指定的报文中的字段信息(如余额等),方便测试人员查看执行结果。
优选的,还包括,进行环境检查,判断环境检查是否成功,若是,执行步骤102,若否,执行步骤105。
进行测试时,系统需要对相关运行环境进行检查,例如寻找全局数据字典文件(TRADE_DICT_EXT、TRADE_DICT_IN)等并进行字典文件的加载,或者是其它的运行环境配置参数,如果这些环境要求不能满足,则认为环境没有配置正确,不能正确执行测试,在日志文件中记录错误信息并结束测试。全局数据字典是一种类ini格式的文件,每一节描述一个报文字段的定义,如类型、长度、精度等,可以用于辅助生成前置交易报文,该文件中对将要发起的交易报文中所有要素进行定义。
在实际交易处理中,对于前置交易报文的安全有一定的要求,还会进行安全环境的检查,安全环境是以通讯节点为单位的,两节点间可以进行密钥同步(有主从之分,通常是前置节点作为服务节点,提供密钥同步服务),保证各节点得到当前的密钥。所以发送报文时通常还需要对安全环境进行检查,并附接共享内存,以获得更多的安全信息参数。安全环境未配置、未初始化或者配置错误等都可导致本步骤失败,系统将进行日志记录供排错用。
优选的,还包括,判断向前置发送的前置交易报文数量是否达到预设值,若是,执行步骤105,若否,执行步骤102。
测试时,可以只进行一次交易的测试,也可以测试多次,支持压力测试。压力测试时可以由交易生成文件重复生成多个前置交易报文,按照某种时间间隔连续发送给前置,以测试前置在高频率的报文压力下的性能情况,测试时可以采用单线程进行,也可以采用多线程并行发送报文,以更好的模拟实际使用的环境。
优选的,还包括,接收前置向主机发出的主机交易报文,向前置返回预设的主机应答报文。
在实际的业务系统中,前置接收交易报文后,经过处理,向主机发送输出报文,由主机处理后,再向前置返回报文。本发明还可以代替主机接收前置发送给主机的主机交易报文,并从预先截取的报文中选择,把需要的报文作为主机应答报文发送给前置,从而代替主机进行前置的测试,避免了测试过程中占用主机系统资源的问题,也使测试所涉及的环境单一化,便于对测试结果的判断。
优选的,所述报文生成文件是交易描述文件或者交易模板文件。
对于功能测试,报文生成文件可以是交易描述文件,其中描述了交易报文中所需要的信息;也可以是交易模板文件,用于配合预置的数据文件生成多笔交易进行压力测试。
参见图2,是本发明的方法实施例2流程图,是进行前置的功能测试的实例,具体包括步骤201,预置交易描述文件。
交易描述文件如下所示INM_MSG_TYPE,0200,#消息类型INM_SVR_TYPE,SA0,#服务类型INM_PROCESS_CODE,110300,#交易码INM_CHANNEL_ID,060300,#渠道号INM_ORG_NODE_ID,3100000011,#节点号INM_ORG_BRANCH_ID,310280000,#机构号INM_ORG_TERM_TYP,U,#终端号......
CURR_COD,01,#币别......
由交易描述文件配合数据字典可以生成前置交易报文。
步骤202,检查运行环境。
执行时,系统需要对相关环境进行检查,如全局数据字典(TRADE_DICT_EXT、TRADE_DICT_IN)等并进行字典的加载,如果这些环境不能满足,则认为环境没有配置正确,不能正确执行。还需要对安全环境进行检查,以获得正确的安全信息,所述安全信息可以用于对报文或者报文中的特殊字段进行加密处理。
步骤203,判断环境检查是否成功,若是,执行步骤204,若否,执行步骤207。
如果运行环境检查失败,则认为运行环境没有配置正确,不能正确执行测试,在日志中记录本次测试的结果,结束测试;若运行环境检查成功,继续执行测试过程。
步骤204,生成前置交易报文。
根据步骤201中预置的交易描述文件,按照前置的报文格式生成前置交易报文。生成交易报文过程也可以利用前置提供的相关API接口来进行。
步骤205,发送前置交易报文。
完成后,将利用前置提供的通讯API接口,根据本地的通讯配置,向指定的前置发送前置交易报文。前置收到后,经过处理后形成主机交易报文,并发送给主机,主机进行交易处理后,生成主机应答报文,发送给前置,前置经过处理后,生成前置应答报文,发送给前置交易报文的发送者。
步骤206,接收前置返回的前置应答报文。
根据前置应答报文提取出需要保存或者显示的数据。
步骤207,记录测试结果日志。
日志中可以包含前置通讯接口的返回结果、接收到结果报文、出错信息等信息。
作为对本实施例的一个扩展,前置交易报文的生成也可以采用截取实际交易系统的真实交易的报文并重放的方式。
参见图3,是本发明的方法实施例3流程图,是对前置进行压力测试的实施例,在下面的描述中,和实施例2中重复的步骤不再赘述,实施例3具体包括步骤301,预置交易模板文件和数据文件。
交易模板文件用户生成交易报文,并可以根据数据文件生成多个前置交易报文,便于对前置进行压力测试。
交易模板文件举例如下系统参数文件system.ini#系统参数文件,名称不可改变#放置于环境变量LOADDIR之下文件内容格式[SYSTEM]#系统参数区
FRONTID=000000000x #前置标识号,x为1-9的任何数字ACENODEID=?????????? #前端标识号,?为1-9的任何数字FMTDIR=value#数据格式所在最后一级目录名包括最后的/DATDIR=value#数据文件所在最后一级目录名包括最后的/LOGDIR=value#日志文件所在最后一级目录名包括最后的/LOGFILE=value #日志文件名称TXFILENAME=value#定义交易属性文件的文件名,不包含路径SERVICEGTN=value#穿透交易服务名SERVICENGT=value#非穿透NORMAL交易服务名SERVICEMIMO=value#非穿透MIMO交易服务名EBCDIC=va1ue #EBCDIC转码标志TIMEUNIT_D=value#明细统计时间单位value为表示微秒的倍数TIMEUNIT_S=value#汇总统计时间单位va1ue为表示微秒的倍数TPCONSTANT=value#TUXEDO连接方式#0短连接(默认)#1长连接[COMMON]#公共参数区DEFCONVNUM=value#默认交易会话次数#有效值为数字DEFCONVSTEP=value#默认交易会话步骤#有效值为数字DEFALIGN=L|R #默认对齐方式#该属性可用的取值及含义如下#L左对齐(默认)
#R右对齐DEFFILLCHAR=value #默认填充字符#该属性应设置十进制表示的字符的ASCII码。
#默认值为空格(区别码制)DEFPARAFLAG=value #默认交易报文参数化处理标志#1 需要参数化#0 无需参数化(默认)[TELLID] #柜员号参数区CHGTELLER=value#柜员轮换标志#1轮换#0不轮换TELLID_x=value #柜员号#其中的x为柜员的序号,有效值为自然数。
步骤302,检查运行环境。
步骤303,判断环境检查是否成功,若是,执行步骤304,若否,执行步骤309,记录错误信息。
步骤304,生成前置交易报文。
根据交易模板文件和数据文件生成前置交易报文。
步骤305,调用前置接口发送前置交易报文。
发送报文后,可以暂停预定的时间间隔。
步骤306,接收前置发送给主机的主机交易报文,根据接收到的报文,从预置的报文中选出一个作为主机应答报文,代替主机发送给前置。本步骤在对业务数据真实性要求不高时可以完全替代真实主机进行报文的处理。
本步骤中发送给前置的报文可以截取自实际系统中主机对于某指定交易的主机应答报文。在本步骤中,该条主机应答报文对于指定交易的返回数据是固定的,并不会因为交易数据的变化而产生变化,故一般只做为压力测试的工具使用。
步骤307,接收前置返回的前置应答报文,记录本次交易的执行结果。
可以从调用的前置API接口的返回参数中判断交易的执行情况,若成功,可以接收到结果报文,若失败,可以接收到错误信息。
步骤308,判断发送给前置的交易报文是否达到预设的数量,若达到,执行步骤309,若否,执行步骤304,生成下一个交易报文,并重复生成前置交易报文。
步骤309,记录测试日志。
测试执行完毕后,该进程将本进程所执行的交易数目、成功/失败数、最大/最小耗时、平均耗时、实际并发能力等信息进行记录,测试人员可以通过查看记录日志统计压力测试情况。
参见图4,是本发明的装置实施例框图,包括预置单元401,用于预置报文生成文件,所述报文生成文件用于生成前置交易报文;生成单元402,用于根据报文生成文件生成前置交易报文;发送单元403,用于向前置发送前置交易报文;接收单元404,用于接收前置返回前置应答报文;日志单元405,用于保存执行日志。
预置单元401预置报文生成文件,生成单元402根据所述报文生成文件生成前置交易报文,由发送单元403调用前置的接口发送给前置,前置处理后返回前置应答报文,由接收单元404接收,日志单元405保存当前的执行日志。
优选的,还包括,环境检查单元406,用于进行环境检查,并判断环境检查是否成功,若是,调用生成单元,若否,调用日志单元。
进行测试时,系统需要对相关运行环境进行检查,如果环境要求不能满足,则认为环境没有配置正确,不能正确执行测试,在日志文件中记录错误信息并结束测试。
在实际交易处理中,对于前置交易报文的安全有一定的要求,所以发送报文时通常还需要对安全环境进行检查,并连接共享内存,以获得更多的安全信息参数。安全环境未配置、未初始化或者配置错误等都可导致本步骤失败,系统将进行日志记录供排错用。
优选的,还包括,报文数量判断单元407,用于判断向前置发送的前置交易报文数量是否达到预设值,若是,调用日志单元,若否,调用生成单元。
测试时,可以只进行一次交易的测试,也可以测试多次,支持压力测试。压力测试时可以有交易生成文件重复生成多个前置交易报文,按照某种时间间隔连续发送给前置,以测试前置在高频率的报文压力下的性能情况,测试时可以采用单线程进行,也可以采用多线程并行发送报文,以更好的模拟实际使用的环境。
优选的,还包括,主机仿真单元408,用于接收前置向主机发出的主机交易报文,向前置返回预设的主机应答报文。
主机仿真单元408可以代替主机接收前置发送给主机的主机交易报文,并从预先截取的报文中选择,把需要的报文作为主机应答报文发送给前置,从而代替主机进行前置的测试。
主机仿真单元408还可以自由配置每笔交易的响应间隔时间,调整最大随机间隔时间及随机交易笔数,还可以进行响应包及响应包描述文件的互转,可以从网关日志及前置流水中获取响应包。
主机仿真单元408还可以包括帐表文件生成器。帐表生成器将主要依据提供现有系统产生实际报表,并根据实际使用者的机构列表生成新的报表文件。
主机仿真单元408可以提供普通TCP/IP(网络协议集)协议通讯版本及TUXEDO(一种中间件)通讯中间件版本。
主机仿真单元408系统同时提供配套的交易数据显示、修改工具,以及监控、管理工具、配置生成等工具。既可以截取真实交易系统中的主机交易报文数据包,也提供手工配置交易的主机应答报文的方法。
参见图5,是本发明的系统实施例框图,包括主机仿真装置501,用于接收前置向主机发出的主机交易报文,向前置返回预设的主机应答报文。
前端仿真装置502,包括
预置单元5021,用于预置报文生成文件,所述报文生成文件用于生成前置交易报文;生成单元5022,用于根据报文生成文件生成前置交易报文;发送单元5023,用于向前置发送前置交易报文;接收单元5024,用于接收前置返回前置应答报文;日志单元5025,用于保存保存执行日志信息。
前置503,用于实现前端、主机之间的数据交换和交易控制。
在本实施例中,前置503被测试的系统,分别采用主机仿真装置501和前端仿真装置502代替真实前端和主机,前置503用于接收前端仿真装置502产生的前置交易报文,处理后,生成主机交易报文并发送给主机仿真装置501,主机仿真装置501接收到主机交易报文后,选择预设的报文作为主机应答报文发送给前置503,经过处理后,生成前置应答报文并发送给前端仿真装置502。
在本实施例中,前端仿真装置502与主机仿真装置501可以同时使用,也可以分别使用。前端仿真装置502与主机仿真装置501共同使用可以对前置进行压力测试。
以上对本发明所提供的一种用于前置测试的方法、装置及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种用于前置测试的方法,其特征在于,包括A1、预置报文生成文件,所述报文生成文件用于生成前置交易报文;A2、根据所述报文生成文件生成前置交易报文;A3、向所述前置发送所述前置交易报文;A4、接收所述前置返回前置应答报文;A5、保存执行日志。
2.根据权利要求1所述的方法,其特征在于,在步骤A1之后,步骤A2之前,还包括,A21、进行环境检查,判断环境检查是否成功,若是,执行步骤A2,若否,执行步骤A5。
3.根据权利要求2所述的方法,其特征在于,在步骤A4之后,步骤A5之前,还包括,A31、判断向所述前置发送的交易报文数量是否达到预设值,若是,执行步骤A5,若否,执行步骤A2。
4.根据权利要求3所述的方法,其特征在于,在步骤A3之后,步骤A4之前,还包括,A41、接收所述前置向主机发出的主机交易报文,向所述前置返回预设的主机应答报文。
5.根据权利要求1、2、3或4所述的方法,其特征在于,所述报文生成文件是交易描述文件或者交易模板文件。
6.一种用于前置测试的装置,其特征在于,包括预置单元,用于预置报文生成文件,所述报文生成文件用于生成前置交易报文;生成单元,用于根据报文生成文件生成前置交易报文;发送单元,用于向所述前置发送所述前置交易报文;接收单元,用于接收所述前置返回前置应答报文;日志单元,用于保存保存执行日志。
7.根据权利要求6所述的装置,其特征在于,还包括,环境检查单元,用于进行环境检查,并判断环境检查是否成功,若是,调用生成单元,若否,调用日志单元。
8.根据权利要求7所述的装置,其特征在于,还包括,报文数量判断单元,用于判断向所述前置发送的前置交易报文数量是否达到预设值,若是,调用日志单元,若否,调用生成单元。
9.根据权利要求6、7或8所述的装置,其特征在于,还包括,主机仿真单元,用于接收所述前置向主机发出的主机交易报文,向前置返回预设的主机应答报文。
10.一种用于前置测试的系统,其特征在于,包括,主机仿真装置,用于接收所述前置向主机发出的主机交易报文,向所述前置返回预设的主机应答报文;前端仿真装置,包括预置单元,用于预置报文生成文件,所述报文生成文件用于生成前置交易报文;生成单元,用于根据报文生成文件生成前置交易报文;发送单元,用于向所述前置发送所述前置交易报文;接收单元,用于接收所述前置返回前置应答报文;日志单元,用于保存保存执行日志信息。
全文摘要
本发明公开了一种用于前置测试的方法、装置及系统,其中所述方法包括下列步骤预置报文生成文件,所述报文生成文件用于生成前置交易报文;根据所述报文生成文件生成前置交易报文;向所述前置发送所述前置交易报文;接收所述前置返回前置应答报文;保存执行日志。本发明可以代替前端对前置进行测试,测试过程不占用前端的软硬件及人力资源,便于组织前置交易报文,便于对新功能进行测试,支持对前置进行压力测试,可以不占用主机资源。
文档编号G07F19/00GK1996374SQ20061017322
公开日2007年7月11日 申请日期2006年12月30日 优先权日2006年12月30日
发明者林志农, 肖鲁川, 王迎春, 郑炜杰, 杨芬, 吴炜斯 申请人:中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1