多终端模式的脚本装置的制作方法

文档序号:7933038阅读:208来源:国知局

专利名称::多终端模式的脚本装置的制作方法
技术领域
:本实用新型涉及网络通信领域,尤其涉及一种基于多种终端模式的脚本装置。
背景技术
:功能自动化测试工具基本上都是采取录制/回放的方式来模拟用户实际操作的。当录制脚本时,测试工具会用一种类c或者其他脚本语言(TSL:TestScriptLanguage)生成一个测试脚本,该脚本记录了测试操作的全过程,然后由测试工具通过回放该脚本实现自动重复之前操作的过程。中国专利公开说明书CN1859180A公开了一种实现网络终端设备配置自动更新的系统,如图1所示。网络终端设备200通过FTP或HTTP与升级服务器100相连,升级策略脚本生成器101采用常用的脚本语言JavaScript编写升级策略脚本,目标程序库102存储网络终端设备200进行软件升级或配置信息更新需要的目标程序。其中,脚本解释器201根据JavaS^ipt的语法对脚本进行解释执行,遇到升级策略脚本中自定义的JavaScript函数时,再由脚本解释器201根据自定义的函数命调用待升级程序202的接口函数,并将相应的参数下发给待升级程序202的接口函数。接口函数完成相应的操作后,脚本解释器201再根据接口函数的返回值来解释执行后续的升级策略脚本。从中可以看出目前的自动化测试工具有以下两个主要特点其一,针对不同类型的应用程序界面使用不同的指令集脚本语言。哪3怕对于同一目的的测试,如果应用程序在各种终端的展现模式不同(如字符终端、图形终端等),指令集脚本语言就不同。测试过程中,要求针对不同类型终端分别录制/回放脚本,并分别进行脚本的维护。由此,不但增加了脚本管理的成本,由于需要反复修改脚本,相应也降低了测试的效率。其二,商业化的测试工具在录制过程中,实际上是将每一个操作步骤分解为多行脚本语言的程序语句,测试人员要掌握测试工具,必须要具备一定的计算机基础编程语言知识、了解编程原理和技巧才能较好地编辑测试脚本,从而进一步利用测试工具开展软件测试。由此,提高了自动化测试技术的入门门槛,更束约了自动化测试工具在软件测试中的推广应用。
发明内容本实用新型的目的是提供一种基于多终端模式的脚本装置,以克服现有脚本技术中存在的对终端类型依赖强,指令集脚本语言复杂,可移植、扩展性差的缺陷。为了实现上述目的,本实用新型提供一种基于多终端模式的脚本装置,与基本业务终端进行通讯,其特征在于该脚本装置包括主控装置、宏指令解释装置、脚本翻译装置以及数据存储装置;所述主控装置分别与所述宏指令解释装置、所述脚本翻译装置和数据存储装置相连接;所述脚本翻译装置通过所述主控装置从所述数据存储装置获取指令集脚本并将脚本指令逐条解析翻译为宏指令或基本业务终端的操作;所述宏指令解释装置通过所述主控装置与所述基本业务终端进行通讯,将所述脚本翻译装置产生的宏指令还原为适应于所述基本业务终端的终端模式的操作。本实用新型的基于多终端模式的脚本装置还包括脚本录制装置,该脚本录制装置与所述主控装置相连接,所述脚本录制装置通过所述主控装置与所述基本业务终端进行通讯按统一指令集生成脚本,所生成的脚本被保4存在数据存储装置中。本实用新型的基于多终端模式的脚本装置还包括脚本编写修改装置,该脚本编写修改装置与所述主控装置相连接,通过所述脚本编写修改装置所述生成脚本修改,或直接编写脚本。其中,对所述脚本的修改包括加入自定义脚本。所述脚本录制装置接收所述基本业务终端的信息,监视所述基本业务终端的输入和输出操作,以及与生成脚本有关的实时状态信息。所述脚本翻译装置包括基本脚本指令翻译模块,所述基本脚本指令翻译模块将基本脚本翻译成与各种不同终端模式交互的宏指令集。所述脚本翻译装置还包括自定义脚本指令翻译模块,所述自定义脚本指令翻译装置对自定义脚本指令进行解析,以获得要调用翻译模块的名称以及输入输出参数值。本实用新型的脚本装置可将应用于不同类型终端模式的应用程序界面操作,:通过脚本录制模块转化为直观、简便、灵活、扩展性强的指令集脚本语*。在自动化测试过程中,只需通过一个统一的指令集脚本,即可实现在多种不同类型终端模式的应用程序界面回放。既不需要测试人员关心任何与终端界面相关的脚本技术,也不需要掌握计算机基础编程语言,大大降低了测试人员对脚本技术的要求。除此之外,这种方式还降低了脚本管理维护的成本,只需维护一个脚本,即可适用于各种不同类型的终端模式。另外,通过灵活的自定义指令方式,还可增加该装置的可扩展性,如外挂DB2客户端、虚拟外设应用、本地化数据采集等,不断丰富完善测试终端的各种功能,从而使测试人员可以将节省的时间更专注地应用于测试方案、计划的规划和测试案例的设计当中。综上所述,本实用新型的效果与优点如下同一套脚本可适应于不同终端模式的应用程序界面,如'字符终端、图形终端等,用户在设计完测试案例后,只需维护一套脚本即可实现在各种终端模式上的测试。通过定义指令集脚本语言,避免了用户直接操纵计算机编程语言。统一指令集脚本语言通过对用户常用操作进行整合处理,在用户功能不受影响、脚本灵活性不受影响的前提下,极大简化、直观和扩展了商业化测试工具的指令集脚本语言。通过自定义脚本指令集,使脚本可以轻松地与外部应用程序互联,增加了脚本的灵活性和可扩展性,也使脚本可轻而易举地满足各种特殊的业务测试需求。指令集脚本将输入项名称、操作动作和输入项数值归入同一条指令当中,使用户在输入时即可知道当前输入项与输入值之间的对应关系,有利于拓展成用表格的方式定义测试案例,从而为由测试案例直接转换成测试脚本开拓了一条新的测试方式。图1是现有技术的网络结构示意图。图2是根据本实用新型实施方式的自动化测试系统的网络结构示意图。、图3是根据本实用新型实施方式的基于多终端模式的脚本装置的结构示意图。图4是根据本实用新型实施方式的脚本翻译装置的结构示意图。图5是根据本实用新型实施方式的基于多终端模式脚本装置的处理方法的脚本录制流程图。图6是根据本实用新型实施方式的基于多终端模式脚本装置的处理方法的脚本回放流程图。具体实施方式为使本实用新型的目的、技术方案和优点更加清晰易懂,下面结合附图,对本实用新型做进一步详细说明。在此,本实用新型的示意性实施例及其说明用于解释本实用新型,但并不作为对本实用新型的限定。请参照图2,图2是根据本实用新型实施方式的自动化测试系统的网络结构示意图。如图2所示,根据由本实用新型实施方式的自动化测试系统包括脚本装置1、基本业务终端2、业务服务器端3、数据库存储装置4以及内部广域网5组成。脚本装置1和基本业务终端2可通过内部广域网5与业务服务器端3以及数据库存储装置4连接。基本业务终端2可以是字符界面终端或图形界面终端等各种模式的终端,是一个可以完成业务系统基本功能的终端前置、设备或工具。它不包含任何自动化测试的特征,业务人员可以在不依赖其它装置的情况下,使用基本业务终端2完成纯手工的业务测试。脚本装置1连接到基本业务终端2,其功能一方面,是在基本业务终端2正常测试交易的时候,进行指令集脚本的录制工作,并将录制的指令集脚本放到数据库存储装置4上,供本模式的基本业务终端或广域网上其他模式的基本业务终端使用,也可以将指令集脚本存放到基本业务终端本地,只供本地的基本业务终端使用;另一方面,脚本装置1通过回放之前录制的该指令集脚本,控制基本业务终端2的操作,从而开展自动化测试。此外,脚本装置1还可以对脚本进行修改或者直接编写新脚本。'业务服务器端3是业务系统的服务器端,可以是LINUX、UNIX、SOLARIS等各种操作系统的服务器平台,其功能是在接收业务数据包后,进行业务逻辑解析和业务处理,并反馈业务处理结果信息。它不包含任何自动化测试的特征,只是基本业务终端2的后台业务服务器。数据库存储装置4,保存脚本装置1录制生成的指令集脚本,对应存放在数据结构表l脚本表、表2脚本内容表中,其数据结构和说明如下表l、脚本表<table>tableseeoriginaldocumentpage8</column></row><table>表2、脚本内容表:<table>tableseeoriginaldocumentpage8</column></row><table>内部广域网5通常是指企业内部的广域网。其功能是用于连接基本业务终端2、业务服务器端3和数据库存储装置4。请参考图3,图3是根据本实用新型实施方式的基于多终端模式的脚本装置的结构示意图。邻图3所示,本实用新型的基于多终端模式的脚本装置1包括主控装置11、脚本录制装置12、宏指令解释装置14,脚本翻译装置13、数据存储装置15以及脚本修改编写装置16。主控装置11负责整个脚本装置和外部装置的通讯和脚本装置内部之间各模块的协调与联动。脚本录制装置12通过主控装置11与基本业务终端2进行通讯,实现的主要功能是第一,监视基本业务终端2的所有输入和输出操作,以及各种与生成脚本有关的实时状态信息;第二,过滤有效用户的输入输出,并按统一指令集生成脚本。生成的脚本将被保存在或数据存储装置15(本地存储)或系统的数据库存储装置4中。脚本翻译装置13是的主要功能是从数据存储装置15中或数据库存储装置4中获取具体的指令集脚本,将其中的脚本指令行逐条解析、翻译为具体的宏指令或对基本业务终端2的其他操作。宏指令解释装置14通过主控装置11与基本业务终端2进行通讯,实现的主要功能是将脚本翻译装置13产生的宏指令,还原为适应于具体某种终端模式的基本业务终端2的操作。由上可见,脚本翻译装置13和宏指令解释装置14共同实现了同一套脚本对不同模式基本业务终端2的解析功能,而这两部分采用分离设计则大大降低了基本业务终端2和指令集脚本之间的耦合度,一方面使添加不同类型的基本业务终端2处理时更加简单,另一方面也有利于进行指令集脚本的扩展。薮据存储装置15的功能是存储录制的基本脚本,及经过修改的指令集脚本,供基本业务终端2使用。脚本修改编写装置16的功能是对基本脚本进行修改,如加入自定义脚本,或者直接编写新的脚本。脚本装置1的基本工作原理可归结为如下两点-一、录制状态下,脚本录制装置12通过主控装置11监视基本业务终端2的输入输出操作,并根据柜员的操作情况生成指令集脚本,保存到数据存储装置15或数据库存储装置4中。二、回放状态下,主控装置11首先协调脚本翻译装置13从数据存储装置15(或数据库存储装置4)中获取指令集脚本,并翻译为宏指令,然后主控装置将此宏指令发向宏指令解释装置14进行解析,宏指令解释装置14根据脚本即将运行的终端模式,将宏指令翻译为适应于某一种终端模式的操作指令,通过主控装置11与基本业务终端2进行通讯,还原基本业务终端2中的具体操作,数据库存储装置4和数据存储装置15中的每个脚本由一组指令构成,描述测试的意图。具体的指令格式为-行号I指令名称I参数一i参数二〃指令注释其中,参数一通常表示指令的执行条件,参数二则表示指令的执行参数,如果有多个执行参数时,之间可用"—"隔开。例如,对如下的指令12i输入项l币种ll2〈E〉〃l.人民币(中)12.英镑13.港币(中)其脚本含义为如果当前的输入项名称是"币种"时,则在输入域键入内容"12〈E〉"。(此处的〈E〉是预先定义好的转义符号,即回车键Enter-)多条指令共同描述了脚本的执行意图,即"当终端界面遇到某种状态时,胸本需要对此做出何种响应动作"。此外,在录制生成基本脚本后,可以根据自动化测试的需要对该基本脚本进行修改,增加各种脚本指令行。脚本指令行又根据其是否是"自定义"指令,分为"自定义脚本指令"和"基本脚本指令"。自定义脚本指10令将在下面描述,基本脚本指令集如表3所示。表3、基本脚本指令集表<table>tableseeoriginaldocumentpage11</column></row><table>参照图4,图4是根据本实用新型实施方式的脚本翻译装置的结构示意图。如图4所示,本实用新型的脚本翻译装置13包括基本脚本指令翻译模块131和自定义脚本指令翻译主模块132。脚本翻译装置13是的主要功能是从数据存储装置15中或系统的数据库存储装置4中获取具体的指令集脚本,将其中的脚本指令行逐条解析、翻译为具体的宏指令或对基本业务终端2的其他操作。基本脚本指令翻译模块131将基本脚本翻译成与各种不同终端模式交互的宏指令集。宏指令如表4所示。表4、宏指令集表指令名称说明SETCONFIG设置自动化测试装置静态参数GETCONFIG获取自动化测试装置静态参数FINDFIEL歸LUE获取某个输入域的输入值FINDPRVALUE获取某个打印项的值GETCURRENTFIELD获取当前输入场名称GETCURRENTVALUE获取当前输入场的输入值GETCURRENTTYPE获取当前输入场的类型GETCURRENTINFOLINE获取当前的提示行,GE'CITEADDR获取连接的服务器地址GETCURRENTUSERID获取用户IDSENDINPUT发送用户键盘输入PW謂PUT发送密码键盘输入CARDI卿T卡磁道输入WAITTYPE等待某种类型的输入场出现12WAITFIELD等待某个输入场出现GETPOSTEXT获取屏幕上某个位置的文本信息WAITSERIALOPEN等待串口打开WAITSERIALWRITE等待串口写GETSERIA副FFER获取串口输出内容WAITIDLE等待自动化测试装置"闲状态"SAVESCREEN屏幕保存GETPA丽获取终端运行时参数SETPA廳设置终端运行时参数QUIT结束指令GETGRIDVALUE获取表格中X行Y列的值举例对上述的基本脚本指令-12l输入项l币种U2〈E〉〃1.人民币(中)12.英镑13.港币(中)经过基本脚本翻译模块131时,执行以下的流程-生成宏指令WAITFIELD.指令参数为"币种,输入项"通过主控装置11执行宏指令WAITFIELD如果执行成功,则生成宏指令SENDINPUT,指令参数为"12〈E〉"通过主控装置11执行宏指令SENDINPUT返回执行成功标志否则WAITFIELD无法等待到指定输入场出现,返回执行失败标志需要说明的是,对于基本脚本指令中"串口输入"和"串口输出",主要用于实现虚拟外设操作功能。下面以"串口输入"指令,举例说明如下].i串口输入j[密码输入]lnmi〈e〉当该脚本指令经过基本脚本翻译模块131时,执行以下的流程-生成宏指令waitserialopen,无参数通过主控装置11执行宏指令waitserialopen如果指令中的参数一为"[密码输入]"则生成宏指令pwdinput,参数"111111〈e〉"通过主控装置11执行宏指令pwdinput返回指令指令成功标志如果指令中的参数一为"[划卡输入]"则生成宏指令cardinput,参数"111111〈e〉"通过主控装置11执行宏指令ptoinput返回指令指令成功标志否则返回指令执行失败标志此时因为参数一等于"[密码输入]",所以按第一个条件判断中的流程执行,生成宏指令-pwdinputmm〈e〉在宏指令解释装置14处理该宏指令时,首先是通过主控装置11通知基本业务终端2等待业务服务器端3发送指令"onceinput"(首次输入密码)或AGAININPUT(再次输入密码),当任意一个模拟外设指令已被接收到时,则按照密码小键盘宏指令集的规则将明文密码"111111"拼装成该宏指令的返回数据"\x02111111\x03",再将该数据通过基本业务终端2返回到业务服务器端3,完成虚拟密码键盘的处理(指令onceinput和againinput请参看《一种外设模拟的系统及方法专利申请书》中的模拟密码小键盘宏指令集说明)。"串口输出"脚本指令的解析过程也类似,此处从略。为测试工具可方便调用外部程序或接口,具有良好的可扩展性和灵活性,更贴近实际业务测试的需求,在测试工具基于"基础脚本指令"已能进行脚本的录制/回放的基础上,又逐渐发展出"自定义脚本指令"。通过"自桌义"指令实现主机数据库客户端的数据交互、外部文件读写、业务流程处理等与外部数据源,及业务密切关联的指令。该"自定义"指令是通过专门的自定义脚本指令翻译主模块132进行解析的,在解析过程中,参数一指定被调用翻译模块的名称,参数二传递调用该翻译模块的调用参数(可以有多个参数,参数以符号作为结束标志),通过两者的结合控制基本业务终端2的行为。下面,结合如下两行脚本指令举例说明11自定义IProcessor—GetVoucher|pingzheng一—10—//21输入项I凭证号I{pingzheng}<E〉〃第一行指令行是一条自定义脚本指令,参数一表示调用自定义脚本翻译模块的名称是"Processor—GetVoucher",参数二表示该自定义脚本翻译模块有两个调用参数"pingzheng"和"10",调用属性在"Processor—GetVoucher"模块中定义。本例中第一行指令行是指获取一个"凭证种类=10"的凭证号,并将该凭证号放入"pingzheng"这个变量当中。第二行指令行是一个基本脚本指令,它表示在输入项名称是"凭证号"输入场位置输入第一行自定义指令获得的"pingzheng"这个变量值。其中,"Processor—GetVoucher"模块与具体业务处理相关,且不属于脚本装置范畴。除此之外,调用的自定义脚本翻译模块还可进行一些后台处理动作,此时在自定义指令翻译过程中可以不与自动化测试装置产生交互。如在执行脚本的前后对业务系统中的数据状态进行查询,以验证测试过程的有效性,也可以在脚本的最前和最后使用自定义指令-].l自定义iProcessor—DB2QueryISELECT*FROM…...一〃DB2查询自定义脚本指令翻译主模块132调用Processor—DB2Query完成翻译工作,而Processor_DB2Query的工作就是在某个数据库中执行指定的查询操作,并将结果保存到指定的地方。由上可见,使用"自定义"指令的方法,可以为脚本"外挂"各式各样的实用功能。请参照图5和图6,图5是根据本发明实施方式的基于多终端模式脚本装置的处理方法的脚本录制流程图。图6是根据本发明实施方式的基于多终端模式脚本装置的处理方法的脚本回放流程图。如图5所示,根据本发明的基于多终端模式脚本装置的指令集脚本的录制流程包括步骤501:在录制状态下,脚本录制装置12检测基本业务终端2上的柜员操作请求,步骤502,脚本录制装置12检测到柜员操作请求后,进行请求信息的识别,请求信息包括输入项请求,提示信息请求,按钮请求,表格操作请求,密码输入请求,打印输出请求,磁道输入请求,磁道输出请求等;步骤503,根据请求信息的识别结果,脚本录制装置12对终端的实时状态进行查询,如查询当前输入项的名称,已输入的值,提示行信息状态等等,获取生成基本脚本指令所需的参数,根据不同指令的生成要求,对终端实时状态查询的-内容也不完全一致;步骤504,对已获取的信息进行组装,生成符合要求的基本脚本指令,并向数据存储装置15或数据库存储装置4输出。步骤505,判断请求中是否带有录制结束的标志,如果有,表明该次录制过程已结束。否则,继续回到步骤501等待下一个调用请求。如图6所示,根据本发明的基于多终端模式脚本装置的指令集脚本的回放流程包括-步骤601:脚本翻译装置13从数据存储装置15或数据库存储装置4中读取该指令集脚本的一行指令;步骤602:判断该行指令是自定义脚本指令还是基本脚本指令,如果是自垒义脚本指令则进行步骤603,否则进入步骤604;步骤603:判断是自定义脚本指令,调用自定义脚本指令翻译装置132进行翻译,自定义脚本指令翻译装置132对该行脚本指令进行解析,以获得需要调用的翻译模块的名称以及输入输出参数值,该翻译模块调用完毕后返回翻译结果给自定义脚本指令翻译模块132,自定义脚本指令翻译装置将翻译结果返回给脚本指令翻译装置,并进入步骤601,进行下一条脚本指令的翻译;步骤604:判断是基本脚本指令,调用基本脚本指令翻译模块131将基本脚本指令翻译成宏指令或其它操作;步骤605:判断该宏指令是否是结束指令,是则结束翻译回放流程,否则进入步骤606;步骤606:根据宏指令,经过主控装置与基本业务终端2的通讯产生测试动作,并返回步骤601,进行下一条脚本指令的翻译。以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本实用新型的具体实施例而己,并不用于限定本实用新型的保护范围,凡在本实用新型的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。1权利要求1、一种基于多终端模式的脚本装置,与基本业务终端进行通讯,其特征在于,该脚本装置包括主控装置;数据存储装置,所述数据存储装置与所述主控装置相连接;脚本翻译装置,所述脚本翻译装置与所述主控装置相连接,通过所述主控装置从所述数据存储装置获取指令集脚本并将脚本指令逐条解析翻译为宏指令或基本业务终端的操作;宏指令解释装置,所述宏指令解释装置与所述主控装置相连接,通过所述主控装置与所述基本业务终端进行通讯,将所述脚本翻译装置产生的宏指令还原为适应于所述基本业务终端的终端模式的操作。2、根据权利要求1所述的基于多终端模式的脚本装置,其特征在于还包括脚本录制装置,该脚本录制装置与所述主控装置相连接,所述脚本录制装置通过所述主控装置与所述基本业务终端进行通讯按统一指令集生成脚本,所生成的脚本被保存在数据存储装置中。3、根据权利要求2所述的基于多终端模式的脚本装置,其特征在于-还包括脚本编写修改装置,该脚本编写修改装置与所述主控装置相连接,通过所述脚本编写修改装置所述生成脚本修改,或直接编写脚本。4、根据权利要求1所述的基于多终端模式的脚本装置,其特征在于所述脚本翻译装置包括基本脚本指令翻译模块,所述基本脚本指令翻译模块将基本脚本翻译成与各种不同终端模式交互的宏指令集。5、根据权利要求4所述的基于多终端模式的脚本装置,其特征在于所述脚本翻译装置还包括自定义脚本指令翻译模块,所述自定义脚本指令翻译装置对自定义脚本指令进行解析,以获得要调用翻译模块的名称以及输入输出参数值。专利摘要本实用新型涉及一种基于多终端模式的脚本装置,与基本业务终端进行通讯,该脚本装置包括主控装置、宏指令解释装置、脚本翻译装置以及数据存储装置;所述主控装置分别与所述宏指令解释装置、所述脚本翻译装置和数据存储装置相连接;所述脚本翻译装置通过所述主控装置从所述数据存储装置获取指令集脚本并将脚本指令逐条解析翻译为宏指令或基本业务终端的操作;所述宏指令解释装置通过所述主控装置与所述基本业务终端进行通讯,将所述脚本翻译装置产生的宏指令还原为适应于所述基本业务终端的终端模式的操作。本实用新型的同一套脚本可适应于不同终端模式的应用程序界面,用户在设计完测试案例后,只需维护一套脚本即可实现在各种终端模式上的测试。文档编号H04L12/26GK201266944SQ20082010931公开日2009年7月1日申请日期2008年7月18日优先权日2008年7月18日发明者何山度,林艳椿,江炜斌,邝嘉升申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1