一种脚本文件自动生成系统及自动生成方法技术方案

技术编号:2853555 阅读:594 留言:0更新日期:2012-04-11 18:40
一种脚本文件自动生成系统,包括:模板库模块存储着用于生成脚本文件的模板文件,不同的模板文件使用不同的ID进行编号存储;索引库模块存储着所有的消息码和消息名对应关系的索引文件;消息库模块存储着所有的消息文件,消息文件描述了消息名以及对应的消息结构;脚本生成模块用于接收用户按照一定格式输入的测试用例文件,其中,测试用例文件中至少包含模板ID、消息码;脚本生成模块根据测试用例文件,读取出模板库模块中相应的模板、索引库模块中相应的消息名、消息库模块中相应的消息文件,将读取出的消息名、消息文件载入读取的模板中生成脚本文件。通过该系统,可以实现根据测试用例文件自动生成脚本文件,免去用户手动生成过程。

【技术实现步骤摘要】

本专利技术是。
技术介绍
抽象语法规则(Asn,Abstract Syntax Notation)是一种用来描述系统之间传递的信息格式的语言规范,被广泛用在通信协议的信息格式定义中。Asn.1是指采用Asn编码生成的编码文档。当前的Asn.1文档地生成是人工根据Asn编码规则去编写出Asn.1文档。ANS.1文档编写完成后,用户可以利用Asn编译器将Asn.1文本编译成动态链接库(dll,dynamic linklibrary)文件,其编译成dll过程所使用的函数是系统函数。然后用户在调用消息生成程序过程中,消息生成程序调用生成的dll文件来生成消息文件。现有的集成测试工具ITT提供了一种全手动的方式来生成测试脚本,首先由用户手动完成Asn.1文档的编写,然后,手动调用Asn编译器编译成dll文件,然后再手动调用消息生成程序生成消息,然后用户根据要测试的内容以及生成的消息,去编写出测试脚本。由于现有的技术完全需要用户手工去完成Asn.1编码,去调用Asn编译器生成dll文件,手动调用消息生成程序去生成消息,最后再手工去生成测试脚本。这些手工的劳动,不仅需要花费大量的人力和时间,成本较高,而且在需要生成大量测试脚本时耗时较大,对于产品的开发是不利的。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种脚本文件的自动生成系统,实现脚本文件根据用户输入的测试用例自动生成。本专利技术的第二个目的在于提供一种脚本文件自动生成方法,实现脚本文件根据用户输入的测试用例的自动生成过程。实现本专利技术的脚本文件自动生成系统包括模板库模块、索引库模块、消息库模块、脚本生成模块。其中模板库模块存储着用于生成脚本文件的模板文件,不同的模板文件使用不同的ID进行编号存储;索引库模块存储着所有的消息码和消息名对应关系的索引文件;消息库模块存储着所有的消息文件,消息文件描述了消息名以及对应的消息结构;脚本生成模块用于接收用户按照一定格式输入的测试用例文件,其中,测试用例文件中至少包含模板ID、消息码;脚本生成模块根据测试用例文件,读取出模板库模块中相应的模板、索引库模块中相应的消息名、消息库模块中相应的消息文件,将读取出的消息名、消息文件载入读取的模板中生成脚本文件。其中,该系统进一步包括管理模块,用于接收用户按照一定格式输入的消息头定义文件、消息结构定义文件,生成消息文件和索引文件并分别存储到消息库模块和索引库模块中。其中,所述管理模块包括消息头定义输入模块、消息结构定义输入模块、索引生成模块、Asn生成模块、编译模块、文本消息构造模块、消息生成模块。其中,消息头定义输入模块、消息结构定义输入模块分别用于接收用户按一定格式输入的消息头定义文件、消息结构定义文件,并分别转换为Asn.1格式的文档;索引生成模块和Asn生成模块用于接收消息头定义输入模块、消息结构定义输入模块转换后的Asn.1格式文档,并分别生成索引文件和完整的Asn.1文件,其中索引文件记录了消息码和消息名的对应关系;编译模块用于将Asn生成模块生成的Asn.1文件编译成dll文件;文本消息构造模块用于接收索引生成模块和消息结构定义输入模块的输出信息,根据所述信息生成文本消息;消息生成模块用于接收文本消息构造模块生成的文本消息,接收编译模块生成的dll文件,根据dll将所述文本消息进行解析生成消息文件。本专利技术提供的脚本文件自动生成方法,预先设置模板库、索引库、消息库,其中,模板库存储着用于生成脚本文件的模板文件,不同的模板文件使用不同的ID进行编号存储;索引库存储着所有的消息码和消息名对应关系的索引文件;消息库存储着所有的消息文件,消息文件描述了消息名以及对应的消息结构;该方法还包括以下步骤A4、接收用户按照一定格式输入的测试用例文件,其中,测试用例文件中至少包含模板ID、消息码;B4、根据测试用例文件中的模板ID、消息码,读取出模板库模块中相应的模板、索引库模块中相应的消息名、消息库模块中相应的消息文件;C4、将读取出的消息名、消息文件载入读取的模板中生成脚本文件。其中,该方法进一步包括生成消息文件并存储到消息库的步骤,包括A5、接收用户按一定格式输入的消息头定义文件、消息结构定义文件,并分别转换为Asn.1格式的文档;B5、根据消息头定义文件、消息结构定义文件转换的Asn.1格式的文档,分别生成索引文件和完整的Asn.1文件,其中索引文件记录了消息码和消息名的对应关系;C5、根据索引文件和消息结构定义文件转换后的Asn.1文档生成文本消息;D5、将Asn.1文件编译成dll文件;E5、根据dll文件将所述文本消息进行解析生成消息文件存储到消息库。由上可以看出,本专利技术将人力从枯燥、繁琐的手工劳动中解脱出来,用户仅需要编写输入简单的测试用例,系统就可以生成所需的脚本文件。系统存储有模板库、消息库,因此不需要用户反复编写模板、消息文件部分,也不需要按照Asn编码格式去编写Asn.1文档。下面举例来分析说明本专利技术的优点以10万行代码为例,根据常规设计需要设计3000-4000个集成测试用例,以每测试测试用例最少需要使用三个消息为例,则需要使用9000-12000条消息,以每条消息结构的结构定义包括五条,测试最终的Asn.1编码需要45000-60000行。以熟悉的测试工程师为例,平均每人天完成3000行Asn编码、生成消息150条、完成脚本50个为例,完成以上的工作需要的时间为最少45000/300+9000/150+3000/50=150+60+60=270(人天);最多60000/300+12000/150+4000/50=200+80+80=360(人天)使用本专利技术,用户仅需输入测试用例,则Asn.1的生成时间可以忽略不计,消息的生成时间可以忽略不计,脚本的生成时间可以忽略不计,则最终只需要完成的内容只是测试用例的简单写作,不需要去编写整个的脚本文件,采用该方式写出来的用例比传统的用例设计需要的时间也至少要缩短一半以上。因此,可以大大节约工作时间,提高工作效率。简化了用户的输入,不需要用户去学习懂得Asn的编写格式。另外,本专利技术还提供了管理接口,根据用户按一定格式输入的消息头定义文件、消息结构定义文件自动生成Asn.1文档,以及自动生成消息文件及索引文件进行存储,便于用户对消息库和索引库的维护扩充。这个过程中,用户也不需要了解Asn的编码格式,并且消息生成过程自动实现,不需要用户的手动进行。附图说明图1为脚本文件自动生成系统的结构图。图2为脚本生成流程图。图3为消息生成流程图。具体实施例方式本专利技术提供的脚本文件自动生成系统,由用户输入测试用例,然后脚本文件自动生成系统根据用于生成脚本文件的模板和前期自动生成的消息文件及相关的索引文件生成测试脚本文件。并且,脚本自动生成系统还向用户提供了管理模块,便于用户扩充新的消息文件和索引文件。为使本专利技术的目的、技术方案及优点更加清楚明白,以下通过具体实施例和参照附图1,对本专利技术进一步详细说明。如图1示出了脚本文件自动生成系统的结构图。该系统包括模板(Module)库模块、索引(Index)库模块、消息(Msg)库模块、脚本(script)生成模块。其中模板库模块存储着用于生成脚本的模板,每一个模板都使用一个ID(也可称为Mo本文档来自技高网...

【技术保护点】
一种脚本文件自动生成系统,其特征在于,该系统包括:模板库模块、索引库模块、消息库模块、脚本生成模块,其中:模板库模块存储着用于生成脚本文件的模板文件,不同的模板文件使用不同的ID进行编号存储;索引库模块存储着所有的消息码和消 息名对应关系的索引文件;消息库模块存储着所有的消息文件,消息文件描述了消息名以及对应的消息结构;脚本生成模块用于接收用户按照一定格式输入的测试用例文件,其中,测试用例文件中至少包含模板ID、消息码;脚本生成模块根据测试用例文 件,读取出模板库模块中相应的模板、索引库模块中相应的消息名、消息库模块中相应的消息文件,将读取出的消息名、消息文件载入读取的模板中生成脚本文件。

【技术特征摘要】
1、一种脚本文件自动生成系统,其特征在于,该系统包括模板库模块、索引库模块、消息库模块、脚本生成模块,其中模板库模块存储着用于生成脚本文件的模板文件,不同的模板文件使用不同的ID进行编号存储;索引库模块存储着所有的消息码和消息名对应关系的索引文件;消息库模块存储着所有的消息文件,消息文件描述了消息名以及对应的消息结构;脚本生成模块用于接收用户按照一定格式输入的测试用例文件,其中,测试用例文件中至少包含模板ID、消息码;脚本生成模块根据测试用例文件,读取出模板库模块中相应的模板、索引库模块中相应的消息名、消息库模块中相应的消息文件,将读取出的消息名、消息文件载入读取的模板中生成脚本文件。2、根据权利要求1所述的系统,其特征在于,该系统进一步包括管理模块,用于接收用户按照一定格式输入的消息头定义文件、消息结构定义文件,生成消息文件和索引文件并分别存储到消息库模块和索引库模块中。3、根据权利要求2所述的系统,其特征在于,所述管理模块包括消息头定义输入模块、消息结构定义输入模块、索引生成模块、Asn生成模块、编译模块、文本消息构造模块、消息生成模块,其中,消息头定义输入模块、消息结构定义输入模块分别用于接收用户按一定格式输入的消息头定义文件、消息结构定义文件,并分别转换为Asn.1格式的文档;索引生成模块和Asn生成模块用于接收消息头定义输入模块、消息结构定义输入模块转换后的Asn.1格式文档,并分别生成索引文件和完整的Asn.1文件,其中索引文件记录了消息码和消息名的对应关系;编译模块用于将Asn生成模块生成的Asn.1文件编译成...

【专利技术属性】
技术研发人员:詹东华
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利