一种基于模型驱动的自动化脚本调试方法和装置与流程

文档序号:12271205阅读:252来源:国知局
一种基于模型驱动的自动化脚本调试方法和装置与流程

本发明属于软件自动化测试技术领域,特别是涉及一种基于模型驱动的自动化脚本调试方法和装置。



背景技术:

对于软件自动化测试工作,在自动化测试的整个周期中最为耗时的就是自动化脚本的调试,现有技术中的调试手段比较单一,是在测试套中对脚本逐一调试,如果在调试脚本过程中修改测试套的数据变量,那么测试套就要重新运行,由于测试套要初始化设备的环境变量和节点参数,因此运行时间都比较长。



技术实现要素:

为解决上述问题,本发明提供了一种基于模型驱动的自动化脚本调试方法和装置,能够缩短脚本和测试套的运行时间,从而降低整个自动化的调试时间。

本发明提供的一种基于模型驱动的自动化脚本调试方法,包括:

利用MBT的图元,生成业务逻辑;

生成自动化脚本;

将脚本调试插件嵌入到MBT模型工具中;

选择所述脚本中修改后的语句,在已经执行过的语句和环境在缓存中保留的基础上,直接执行所述修改后的语句。

优选的,在上述基于模型驱动的自动化脚本调试方法中,所述将脚本调试插件嵌入到MBT模型工具中为:

将所述脚本调试插件以一次编译动态连接的方式嵌入到所述MBT模型工具中。

优选的,在上述基于模型驱动的自动化脚本调试方法中,所述利用MBT的图元,生成业务逻辑包括:

采用xml文件的方式,利用所述MBT的图元控制逻辑节点参数到物理节点参数的拓扑映射。

优选的,在上述基于模型驱动的自动化脚本调试方法中,所述利用MBT的图元控制逻辑节点参数到物理节点参数的拓扑映射包括:

利用动态链接库,多对一的连接执行的所述脚本,在脚本执行失败或完成的同时释放所述动态链接库。

优选的,在上述基于模型驱动的自动化脚本调试方法中,在所述利用MBT的图元,生成业务逻辑之前,还包括:

采用Python语言抽象出用于数据的读、写和转发的公共单元,其中,采用代理模式实现所述数据的转发。

本发明提供的一种基于模型驱动的自动化脚本调试装置,包括:

第一生成单元,用于利用MBT的图元,生成业务逻辑;

第二生成单元,用于生成自动化脚本;

嵌入单元,用于将脚本调试插件嵌入到MBT模型工具中;

执行单元,用于选择所述脚本中修改后的语句,在已经执行过的语句和环境在缓存中保留的基础上,直接执行所述修改后的语句。

优选的,在上述基于模型驱动的自动化脚本调试装置中,所述嵌入单元具体用于将所述脚本调试插件以一次编译动态连接的方式嵌入到所述MBT模型工具中。

优选的,在上述基于模型驱动的自动化脚本调试装置中,所述第一生成单元具体用于采用xml文件的方式,利用所述MBT的图元控制逻辑节点参数到物理节点参数的拓扑映射。

优选的,在上述基于模型驱动的自动化脚本调试装置中,所述第一生成单元具体用于利用动态链接库,多对一的连接执行的所述脚本,在脚本执行失败或完成的同时释放所述动态链接库。

优选的,在上述基于模型驱动的自动化脚本调试装置中,还包括:

抽象单元,用于采用Python语言抽象出用于数据的读、写和转发的公共单元,其中,采用代理模式实现所述数据的转发。

通过上述描述可知,本发明提供的上述基于模型驱动的自动化脚本调试方法和装置,由于该方法包括:利用MBT的图元,生成业务逻辑;生成自动化脚本;将脚本调试插件嵌入到MBT模型工具中;选择所述脚本中修改后的语句,在已经执行过的语句和环境在缓存中保留的基础上,直接执行所述修改后的语句,因此能够缩短脚本和测试套的运行时间,从而降低整个自动化的调试时间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的第一种基于模型驱动的自动化脚本调试方法的示意图;

图2为本申请实施例提供的第一种基于模型驱动的自动化脚本调试装置的示意图。

具体实施方式

本发明的核心思想在于提供一种基于模型驱动的自动化脚本调试方法和装置,能够缩短脚本和测试套的运行时间,从而降低整个自动化的调试时间。

该方法和装置的测试对象为海量存储设备,基于模型驱动的调试,就是在自动化脚本生成的基础上,大幅度提高脚本调试的效率,避免脚本调试在自动化测试中的大量耗时,降低软件版本的自动化测试的反馈周期,转变手工测试模式为全自动化测试模式。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请实施例提供的第一种基于模型驱动的自动化脚本调试方法如图1所示,图1为本申请实施例提供的第一种基于模型驱动的自动化脚本调试方法的示意图。该方法包括如下步骤:

S1:利用MBT的图元,生成业务逻辑;

需要说明的是,其中的MBT即Model Based Testing,基于模式驱动的调试,首先要基于业务模型的理解,利用MBT丰富的图元画出业务逻辑。

S2:生成自动化脚本;

S3:将脚本调试插件嵌入到MBT模型工具中;

在该步骤中,自动化脚本生成后嵌入MBT自动化调试插件,此插件就是脚本调试核心技术,此插件的设计考虑设备环境参数的自动化刷新,设备逻辑参数与物理参数的映射,以及业务逻辑的重新自动连接。

S4:选择所述脚本中修改后的语句,在已经执行过的语句和环境在缓存中保留的基础上,直接执行所述修改后的语句。

在实际的脚本调试过程中,可以通过鼠标复选已经修改好的语句,直接点击运行就可以只执行复选语句,之前已执行过的语言和环境中已经完成的赋值不变并在缓存保留,从而运行效率大幅度提升。在这种情况下,就可以在不完全重跑测试套和测试脚本的情况下,对指定修改的语句运行,在设备环境中刷新数据和节点参数。

通过上述描述可知,本申请实施例提供的上述第一种基于模型驱动的自动化脚本调试方法,由于包括:利用MBT的图元,生成业务逻辑;生成自动化脚本;将脚本调试插件嵌入到MBT模型工具中;选择所述脚本中修改后的语句,在已经执行过的语句和环境在缓存中保留的基础上,直接执行所述修改后的语句,因此能够缩短脚本和测试套的运行时间,从而降低整个自动化的调试时间。

本申请实施例提供的第二种基于模型驱动的自动化脚本调试方法,是在上述第一种基于模型驱动的自动化脚本调试方法的基础上,还包括如下技术特征:

所述将脚本调试插件嵌入到MBT模型工具中为:

将所述脚本调试插件以一次编译动态连接的方式嵌入到所述MBT模型工具中。

在这种情况下,就屏蔽了手工安装和手工运行的报错风险,提高了安全性。

本申请实施例提供的第三种基于模型驱动的自动化脚本调试方法,是在上述第二种基于模型驱动的自动化脚本调试方法的基础上,还包括如下技术特征:

所述利用MBT的图元,生成业务逻辑包括:

采用xml文件的方式,利用所述MBT的图元控制逻辑节点参数到物理节点参数的拓扑映射。

利用上述方式就能够把物理节点和逻辑点对应起来,拓扑图呈现物理节点。

本申请实施例提供的第四种基于模型驱动的自动化脚本调试方法,是在上述第三种基于模型驱动的自动化脚本调试方法的基础上,还包括如下技术特征:

所述利用MBT的图元控制逻辑节点参数到物理节点参数的拓扑映射包括:

利用动态链接库,多对一的连接执行的所述脚本,在脚本执行失败或完成的同时释放所述动态链接库。

利用上述方式,就解决了由于业务节点多导致的逻辑节点到物理节点映射慢的问题,上述过程不占用内存资源。

本申请实施例提供的第五种基于模型驱动的自动化脚本调试方法,是在上述第四种基于模型驱动的自动化脚本调试方法的基础上,还包括如下技术特征:

在所述利用MBT的图元,生成业务逻辑之前,还包括:

采用Python语言抽象出用于数据的读、写和转发的公共单元,其中,采用代理模式实现所述数据的转发。

需要说明的是,所述Python语言兼容多种成熟的自动化架构和编程语言,能够跨平台开发整个流程。

综上所述,传统的脚本调试是先运行自动化测试套,初始化环境变量后再逐一调试自动化脚本,如果需要修改脚本,需要整个脚本重新运行,如果修改测试套的话,就需要释放整个资源重新运行测试套费时费力,而本申请实施例提供的上述方法具有如下优势:无需重新运行修改后的脚本,直接运行修改后的语句;无需重新运行修改后的测试套,直接运行修改的测试套语句并映射环境参数;脚本调试插件嵌入到MBT模型工具中,屏蔽手工安装和运行报错的风险,采用动态链接库方式消耗内存低,运行快等特点。

本申请实施例提供的第一种基于模型驱动的自动化脚本调试装置如图2所示,图2为本申请实施例提供的第一种基于模型驱动的自动化脚本调试装置的示意图。该装置包括:

第一生成单元201,用于利用MBT的图元,生成业务逻辑,需要说明的是,基于模式驱动的调试,首先要基于业务模型的理解,利用MBT丰富的图元画出业务逻辑;

第二生成单元202,用于生成自动化脚本;

嵌入单元203,用于将脚本调试插件嵌入到MBT模型工具中,此插件就是脚本调试核心技术,此插件的设计考虑设备环境参数的自动化刷新,设备逻辑参数与物理参数的映射,以及业务逻辑的重新自动连接;

执行单元204,用于选择所述脚本中修改后的语句,在已经执行过的语句和环境在缓存中保留的基础上,直接执行所述修改后的语句,可以通过鼠标复选已经修改好的语句,直接点击运行就可以只执行复选语句,之前已执行过的语言和环境中已经完成的赋值不变并在缓存保留,从而运行效率大幅度提升。在这种情况下,就可以在不完全重跑测试套和测试脚本的情况下,对指定修改的语句运行,在设备环境中刷新数据和节点参数。

通过上述描述可知,本申请实施例提供的上述第一种基于模型驱动的自动化脚本调试装置,能够缩短脚本和测试套的运行时间,从而降低整个自动化的调试时间。

本申请实施例提供的第二种基于模型驱动的自动化脚本调试装置,是在上述第一种基于模型驱动的自动化脚本调试装置的基础上,还包括如下技术特征:

所述嵌入单元具体用于将所述脚本调试插件以一次编译动态连接的方式嵌入到所述MBT模型工具中。在这种情况下,就屏蔽了手工安装和手工运行的报错风险,提高了安全性。

本申请实施例提供的第三种基于模型驱动的自动化脚本调试装置,是在上述第二种基于模型驱动的自动化脚本调试装置的基础上,还包括如下技术特征:

所述第一生成单元具体用于采用xml文件的方式,利用所述MBT的图元控制逻辑节点参数到物理节点参数的拓扑映射。这样就能够把物理节点和逻辑点对应起来,拓扑图呈现物理节点。

本申请实施例提供的第四种基于模型驱动的自动化脚本调试装置,是在上述第三种基于模型驱动的自动化脚本调试装置的基础上,还包括如下技术特征:

所述第一生成单元具体用于利用动态链接库,多对一的连接执行的所述脚本,在脚本执行失败或完成的同时释放所述动态链接库。这就解决了由于业务节点多导致的逻辑节点到物理节点映射慢的问题,不占用内存资源。

本申请实施例提供的第五种基于模型驱动的自动化脚本调试装置,是在上述第四种基于模型驱动的自动化脚本调试装置的基础上,还包括如下技术特征:

还包括:

抽象单元,用于采用Python语言抽象出用于数据的读、写和转发的公共单元,其中,采用代理模式实现所述数据的转发。

需要说明的是,所述Python语言兼容多种成熟的自动化架构和编程语言,能够跨平台开发整个流程。

综上所述,上述装置兼容多种自动化架构,兼容多种自动化编程语言,完全打破了以往自动化脚本的调试思路,利用模型的强大优势,哪里有问题就调试哪里,修改哪里就调试哪里,并不需要重新运行整个自动化测试套和自动化脚本,把耗时的地方全部剪掉。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1