CN106445818B - 一种基于模型驱动的自动化脚本调试方法和装置 - Google Patents
一种基于模型驱动的自动化脚本调试方法和装置 Download PDFInfo
- Publication number
- CN106445818B CN106445818B CN201610820867.0A CN201610820867A CN106445818B CN 106445818 B CN106445818 B CN 106445818B CN 201610820867 A CN201610820867 A CN 201610820867A CN 106445818 B CN106445818 B CN 106445818B
- Authority
- CN
- China
- Prior art keywords
- script
- mbt
- model
- unit
- driven
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013507 mapping Methods 0.000 claims description 9
- 230000008901 benefit Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 abstract description 28
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000035800 maturation Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种基于模型驱动的自动化脚本调试方法和装置,其中该方法包括:利用MBT的图元,生成业务逻辑;生成自动化脚本;将脚本调试插件嵌入到MBT模型工具中;选择所述脚本中修改后的语句,在已经执行过的语句和环境在缓存中保留的基础上,直接执行所述修改后的语句。本申请提供的上述基于模型驱动的自动化脚本调试方法和装置,能够缩短脚本和测试套的运行时间,从而降低整个自动化的调试时间。
Description
技术领域
本发明属于软件自动化测试技术领域,特别是涉及一种基于模型驱动的自动化脚本调试方法和装置。
背景技术
对于软件自动化测试工作,在自动化测试的整个周期中最为耗时的就是自动化脚本的调试,现有技术中的调试手段比较单一,是在测试套中对脚本逐一调试,如果在调试脚本过程中修改测试套的数据变量,那么测试套就要重新运行,由于测试套要初始化设备的环境变量和节点参数,因此运行时间都比较长。
发明内容
为解决上述问题,本发明提供了一种基于模型驱动的自动化脚本调试方法和装置,能够缩短脚本和测试套的运行时间,从而降低整个自动化的调试时间。
本发明提供的一种基于模型驱动的自动化脚本调试方法,包括:
利用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语言兼容多种成熟的自动化架构和编程语言,能够跨平台开发整个流程。
综上所述,上述装置兼容多种自动化架构,兼容多种自动化编程语言,完全打破了以往自动化脚本的调试思路,利用模型的强大优势,哪里有问题就调试哪里,修改哪里就调试哪里,并不需要重新运行整个自动化测试套和自动化脚本,把耗时的地方全部剪掉。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基于模型驱动的自动化脚本调试方法,其特征在于,包括:
利用MBT的图元,生成业务逻辑;
生成自动化脚本;
将脚本调试插件嵌入到MBT模型工具中;
选择所述脚本中修改后的语句,在已经执行过的语句和环境在缓存中保留的基础上,直接执行所述修改后的语句;
所述将脚本调试插件嵌入到MBT模型工具中为:
将所述脚本调试插件以一次编译动态连接的方式嵌入到所述MBT模型工具中。
2.根据权利要求1所述的基于模型驱动的自动化脚本调试方法,其特征在于,所述利用MBT的图元,生成业务逻辑包括:
采用xml文件的方式,利用所述MBT的图元控制逻辑节点参数到物理节点参数的拓扑映射。
3.根据权利要求2所述的基于模型驱动的自动化脚本调试方法,其特征在于,所述利用MBT的图元控制逻辑节点参数到物理节点参数的拓扑映射包括:
利用动态链接库,多对一的连接执行的所述脚本,在脚本执行失败或完成的同时释放所述动态链接库。
4.根据权利要求3所述的基于模型驱动的自动化脚本调试方法,其特征在于,在所述利用MBT的图元,生成业务逻辑之前,还包括:
采用Python语言抽象出用于数据的读、写和转发的公共单元,其中,采用代理模式实现所述数据的转发。
5.一种基于模型驱动的自动化脚本调试装置,其特征在于,包括:
第一生成单元,用于利用MBT的图元,生成业务逻辑;
第二生成单元,用于生成自动化脚本;
嵌入单元,用于将脚本调试插件嵌入到MBT模型工具中;
执行单元,用于选择所述脚本中修改后的语句,在已经执行过的语句和环境在缓存中保留的基础上,直接执行所述修改后的语句;
所述嵌入单元具体用于将所述脚本调试插件以一次编译动态连接的方式嵌入到所述MBT模型工具中。
6.根据权利要求5所述的基于模型驱动的自动化脚本调试装置,其特征在于,所述第一生成单元具体用于采用xml文件的方式,利用所述MBT的图元控制逻辑节点参数到物理节点参数的拓扑映射。
7.根据权利要求6所述的基于模型驱动的自动化脚本调试装置,其特征在于,所述第一生成单元具体用于利用动态链接库,多对一的连接执行的所述脚本,在脚本执行失败或完成的同时释放所述动态链接库。
8.根据权利要求7所述的基于模型驱动的自动化脚本调试装置,其特征在于,还包括:
抽象单元,用于采用Python语言抽象出用于数据的读、写和转发的公共单元,其中,采用代理模式实现所述数据的转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610820867.0A CN106445818B (zh) | 2016-09-13 | 2016-09-13 | 一种基于模型驱动的自动化脚本调试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610820867.0A CN106445818B (zh) | 2016-09-13 | 2016-09-13 | 一种基于模型驱动的自动化脚本调试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106445818A CN106445818A (zh) | 2017-02-22 |
CN106445818B true CN106445818B (zh) | 2019-05-10 |
Family
ID=58168806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610820867.0A Active CN106445818B (zh) | 2016-09-13 | 2016-09-13 | 一种基于模型驱动的自动化脚本调试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106445818B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170789A (zh) * | 2017-12-27 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种基于分布式文件***的分级存储方法以及相关装置 |
CN110209565B (zh) * | 2018-02-28 | 2021-08-13 | 华为技术有限公司 | 一种元数据模型调试方法及其装置 |
CN110286901B (zh) * | 2019-07-04 | 2023-05-30 | 广州广燃设计有限公司 | 一种基于cad的脚本生成方法、***及存储介质 |
CN110543429B (zh) * | 2019-09-10 | 2023-05-16 | 深圳前海微众银行股份有限公司 | 测试用例调试方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425012A (zh) * | 2008-12-10 | 2009-05-06 | 深圳华为通信技术有限公司 | 基于模型自动化生成用例脚本的方法及装置 |
CN102033743A (zh) * | 2010-09-02 | 2011-04-27 | 西安赛斐软件科技有限公司 | 一种应用插件扩充模型驱动开发能力的***及其方法 |
CN102053912A (zh) * | 2011-01-06 | 2011-05-11 | 中国工商银行股份有限公司 | 一种基于uml图形对软件进行自动化测试的装置及方法 |
CN104615541A (zh) * | 2015-02-10 | 2015-05-13 | 上海创景计算机***有限公司 | 基于流程图的仿真测试建模***及方法 |
CN105068929A (zh) * | 2015-08-06 | 2015-11-18 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试*** |
-
2016
- 2016-09-13 CN CN201610820867.0A patent/CN106445818B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425012A (zh) * | 2008-12-10 | 2009-05-06 | 深圳华为通信技术有限公司 | 基于模型自动化生成用例脚本的方法及装置 |
CN102033743A (zh) * | 2010-09-02 | 2011-04-27 | 西安赛斐软件科技有限公司 | 一种应用插件扩充模型驱动开发能力的***及其方法 |
CN102053912A (zh) * | 2011-01-06 | 2011-05-11 | 中国工商银行股份有限公司 | 一种基于uml图形对软件进行自动化测试的装置及方法 |
CN104615541A (zh) * | 2015-02-10 | 2015-05-13 | 上海创景计算机***有限公司 | 基于流程图的仿真测试建模***及方法 |
CN105068929A (zh) * | 2015-08-06 | 2015-11-18 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试*** |
Also Published As
Publication number | Publication date |
---|---|
CN106445818A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445818B (zh) | 一种基于模型驱动的自动化脚本调试方法和装置 | |
CN102402427B (zh) | 一种Java应用程序的更新方法及装置 | |
CN103970659B (zh) | 基于插桩技术的安卓应用软件自动化测试方法 | |
US20150331406A1 (en) | Programming auxiliary system of programmable controller and method thereof | |
CN108920496B (zh) | 一种渲染方法及装置 | |
Ferrari et al. | Model-based development and formal methods in the railway industry | |
CN109933521A (zh) | 基于bdd的自动化测试方法、装置、计算机设备及存储介质 | |
US20110321013A1 (en) | Interactive environment for test case generation associated with a computer code | |
WO2021036697A1 (zh) | 投产方法、装置、设备和存储介质 | |
CN103327080A (zh) | 创建物联网控制***的方法及装置 | |
US20140214396A1 (en) | Specification properties creation for a visual model of a system | |
CN106919398A (zh) | 一种软件发布方法及装置 | |
CN109739759A (zh) | 一种验证黑盒测试用例设计完整性的方法 | |
CN105302549A (zh) | 一种支持多语言的测试流程生成、调试、执行*** | |
CN105591779A (zh) | 网元巡检方法及装置 | |
CN103176894A (zh) | 一种面向数据库的测试数据自动衍生方法和装置 | |
TWI798170B (zh) | 資料分析方法及裝置 | |
CN103699478A (zh) | 一种测试案例生成***和方法 | |
CN109753281B (zh) | 一种基于图形化编程的微电网能量管理策略可视化开发工具 | |
CN111580409B (zh) | 面向实时嵌入式***的故障仿真测试方法 | |
CN111142861B (zh) | 结构化综控***集成方法及装置 | |
CN104077225A (zh) | 基于JavaScript的脚本调试方法和脚本调试装置 | |
Dwarakanath et al. | Accelerating test automation through a domain specific language | |
CN109144849A (zh) | 一种嵌入式软件调测方法 | |
CN111382065A (zh) | 基于测试模板的验证流程管理***及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |