书签 分享 收藏 举报 版权申诉 / 15

基于面向对象的自动化测试方法及系统、和自动化平台.pdf

  • 上传人:奻奴
  • 文档编号:6369484
  • 上传时间:2019-06-04
  • 格式:PDF
  • 页数:15
  • 大小:809.93KB
  • 摘要
    申请专利号:

    CN201510373567.8

    申请日:

    2015.06.30

    公开号:

    CN104899150A

    公开日:

    2015.09.09

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 11/36申请日:20150630|||公开

    IPC分类号:

    G06F11/36

    主分类号:

    G06F11/36

    申请人:

    上海斐讯数据通信技术有限公司

    发明人:

    曾银华

    地址:

    201616上海市松江区思贤路3666号

    优先权:

    专利代理机构:

    上海光华专利事务所31219

    代理人:

    王再朝

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供一种基于面向对象的自动化测试方法,包括:创建一用于测试待测设备配置的网络协议的测试脚本,并令测试脚本引入用于提供测试脚本接口的数据包;选取一待测设备以选定该待测设备上配置的网络协议为测试对象;网络协议包括多个需配置属性参数;利用预存的属性参数设置操作和获取已设置属性参数操作处理作为测试对象的网络协议;调用预置测试方式测试作为测试对象的网络协议的多个功能测试点;为作为测试对象的网络协议指定默认命令行配置文件路径。本发明适配不同的设备,扩展性好,简化了自动化测试脚本开发人员的工作。

    权利要求书

    权利要求书
    1.  一种基于面向对象的自动化测试方法,其特征在于,所述基于面向对象的自动化测试方法包括以下步骤:
    步骤一,创建一用于测试待测设备配置的网络协议的测试脚本,并令所述测试脚本引入用于提供所述测试脚本接口的数据包;
    步骤二,选取一待测设备以选定该待测设备上配置的网络协议为测试对象;所述网络协议包括多个需配置属性参数;
    步骤三,利用预存的属性参数设置操作和获取已设置属性参数操作处理作为测试对象的网络协议;
    步骤四,调用预置测试方式测试作为测试对象的网络协议的多个功能测试点;
    步骤五,为作为测试对象的网络协议指定默认命令行配置文件路径。

    2.  根据权利要求1所述的基于面向对象的自动化测试方法,其特征在于:所述基于面向对象的自动化测试方法还包括判断作为测试对象的网络协议是否发生变化,若是,则重新指定默认命令行配置文件路径,若否,则结束进程。

    3.  根据权利要求2所述的基于面向对象的自动化测试方法,其特征在于:重新指定默认命令行配置文件路径的步骤为利用预制修改配置路径方式修改所述步骤五中指定的默认命令行配置文件路径使之与变化的网络协议相匹配。

    4.  根据权利要求1所述的基于面向对象的自动化测试方法,其特征在于:所述步骤四中预置测试方式包括创建不同的作为测试对象的网络协议报文、向所述待测设备循环发送作为测试对象的网络协议报文、捕获符合条件的作为测试对象的网络协议报文、和/或解析过滤捕获的作为测试对象的网络协议报文。

    5.  根据权利要求1所述的基于面向对象的自动化测试方法,其特征在于:所述步骤一还包括为所述测试脚本引入一面向对象的工具命令语言包以使用其中的测试脚本接口。

    6.  根据权利要求1所述的基于面向对象的自动化测试方法,其特征在于:所述步骤三还包括初始化作为测试对象的网络协议需配置属性参数。

    7.  一种基于面向对象的自动化测试系统,其特征在于,所述基于面向对象的自动化测试系统包括:
    创建模块,用于创建一用于测试待测设备配置的网络协议的测试脚本,并令所述测试脚本引入用于提供所述测试脚本接口的数据包;
    选取模块,与所述创建模块连接,用于选取一待测设备以选定该待测设备上配置的网络协议为测试对象;所述网络协议包括多个需配置属性参数;
    第一操作模块,与所述选取模块连接,用于利用预存的属性参数设置操作和获取已设置属性参数操作处理作为测试对象的网络协议;
    第二操作模块,与所述选取模块和第一操作模块连接,用于调用预置测试方式测试作为测试对象的网络协议的多个功能测试点;
    路径指定模块,与所述第二操作模块连接,用于为作为测试对象的网络协议指定默认命令行配置文件路径。

    8.  根据权利要求7所述的基于面向对象的自动化测试系统,其特征在于:所述基于面向对象的自动化测试系统还包括:
    判断模块,与所述路径指定模块连接,用于判断作为测试对象的网络协议是否发生变化,若是,则重新调用所述路径指定模块重新指定默认命令行配置文件路径,若否,则调用用于终止所述基于面向对象的自动化测试系统运行的终止模块。

    9.  根据权利要求7所述的基于面向对象的自动化测试系统,其特征在于:所述创建模块还用于为所述测试脚本引入一面向对象的工具命令语言包以使用其中的测试脚本接口;所述第一操作模块还用于初始化作为测试对象的网络协议需配置属性参数。

    10.  一种自动化平台,所述自动化平台与一待测设备连接,其特征在于,所述自动化平台包括:
    如权利要求7-9中任一所述的基于面向对象的自动化测试系统;及
    交互单元,用于与所述基于面向对象的自动化测试系统连接的,用于提供用户通过所述自动化平台与所述待测设备交互下发的命令行的命令行界面。

    说明书

    说明书基于面向对象的自动化测试方法及系统、和自动化平台
    技术领域
    本发明属于软件测试技术领域,涉及一种测试方法及系统,特别是涉及一种基于面向对象的自动化测试方法及系统、和自动化平台。
    背景技术
    常规的手工网络设备测试是通过在设备上输入cli命令来进行测试。为此我们引入了自动化平台来减轻测试人员的重复性工作。
    目前的自动化测试脚本是通过下发指定命令或收发指定协议包来进行测试的。但是不同设备的命令行格式有时会不同,导致为测试同一种协议,需要修改脚本才能正常进行功能测试。这大大的降低了自动化测试的效率。
    而现有技术中自动化测试的方法具有以下几个缺点:
    第一、不同设备的命令行格式有时会不同,导致为测试同一种协议,需要修改脚本才能正常进行功能测试。
    第二、支撑库构建的命令格式固定,参数比较多。测试功能需要测试人员编写较多代码,支撑库接口封装的功能较底层。
    因此,如何提供一种基于面向对象的自动化测试方法及系统、和自动化平台,以解决现有技术中的自动化平台对待测设备中配置的网络协议进行测试时,不同待测设备的命令行格式不通,导致测试同一种网络协议时就需要修改测试脚本,出现了降低自动化测试效率的现象,且支撑库中构建的命令格式固定,参数比较多,测试功能代码复杂,但是实现功能却较底层等种种缺陷,实已成为本领域从业者亟待解决的技术问题
    发明内容
    鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于面向对象的自动化测试方法及系统、和自动化平台,用于解决现有技术中自动化平台对待测设备中配置的网络协议进行测试时,不同待测设备的命令行格式不通,导致测试同一种网络协议时就需要修改测试脚本,出现了降低自动化测试效率的现象,且支撑库中构建的命令格式固定,参数比较多,测试功能代码复杂,但是实现功能却较底层的问题。
    为实现上述目的及其他相关目的,本发明一方面提供一种基于面向对象的自动化测试方法,所述基于面向对象的自动化测试方法包括以下步骤:步骤一,创建一用于测试待测设备 配置的网络协议的测试脚本,并令所述测试脚本引入用于提供所述测试脚本接口的数据包;步骤二,选取一待测设备以选定该待测设备上配置的网络协议为测试对象;所述网络协议包括多个需配置属性参数;步骤三,利用预存的属性参数设置操作和获取已设置属性参数操作处理作为测试对象的网络协议;步骤四,调用预置测试方式测试作为测试对象的网络协议的多个功能测试点;步骤五,为作为测试对象的网络协议指定默认命令行配置文件路径。
    可选地,所述基于面向对象的自动化测试方法还包括判断作为测试对象的网络协议是否发生变化,若是,则重新指定默认命令行配置文件路径,若否,则结束进程。
    可选地,重新指定默认命令行配置文件路径的步骤为利用预制修改配置路径方式修改所述步骤五中指定的默认命令行配置文件路径使之与变化的网络协议相匹配。
    可选地,所述步骤四中预置测试方式包括创建不同的作为测试对象的网络协议报文、向所述待测设备循环发送作为测试对象的网络协议报文、捕获符合条件的作为测试对象的网络协议报文、和/或解析过滤捕获的作为测试对象的网络协议报文。
    可选地,所述步骤一还包括为所述测试脚本引入一面向对象的工具命令语言包以使用其中的测试脚本接口。
    可选地,所述步骤三还包括初始化作为测试对象的网络协议需配置属性参数。
    本发明另一方面还提供一种基于面向对象的自动化测试系统,所述基于面向对象的自动化测试系统包括:创建模块,用于创建一用于测试待测设备配置的网络协议的测试脚本,并令所述测试脚本引入用于提供所述测试脚本接口的数据包;选取模块,与所述创建模块连接,用于选取一待测设备以选定该待测设备上配置的网络协议为测试对象;所述网络协议包括多个需配置属性参数;第一操作模块,与所述选取模块连接,用于利用预存的属性参数设置操作和获取已设置属性参数操作处理作为测试对象的网络协议;第二操作模块,与所述选取模块和第一操作模块连接,用于调用预置测试方式测试作为测试对象的网络协议的多个功能测试点;路径指定模块,与所述第二操作模块连接,用于为作为测试对象的网络协议指定默认命令行配置文件路径。
    可选地,所述基于面向对象的自动化测试系统还包括:判断模块,与所述路径指定模块连接,用于判断作为测试对象的网络协议是否发生变化,若是,则重新调用所述路径指定模块重新指定默认命令行配置文件路径,若否,则调用用于终止所述基于面向对象的自动化测试系统运行的终止模块。
    可选地,所述创建模块还用于为所述测试脚本引入一面向对象的工具命令语言包以使用其中的测试脚本接口;所述第一操作模块还用于初始化作为测试对象的网络协议需配置属性 参数。
    本发明又一方面还提供一种自动化平台,所述自动化平台与一待测设备连接,所述自动化平台包括:如权利要求7-9中任一所述的基于面向对象的自动化测试系统;及交互单元,用于与所述基于面向对象的自动化测试系统连接的,用于提供用户通过所述自动化平台与所述待测设备交互下发的命令行的命令行界面
    如上所述,本发明的基于面向对象的自动化测试方法及系统、和自动化平台,具有以下有益效果:
    本发明基于面向对象的自动化测试方法及系统、和自动化平台引入了面向对象的思想,将网络协议作为一个对象,将网络协议的相关参数作为对象的属性,将网络协议的功能作为对象的方法。提高了接口的封装级别,提高了接口的易用性和脚本的可读性。所述基于面向对象的自动化测试方法的接口调用简单,降低了编写自动化脚本的测试人员门槛,提升了编写脚本的速度,且功能测试接口中与设备交互下发的cli命令取自用户指定的配置文件,测试人员只需指定修改配置文件的路径即可适配不同的设备,扩展性好。测试人员通过利用本发明只需调用一种测试方法就可以测试一个功能,简化了自动化测试脚本开发人员的工作。
    附图说明
    图1显示为本发明的基于面向对象的自动化测试方法流程示意图。
    图2显示为本发明的基于面向对象的自动化测试系统的原理结构示意图。
    图3显示为本发明的自动化平台的原理结构示意图。
    元件标号说明
    10      基于面向对象的自动化测试系统
    101     创建模块
    102     选取模块
    103     第一操作模块
    104     第二操作模块
    105     路径指定模块
    106     判断模块
    107     终止模块
    2       自动化平台
    21      基于面向对象的自动化测试系统
    22      交互单元
    S1~S7  步骤
    具体实施方式
    以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
    需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
    本发明所述的基于面向对象的自动化测试方法及系统的发明原理如下:
    本发明的具体实现为:
    1、支撑库脚本引入itcl包。代码为:
    Package require Itcl
    2、为每个协议创建一个类。以vlan为例,代码如下:

    3、为协议的每个参数新建set与get方法。即上述示例中的method。
    4、为协议的每个功能测试点新建一个方法。用户只需调用此方法即可完成该功能的测试。
    5、为协议指定默认的cli命令配置文件路径。同时新建一个setConfigPath的方法,允许用户调用来修改引用的cli命令配置文件路径。
    实施例一
    本实施例所述的基于面向对象的自动化测试方法,该基于面向对象的自动化测试方法通过自动化平台应用在多台待测设备,所述待测设备包括路由器,交换机等网络设备,每一所述待测设备配置不同网络协议,每一网络协议具有多个功能测试点。支持所述基于面向对象的自动化测试方法的网络协议包括:ACL,DHCP Relay,DHCP Snooping,EAPS,IGMP,IGMP Snooping,Lacp,LLDP,Mirror,NLDP,PIM-SM,QINQ,RIP,VLAN,VRRP。在本实施例中,以VLAN为例。请参阅图1,显示为基于面向对象的自动化测试方法流程示意图。如图1所示,所述基于面向对象的自动化测试方法包括以下几个步骤:
    S1,创建一用于测试待测设备配置的所述网络协议的测试脚本,并令所述测试脚本引入用于提供所述测试脚本接口的数据包。在本步骤中,所述步骤S1还包括为所述测试脚本引入一面向对象的工具命令语言包,即itcl包,所述itcl包是tcl包的扩展模块,引入itcl包后可使用该包中的接口,以使用其中的测试脚本接口。在本实施例中,所述测试脚本也称支撑库脚本,而支撑库是供脚本调用的脚本接口。
    S2,选取一待测设备以选定该待测设备上配置的网络协议为测试对象。所述网络协议包括多个需配置属性参数。不同网络协议包括不同的需配置属性参数。在本实施例中,作为测试对象的网络协议为VLAN,VLAN包括的需配置属性参数在本实施例中为ID地址。
    S3,利用预存的属性参数设置操作和获取已设置属性参数操作处理作为测试对象的网络协议。在本实施例中,预存的属性参数设置操作=Vlan_obj setVlanIdMethod,预存的属性参数设置操作用以对需配置属性参数进行设置操作,即设置本实施例中VLAN的ID地址,预存的获取已设置属性参数操作=Vlan_obj getVlanListMethod,预存的获取已设置属性参数操作用以获取设置的需配置属性参数的参数信息,即获取本实施例中VLAN列表。在本实施例中,在执行利用预存的属性参数设置操作和获取已设置属性参数操作处理作为测试对象的网络协议之前,还需要初始化作为测试对象的网络协议需配置属性参数。
    S4,调用预置测试方式测试作为测试对象的网络协议的多个功能测试点。所述预置测试方式包括创建不同的作为测试对象的网络协议报文、向所述待测设备循环发送作为测试对象的网络协议报文、捕获符合条件的作为测试对象的网络协议报文、和/或解析过滤捕获的作为 测试对象的网络协议报文,在本实施例中,预测测试方式包括createVlanPacket可创建不同的Vlan报文,sendVlanPackets可向待测设备循环发送指定的Vlan报文,captureVlanPackets可捕获收到的符合条件的Vlan报文,parseVlanPackets可解析过滤捕获到的不同的Vlan报文。
    S5,为作为测试对象的网络协议指定默认命令行配置文件路径。在本步骤中,通过创建一种setDefaultCfgPath命令为命令行配置默认命令行配置文件路径。
    S6,判断作为测试对象的网络协议是否发生变化,若是,则执行步骤S7;若否,则结束进程。
    S7,重新指定默认命令行配置文件路径。在本步骤中,需要调用modifyConfigPath命令为新的测试对象指定默认命令行配置文件路径。此处需要说明的是,每一种网络协议都具有与之匹配的默认命令行配置文件路径。
    以下是所述基于面向对象的自动化测试方法的基本实现代码:


    本实施例所述的基于面向对象的自动化测试方法引入了面向对象的思想,将网络协议作为一个对象,将网络协议的相关参数作为对象的属性,将网络协议的功能作为对象的方法。提高了接口的封装级别,提高了接口的易用性和脚本的可读性。所述基于面向对象的自动化测试方法的接口调用简单,降低了编写自动化脚本的测试人员门槛,提升了编写脚本的速度,且功能测试接口中与设备交互下发的cli命令取自用户指定的配置文件,测试人员只需指定修改配置文件的路径即可适配不同的设备,扩展性好。测试人员通过利用本实施例所述的基于面向对象的自动化测试方法只需调用一种测试方法就可以测试一个功能,简化了自动化测试脚本开发人员的工作。
    实施例二
    本实施例提供一种基于面向对象的自动化测试系统10,该基于面向对象的自动化测试系统通过自动化平台应用在多台待测设备,每一所述待测设备配置不同网络协议,每一网络协议具有多个功能测试点。支持所述基于面向对象的自动化测试方法的网络协议包括:ACL,DHCP Relay,DHCP Snooping,EAPS,IGMP,IGMP Snooping,Lacp,LLDP,Mirror,NLDP,PIM-SM,QINQ,RIP,VLAN,VRRP。在本实施例中,以VLAN为例。请参阅图2,显示为基于面向对象的自动化测试系统原理结构示意图。如图2所示,所述基于面向对象的自动化测试系统10包括:创建模块101、选取模块102、第一操作模块103、第二操作模块104、路径指定模块105、判断模块106、及终止模块107。
    所述创建模块101用于创建一用于测试待测设备配置的所述网络协议的测试脚本,并令所述测试脚本引入用于提供所述测试脚本接口的数据包。在本实施例中,所述创建模块101还用于为所述测试脚本引入一面向对象的工具命令语言包,即itcl包,所述itcl包是tcl包的扩展模块,引入itcl包后可使用该包中的接口,以使用其中的测试脚本接口。在本实施例中,所述测试脚本也称支撑库脚本,而支撑库是供脚本调用的脚本接口。
    所述选取模块102与所述创建模块101连接用于选取一待测设备以选定该待测设备上配置的网络协议为测试对象;所述网络协议包括多个需配置属性参数。不同网络协议包括不同的需配置属性参数。在本实施例中,作为测试对象的网络协议为VLAN,VLAN包括的需配置属性参数在本实施例中为ID地址。
    所述第一操作模块103与所述选取模块102连接并用于利用预存的属性参数设置操作和获取已设置属性参数操作处理作为测试对象的网络协议。在本实施例中,预存在所述第一操作模块103中的属性参数设置操作=Vlan_obj setVlanIdMethod,所述属性参数设置操作用以对需配置属性参数进行设置操作,即设置待测设备中配置的VLAN的ID地址,预存的获取已设置属性参数操作=Vlan_obj getVlanListMethod,预存的获取已设置属性参数操作用以获取设置的需配置属性参数的参数信息,即获取本实施例中VLAN列表。在本实施例中,所述第一操作模块103在执行利用预存的属性参数设置操作和获取已设置属性参数操作处理作为测试对象的网络协议之前,还需要初始化作为测试对象的网络协议需配置属性参数。
    与所述选取模块102和第一操作模块103连接的第二操作模块104用于调用预置测试方式测试作为测试对象的网络协议的多个功能测试点。所述预置测试方式包括创建不同的作为测试对象的网络协议报文、向所述待测设备循环发送作为测试对象的网络协议报文、捕获符合条件的作为测试对象的网络协议报文、和/或解析过滤捕获的作为测试对象的网络协议报文,在本实施例中,预测测试方式包括createVlanPacket可创建不同的Vlan报文,sendVlanPackets 可向待测设备循环发送指定的Vlan报文,captureVlanPackets可捕获收到的符合条件的Vlan报文,parseVlanPackets可解析过滤捕获到的不同的Vlan报文。
    与所述第二操作模块104连接的路径指定模块105用于为作为测试对象的网络协议指定默认命令行配置文件路径。在本实施例中,所述第二操作模块104通过创建一种设置配置路径命令,即setDefaultCfgPath命令为命令行配置默认命令行配置文件路径。在本实施例中,设置路径的代码为setConfigPath,该代码还可以用于允许测试人员调用以修改默认命令行配置文件路径。
    分别与所述选取模块102和路径指定模块105连接的所述判断模块106用于判断作为测试对象的网络协议是否发生变化,若是,则重新调用所述路径指定模块105重新指定默认命令行配置文件路径,在重新调用所述路径指定模块105时需重新创建一修改配置路径命令,modifyConfigPath命令为新的测试对象指定默认命令行配置文件路径。此处需要说明的是,每一种网络协议都具有与之匹配的默认命令行配置文件路径。若否,则调用用于终止所述基于面向对象的自动化测试系统运行的终止模块107。所述终止模块107与判断模块106连接。
    本实施例所述的基于面向对象的自动化测试系统引入了面向对象的思想,将网络协议作为一个对象,将网络协议的相关参数作为对象的属性,将网络协议的功能作为对象的方法。提高了接口的封装级别,提高了接口的易用性和脚本的可读性。所述基于面向对象的自动化测试方法的接口调用简单,降低了编写自动化脚本的测试人员门槛,提升了编写脚本的速度,且功能测试接口中与设备交互下发的cli命令取自用户指定的配置文件,测试人员只需指定修改配置文件的路径即可适配不同的设备,扩展性好。测试人员通过利用本实施例所述的基于面向对象的自动化测试系统只需调用一种测试方法就可以测试一个功能,简化了自动化测试脚本开发人员的工作。
    实施例三
    本实施例提供一种自动化平台2,所述自动化平台2与一待测设备连接,每一所述待测设备配置不同网络协议,每一网络协议具有多个功能测试点。所述网络协议包括:ACL,DHCP Relay,DHCP Snooping,EAPS,IGMP,IGMP Snooping,Lacp,LLDP,Mirror,NLDP,PIM-SM,QINQ,RIP,VLAN,VRRP。请参阅图3,显示为自动化平台的原理结构示意图。所述自动化平台2包括上述实施例二中描述的基于面向对象的自动化测试系统21,及与用于与所述基于面向对象的自动化测试系统连接的交互单元22,所述交互单元22用于提供用户通过所述自动化平台2与所述待测设备交互下发的命令行(cli)的命令行界面。
    综上所述,本发明基于面向对象的自动化测试方法及系统、和自动化平台引入了面向对 象的思想,将网络协议作为一个对象,将网络协议的相关参数作为对象的属性,将网络协议的功能作为对象的方法。提高了接口的封装级别,提高了接口的易用性和脚本的可读性。所述基于面向对象的自动化测试方法的接口调用简单,降低了编写自动化脚本的测试人员门槛,提升了编写脚本的速度,且功能测试接口中与设备交互下发的cli命令取自用户指定的配置文件,测试人员只需指定修改配置文件的路径即可适配不同的设备,扩展性好。测试人员通过利用本发明只需调用一种测试方法就可以测试一个功能,简化了自动化测试脚本开发人员的工作。
    所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
    上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

    关 键  词:
    基于 面向 对象 自动化 测试 方法 系统 平台
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于面向对象的自动化测试方法及系统、和自动化平台.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6369484.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1