CN107749800A - 一种实现通信设备自动化测试配置隐式删除的方法 - Google Patents
一种实现通信设备自动化测试配置隐式删除的方法 Download PDFInfo
- Publication number
- CN107749800A CN107749800A CN201710862790.8A CN201710862790A CN107749800A CN 107749800 A CN107749800 A CN 107749800A CN 201710862790 A CN201710862790 A CN 201710862790A CN 107749800 A CN107749800 A CN 107749800A
- Authority
- CN
- China
- Prior art keywords
- configuration
- order
- delete command
- deleted
- automatic test
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种实现通信设备自动化测试配置隐式删除的方法,通过配置命令多叉树的先序遍历保证了删除命令时能够进入对应的命令配置层级,通过自右向左的遍历顺序即后配先删的策略,解决了模块内的命令依赖,通过同一台设备的多个模块的配置生成的配置命令多叉树的逆序遍历,解决了模块间的命令依赖。本发明通过数据与逻辑分离的思想实现了删除配置从测试业务逻辑中独立出来。模块的命令配置生成配置命令多叉树,多模块的配置组成森林,通过森林的倒序遍历和作为森林成员的配置命令多叉树的自右向左的先序遍历,实现了通信设备自动化测试配置的隐式删除,使测试脚本更加专注业务逻辑,无需关注业务配置的清空操作。
Description
技术领域
本发明涉及网络通信设备的自动化测试领域,具体涉及一种实现通信设备自动化测试配置隐式删除的方法。
背景技术
自动化测试作为一种高效的测试方法被广泛的应用于软件测试领域。尤其对于长期迭代和演进的项目,自动化测试能够对版本功能进行快速覆盖和充分验证。自动化测试相对于手工测试主要有以下优势:随着软件系统功能的增多,人工测试耗时繁琐效率低下,而软件开发大部分是一个持续迭代的过程,随着新功能的加入既有功能往往是确定的,对已有功能的回归验证更适合自动化;自动化测试能够实现更高的测试覆盖率,优秀的一致性和稳定性,去除了手工操作引入的随机性和不确定性,能够执行一些手工测试不易实现的动作。
网络通信设备的自动化测试流程一般都是通过socket模拟telnet连接,通过CLI完成单台或多台组网的设备业务配置,检查业务状态,操作测试仪模拟业务流量,通过流量状态验证业务生效情况。为了进行下一个功能的自动化测试,需要恢复环境删除业务配置,这部分内容与业务验证没有关系。对于通信设备,配置命令按照模块进行归类,模块下的命令包含按照树形结构组织的层级关系,不同厂商甚至同厂商的命令删除方式存在较大差异,主要包括以下几个方面:
1、是否提供模块级删除命令;
模块提供了模块的整体删除命令时可以直接删除,未提供时需要进入模块内部进行子命令删除;
2、模块内存在引用依赖删除时的顺序要求;
模块内的命令间存在引用,删除命令时要先删除依赖;
3、模块间存在引用依赖删除时的顺序要求;
模块间的命令间存在引用,删除命令时要先删除依赖;
4、删除命令需要配置时的部分参数;
命令删除时要引用配置时的参数,例如多实例的配置删除时需要提供配置时的实例名;
5、通过CLI发送删除命令时要进入对应的命令层级;
配置删除命令时要进入相应命令层级,可以理解为从以模块名为根的多叉树的根节点遍历到该命令节点;
由于命令删除方式的限制和差异,很难直接找到一种能够兼容多厂家设备的隐式删除方法,就不得不在自动化脚本中显式编写删除命令。
发明内容
本发明提出的一种实现通信设备自动化测试配置隐式删除的方法,通过配置命令多叉树的先序遍历保证了删除命令时能够进入对应的命令配置层级,通过自右向左的遍历顺序即后配先删的策略,解决了模块内的命令依赖,通过同一台设备的多个模块的配置生成的配置命令多叉树的逆序遍历解决了模块间的命令依赖。
为实现上述目的,本发明采用了以下技术方案:包括以下步骤:
步骤1:分离删除命令模板文件;
步骤2:设备配置过程中将配置命令作为节点值,按照模块配置顺序生成以模块一级命令为根的配置命令多叉树,同时建立删除命令模板文件中的模块名到配置命令多叉树的索引关系,同一设备的多个模块配置组成森林;
步骤3:对于多台设备组网建立步骤2中的配置命令森林与设备socket连接的索引关系;
步骤4:自动化测试完成后采用多线程遍历各设备socket连接对应的配置命令森林,并对森林中的多叉树采用逆序遍历;
步骤5:对配置命令多叉树采用自右向左的先序遍历,如果节点为非叶子节点,将节点value即配置命令通过对应socket发送至设备进入对应命令层级,然后将该value入栈;
步骤6:通过设备版本号索引至对应的命令删除模板文件,通过先前建立的配置命令多叉树与删除命令模板模块名间的关系索引到对应模块的删除命令模板,如果节点为叶子节点则直接通过节点value索引删除命令模板中的删除命令,并通过socket发送至设备实现命令删除;
步骤7:节点的子节点全部遍历后,对该节点进行出栈操作,通过节点value索引删除命令模板的删除命令并通过socket发送至设备实现命令删除;
步骤8:重复步骤5-7直至栈空,然后转到步骤4继续遍历前序的命令多叉树直至配置命令森林全部遍历完成。
进一步的,所述步骤1分离删除命令模板文件还包括可依据版本差异建立多套模板,一级索引为模块名,一级索引下建立配置命令-删除命令的key-value键值对作为该版本该模块的删除命令模板,其中的命令键值key可以采用通配符匹配配置命令中的变量。
进一步的,所述删除模版采用yaml或json形式。
进一步的,所述步骤6还包括删除命令可根据需要采用正则表达式提取配置命令中的参数进行重写,如果删除命令模板中未索引到删除命令则不做操作。
进一步的,所述步骤7还包括删除命令可根据需要采用正则表达式提取配置命令中的参数进行重写,如果删除命令模板中未索引到删除命令则不做操作。
由上可知,由于自动化测试技术中,对于每一个测试用例通过socket模拟命令行发送配置命令进行设备配置,自动化测试用例执行完后需要清除设备配置为下一个测试用例的执行提供基础环境。现有技术中常常将删除操作作为自动化脚本的一部分完成自动化测试用例执行后的析构,可能涉及多厂家设备配置、多台设备配置、甚至多版本配置,删除时还要考虑如下关系:有的模块可以整体删除,有的模块需要分步删除;命令删除时需要进入相应的命令层级;模块间存在引用的依赖关系时需要先删除依赖;模块内存在引用的依赖关系时需要先删除依赖;对于一些多实例配置删除命令需要引用配置命令中的部分参数。对于这块与测试业务逻辑无关的部分每个脚本都要实现,并且无法适应命令变更。本发明通过数据与逻辑分离的思想实现了删除配置从测试业务逻辑中独立出来。模块的命令配置生成配置命令多叉树,多模块的配置组成森林,通过森林的倒序遍历和作为森林成员的配置命令多叉树的自右向左的先序遍历,实现了通信设备自动化测试配置的隐式删除,使测试脚本更加专注业务逻辑,无需关注业务配置的清空操作。
附图说明
图1是本发明中示例模块A的命令层级和删除命令模板;
图2是本发明中命令配置构造的命令多叉树;
图3是本发明中命令多叉树配合栈的删除配置过程。
具体实施方式
下面结合附图对本发明做进一步说明:
如图1所示,本发明提前预置删除命令模板,由于不同版本可能发生命令变更,删除命令模板可以建立多个实现版本兼容。删除模板可以采用yaml、json多种形式,一级索引为模块名,索引下建立配置命令-删除命令的key-value键值对。
如图2所示,设备上按照模块进行业务配置,模块内命令按照层级关系生成命令多叉树,多个模块按照配置顺序生成命令森林。对于多台设备组网生成命令森林与设备socket连接的索引关系。
如图3所示,本发明中命令多叉树配合栈的删除配置过程如下:
自动化测试完成后采用多线程遍历各设备socket连接对应的命令森林,并对森林中的多叉树采用逆序遍历。对其中的每棵配置命令多叉树采用自右向左的先序遍历,如果节点为非叶子节点,将节点value即配置命令通过对应socket发送至设备进入对应命令层级,然后将该value入栈。通过版本号索引至对应的模板文件,通过配置命令多叉树对应的模块名索引到删除命令模板文件中的相应模块的删除命令模板,如果节点为叶子节点则通过节点value索引删除命令模板中的删除命令并通过socket发送至设备实现命令删除,删除命令可根据需要采用正则表达式提取配置命令中的参数进行重写,如果删除命令模板中未索引到删除命令则不做操作。节点的子节点全部遍历后,对该节点进行出栈操作,通过节点value索引删除命令模板中的删除命令并通过socket发送至设备实现命令删除,删除命令可根据需要采用正则表达式提取配置命令中的参数进行重写,如果删除命令模板中未索引到删除命令则不做操作。重复以上操作直至栈空,则本棵配置命令多叉树遍历完成,该模块的配置删除完成。继续向前遍历其它配置命令多叉树直至本设备的配置命令森林全部遍历完成,则该设备在自动化测试过程中的全部配置删除完成,设备环境恢复初始状态。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围内。
Claims (5)
1.一种实现通信设备自动化测试配置隐式删除的方法,其特征在于:包括以下步骤:
步骤1:分离删除命令模板文件;
步骤2:设备配置过程中将配置命令作为节点值,按照模块配置顺序生成以模块一级命令为根的配置命令多叉树,同时建立删除命令模板文件中的模块名到配置命令多叉树的索引关系,同一设备的多个模块配置组成森林;
步骤3:对于多台设备组网建立步骤2中的配置命令森林与设备socket连接的索引关系;
步骤4:自动化测试完成后采用多线程遍历各设备socket连接对应的配置命令森林,并对森林中的多叉树采用逆序遍历;
步骤5:对配置命令多叉树采用自右向左的先序遍历,如果节点为非叶子节点,将节点value即配置命令通过对应socket发送至设备进入对应命令层级,然后将该value入栈;
步骤6:通过设备版本号索引至对应的命令删除模板文件,通过先前建立的配置命令多叉树与删除命令模板模块名间的关系索引到对应模块的删除命令模板,如果节点为叶子节点则直接通过节点value索引删除命令模板中的删除命令,并通过socket发送至设备实现命令删除;
步骤7:节点的子节点全部遍历后,对该节点进行出栈操作,通过节点value索引删除命令模板的删除命令并通过socket发送至设备实现命令删除;
步骤8:重复步骤5-7直至栈空,然后转到步骤4继续遍历前序的命令多叉树直至配置命令森林全部遍历完成。
2.如权利要求1所述的一种实现通信设备自动化测试配置隐式删除的方法,其特征在于:所述步骤1分离删除命令模板文件还包括可依据版本差异建立多套模板,一级索引为模块名,一级索引下建立配置命令-删除命令的key-value键值对作为该版本该模块的删除命令模板,其中的命令键值key可以采用通配符匹配配置命令中的变量。
3.如权利要求2所述的一种实现通信设备自动化测试配置隐式删除的方法,其特征在于:所述删除模版采用yaml或json形式。
4.如权利要求1-3任意一项所述的一种实现通信设备自动化测试配置隐式删除的方法,其特征在于:所述步骤6还包括删除命令可根据需要采用正则表达式提取配置命令中的参数进行重写,如果删除命令模板中未索引到删除命令则不做操作。
5.如权利要求4所述的一种实现通信设备自动化测试配置隐式删除的方法,其特征在于:所述步骤7还包括删除命令可根据需要采用正则表达式提取配置命令中的参数进行重写,如果删除命令模板中未索引到删除命令则不做操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710862790.8A CN107749800B (zh) | 2017-09-22 | 2017-09-22 | 一种实现通信设备自动化测试配置隐式删除的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710862790.8A CN107749800B (zh) | 2017-09-22 | 2017-09-22 | 一种实现通信设备自动化测试配置隐式删除的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107749800A true CN107749800A (zh) | 2018-03-02 |
CN107749800B CN107749800B (zh) | 2021-01-12 |
Family
ID=61255405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710862790.8A Active CN107749800B (zh) | 2017-09-22 | 2017-09-22 | 一种实现通信设备自动化测试配置隐式删除的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107749800B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110071848A (zh) * | 2019-03-27 | 2019-07-30 | 武汉思普崚技术有限公司 | 自动化测试命令行命令的方法及设备 |
WO2020259460A1 (zh) * | 2019-06-25 | 2020-12-30 | 中兴通讯股份有限公司 | 数据网络设备的命令行多叉树获取方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851655A (zh) * | 2005-11-07 | 2006-10-25 | 华为技术有限公司 | 通过由测试集组成的测试环境来实现产品自动测试的方法 |
CN1956394A (zh) * | 2006-11-13 | 2007-05-02 | 杭州华为三康技术有限公司 | 进行网络设备业务配置的方法及装置 |
CN101043543A (zh) * | 2006-03-24 | 2007-09-26 | 中兴通讯股份有限公司 | 一种程控交换机的自动化测试工具和方法 |
US20090319906A1 (en) * | 2008-06-18 | 2009-12-24 | Eads Na Defense Security And Systems Solutions Inc | Systems and methods for reconstitution of network elements in a simulated network |
CN103473148A (zh) * | 2012-06-08 | 2013-12-25 | 中兴通讯股份有限公司 | 一种恢复测试环境方法及装置 |
CN104717103A (zh) * | 2013-12-13 | 2015-06-17 | 中国移动通信集团公司 | 一种对网络设备进行测试的方法和装置 |
CN106844190A (zh) * | 2015-12-07 | 2017-06-13 | 中兴通讯股份有限公司 | 测试脚本自动生成方法及装置 |
CN106874196A (zh) * | 2017-01-19 | 2017-06-20 | 上海斐讯数据通信技术有限公司 | 一种自动化测试异常处理方法及自动化测试系统 |
-
2017
- 2017-09-22 CN CN201710862790.8A patent/CN107749800B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851655A (zh) * | 2005-11-07 | 2006-10-25 | 华为技术有限公司 | 通过由测试集组成的测试环境来实现产品自动测试的方法 |
CN101043543A (zh) * | 2006-03-24 | 2007-09-26 | 中兴通讯股份有限公司 | 一种程控交换机的自动化测试工具和方法 |
CN1956394A (zh) * | 2006-11-13 | 2007-05-02 | 杭州华为三康技术有限公司 | 进行网络设备业务配置的方法及装置 |
US20090319906A1 (en) * | 2008-06-18 | 2009-12-24 | Eads Na Defense Security And Systems Solutions Inc | Systems and methods for reconstitution of network elements in a simulated network |
CN103473148A (zh) * | 2012-06-08 | 2013-12-25 | 中兴通讯股份有限公司 | 一种恢复测试环境方法及装置 |
CN104717103A (zh) * | 2013-12-13 | 2015-06-17 | 中国移动通信集团公司 | 一种对网络设备进行测试的方法和装置 |
CN106844190A (zh) * | 2015-12-07 | 2017-06-13 | 中兴通讯股份有限公司 | 测试脚本自动生成方法及装置 |
CN106874196A (zh) * | 2017-01-19 | 2017-06-20 | 上海斐讯数据通信技术有限公司 | 一种自动化测试异常处理方法及自动化测试系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110071848A (zh) * | 2019-03-27 | 2019-07-30 | 武汉思普崚技术有限公司 | 自动化测试命令行命令的方法及设备 |
WO2020259460A1 (zh) * | 2019-06-25 | 2020-12-30 | 中兴通讯股份有限公司 | 数据网络设备的命令行多叉树获取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107749800B (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109802852B (zh) | 应用于网络靶场的网络仿真拓扑的构建方法及系统 | |
CN102750301B (zh) | 针对aadl描述的综合化航电系统模型的蓝图生成方法 | |
CN108052451A (zh) | 测试方法、系统、测试服务器、测试终端及存储介质 | |
CN102857838B (zh) | Olt端对onu端参数配置失败的再配置处理方法 | |
CN106802862A (zh) | 列车运行控制系统安全关键软件自动测试平台 | |
CN106569950B (zh) | 一种网管软件的测试系统及网管软件的测试方法 | |
CN106951368A (zh) | 基于uml时序图的测试用例自动生成方法 | |
CN107943707A (zh) | 行为树的测试方法、装置和存储介质以及终端 | |
CN107749800A (zh) | 一种实现通信设备自动化测试配置隐式删除的方法 | |
US20140100837A1 (en) | Integration verification system | |
CN103605609A (zh) | 一种适用于云计算的自动化测试框架 | |
CN103728885A (zh) | 一种基于航空总线的综合配线管理方法 | |
CN112804092A (zh) | 面向电力通信otn光传输网的建模与仿真方法及系统 | |
CN105929270A (zh) | 一种故障注入方法及装置 | |
EP2511841A2 (en) | System and method for generation of cim-based power system circuit models | |
CN104090995B (zh) | 一种ABAQUS轮胎模型中rebar单元网格的自动生成方法 | |
CN105808748B (zh) | 一种mib版本对比方法和装置 | |
CN105550103B (zh) | 一种基于自定义测试脚本的自动化测试方法 | |
CN101471826A (zh) | 命令行接口的测试方法及装置 | |
CN106776275B (zh) | 一种基于分组复用的测试流程自动生成方法 | |
CN1996265A (zh) | 实现自动测试的方法与系统 | |
CN105447003B (zh) | 一种参数集合生成方法及设备 | |
CN102624736B (zh) | 一种tl1命令校验方法及装置 | |
CN105242958A (zh) | 一种虚拟试验系统与hla仿真系统数据交换方法 | |
CN102006119B (zh) | 光传输系统的网管仿真系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |