CN100461707C - 对简单网络管理协议的代理实现自动化测试的方法及系统 - Google Patents

对简单网络管理协议的代理实现自动化测试的方法及系统 Download PDF

Info

Publication number
CN100461707C
CN100461707C CNB2006101700302A CN200610170030A CN100461707C CN 100461707 C CN100461707 C CN 100461707C CN B2006101700302 A CNB2006101700302 A CN B2006101700302A CN 200610170030 A CN200610170030 A CN 200610170030A CN 100461707 C CN100461707 C CN 100461707C
Authority
CN
China
Prior art keywords
test
module
network equipment
parameter
case
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.)
Expired - Fee Related
Application number
CNB2006101700302A
Other languages
English (en)
Other versions
CN1988482A (zh
Inventor
杜承杨
高必杰
窦传洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006101700302A priority Critical patent/CN100461707C/zh
Publication of CN1988482A publication Critical patent/CN1988482A/zh
Application granted granted Critical
Publication of CN100461707C publication Critical patent/CN100461707C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例中公开了一种对简单网络管理协议(SNMP)的代理实现自动化测试的方法,该方法预先设置基本用例数据,并包括以下步骤:A、设置测试参数及异常监测对象;B、根据所述测试参数和基本用例数据向被测代理(Agent)发送相应的请求报文,并向所述被测网络设备发送针对所述异常监测对象的异常查询命令;C、分析所述被测Agent返回的应答报文以及所述被测网络设备返回的异常查询响应,得到测试结果及异常监测结果。本发明实施例中还公开了一种对简单网络管理协议的代理实现自动化测试的系统。应用本发明能够在进行Agent基本功能自动化测试的同时,实现对网络设备的异常监测。

Description

对简单网络管理协议的代理实现自动化测试的方法及系统
技术领域
本发明涉及网络管理技术,特别涉及一种对简单网络管理协议(SNMP)中的代理(Agent)实现自动化测试的方法及系统。
背景技术
简单网络管理协议是目前TCP/IP网络中应用最为广泛的网络管理协议,用于管理网络中的节点设备。SNMP协议中有以下几个基本概念:管理站、Agent和管理信息库(MIB)。
其中,管理站是网络管理员与网络管理系统的接口,管理站上运行一个或多个管理进程,管理进程通过SNMP协议与网络设备中的Agent进行通信;
Agent是驻留在被管网络设备上的进程,被管网络设备可以是配置了SNMP协议的主机、路由器、网桥和交换机等,每个Agent负责维护本地MIB来存放被管资源的状态和运行情况,对来自管理站的信息查询和动作执行请求作出响应,同时还可以异步地向管理站提供一些重要的非请求信息;
MIB是一个信息存储库,它包含了Agent中的有关配置和性能数据,是网络管理的基础,每一个被管资源由一个对象来表示,MIB就是由这样一些对象组成的结构化的集合。
为了实现管理站与Agent之间的信息交换,SNMP协议定义了5种基本操作,即GET、GET-NEXT、GET-BULK、WALK和SET,通过这些基本操作,管理站可以获取MIB对象的值从而实现网络资源监视,也可以修改特殊变量的值来使Agent执行一个动作或修改资源的配置等。
通常,需要对Agent进行测试,以确保Agent能够正常、有效地工作。Agent测试是一件烦琐而又重复性极强的工作,现有技术中存在一种Agent测试工具。
该Agent测试工具扩展了用于代理测试的工具命令语言(TCL),包括:代理参数的配置命令族、用户相关的命令族、基本代理操作命令族、获取操作结果的命令族、MIB相关的命令族、以及其他辅助命令等,并设置了一个用于保存每次代理命令的执行结果的全局变量,该工具进行Agent测试的方法包括以下步骤:
步骤1、根据用户设置的测试用例向被测Agent发送相应的SNMP请求报文;例如,测试用例是针对某个Agent的GET功能的测试,则模拟管理站向相应的Agent发送GET请求报文;
步骤2、接收并分析Agent返回的应答报文,通常,是取返回报文中的三要素,即对象标识符(OID)/SYN(类型)/VALUE(值),对于错误信息,也将通过变量的形式返回;
步骤3、将分析结果返回给管理站侧的用户,完成对某个单独节点的测试。
近年来,随着网络的快速扩张,以及随之而来的各种管理问题和安全问题的日益增多,网络设备出现异常的概率也随之增加;而上述Agent测试方法只能实现对Agent基本功能的测试,不能在Agent测试的同时对网络设备进行异常监测,可见,现有技术在Agent测试中的异常监测方面还存在自动化盲点。
此外,Agent测试的主要内容除包括对Agent自身功能的测试之外,还应该包括各种复杂环境下的压力测试、以及与设备相关信息的比对,而采用上述现有技术还不能实现设备信息的比对和压力测试,因此,现有技术在压力测试和设备信息的比对方面也存在自动化盲点。
发明内容
有鉴于此,本发明实施例的主要目的在于提供一种对简单网络管理协议的代理实现自动化测试的方法,以实现Agent自动化测试中的异常监测。
本发明实施例的另一个目的在于提供一种对简单网络管理协议的代理实现自动化测试的系统,以实现Agent自动化测试中的异常监测。
为达到上述目的,本发明实施例的技术方案具体是这样实现的:
一种对简单网络管理协议的代理实现自动化测试的方法,预先设置基本用例数据,该方法包括以下步骤:
A、设置测试参数及异常监测对象;
B、根据所述测试参数和基本用例数据向被测代理Agent发送相应的请求报文,并向被测网络设备发送针对所述异常监测对象的异常查询命令;
C、分析所述被测代理Agent返回的应答报文以及所述被测网络设备返回的异常查询响应,得到测试结果及异常监测结果。
一种对简单网络管理协议的代理实现自动化测试的系统,其特征在于,所述系统包括:测试参数配置模块、存储模块、调度运行模块、功能测试模块和异常监测模块;
所述测试参数配置模块,用于设置测试参数及异常监测对象,并将所述测试参数及异常监测对象发送给所述调度运行模块;
所述存储模块,用于存储预先设置的基本用例数据,并向所述功能测试模块提供所述基本用例数据;
所述调度运行模块,用于根据所述测试参数调度所述功能测试模块向被测代理Agent发送相应的请求报文,并根据所述异常监测对象控制所述异常监测模块向所述被测网络设备发送针对所述异常监测对象的异常查询命令;
所述功能测试模块,用于根据所述调度运行模块的调度以及所述存储模块提供的所述基本用例数据向所述被测代理Agent发送相应的请求报文,并用于接收、分析所述被测代理Agent返回的应答响应报文,得到测试结果;
所述异常监测模块,用于根据所述调度运行模块的控制向所述被测网络设备发送针对所述异常监测对象的异常查询命令,并用于接收、分析所述被测网络设备返回的异常查询响应,得到异常监测结果。
由上述技术方案可见,本发明实施例所公开的技术方案中,通过设置基本用例数据、测试参数及异常监测对象,并在向被测Agent发送请求报文进行自动化测试的同时,实时地向被测网络设备发送针对异常监测对象的异常查询命令,如此,通过被测Agent返回的应答报文和被测网络设备返回的异常查询响应,就可以得到测试结果及异常监测结果,从而在进行Agent基本功能自动化测试的同时,实现了对网络设备的异常监测。
附图说明
图1为本发明实施例一中对SNMP的代理实现自动化测试的方法流程示意图。
图2为本发明实施例二中对SNMP的代理实现自动化测试的方法流程示意图。
图3为本发明实施例四中对SNMP的代理实现自动化测试的系统组成结构示意图。
图4为本发明实施例四中对SNMP的代理实现自动化测试的系统的较佳组成结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
本发明实施例的主要思想是在对Agent进行自动化测试的过程中,同时对该Agent所驻留的网络设备中的异常情况进行监测,以实现Agent测试中的异常监测。这里,将被测Agent所驻留的网络设备称为被测网络设备。
本发明在对网络设备实现异常监测的基础上,还可以通过设置循环测试参数对测试用例进行循环测试,从而实现各种复杂环境下的压力测试。此外,本发明还提供了进行设备信息比对的技术方案。下面通过四个具体实施例对本发明技术方案进行详细说明。
实施例一:
本实施例说明如何使用本发明技术方案实现Agent自动化测试中的异常监测。
图1为本发明实施例一中对SNMP的代理实现自动化测试的方法流程示意图。参见图1,该方法预先设置用于进行Agent测试的基本用例数据,该方法还包括以下步骤:
步骤101:设置测试参数及异常监测对象。
本步骤中,所设置的测试参数至少包括:被测网络设备的IP地址、被测网络设备中被测MIB节点的根对象标识符(OID)、被测MIB源文件地址和拓扑信息,同时还可以包括选择测试用例的参数、测试版本参数、日志文件地址参数、与拓扑信息相应的配置文件参数、进行业务配置的指令参数、设备类型和设备名称等参数中的一个和多个参数的组合。
其中,被测网络设备的IP地址用于唯一确定一个被测网络设备,由于网络设备与Agent是一一对应的关系,因此,被测网络设备的IP地址也唯一确定了被测Agent;
由于一个Agent上通常挂接有多个MIB根节点,而Agent测试是针对某个MIB根节点下所有MIB节点的各种操作的测试,因此,可以在参数:被测网络设备中被测MIB节点的根OID中指出被测MIB节点的根OID;
由于在进行Agent测试之前,需要对MIB文件进行编译,因此需要在参数:被测MIB源文件地址中指出需要编译的MIB源文件的地址;
选择测试用例的参数可以用于确定基本用例数据中的待测测试用例;这里,待测测试用例是指基本用例数据中需要测试的测试用例,由于基本用例数据包括被测Agent的所有能够实现自动化测试的测试用例,而通常在进行Agent测试时,不一定需要对所有测试用例进行测试,因此,可以在该选择测试用例的参数中指明需要对哪些测试用例进行测试;该参数为可选参数,当不指定该参数时,可以预先设置相应的规则,规定默认的待测测试用例;
日志文件地址参数指出测试结果及异常监测结果的存放路径,该参数为可选参数,当不保存测试结果日志及异常监测结果日志时,无需指明日志文件地址,或者,当设置了默认的日志存放路径时,这里也无需指明日志文件地址;
由于用户选择的一个拓扑通常可能对应于多个配置文件,因此,在选择某个拓扑之后,可以每次选择其相应配置文件中的一个配置文件进行测试,并对同一拓扑的多个配置文件均进行测试,如此,使拓扑与配置文件之间形成强映射关系,以保证测试业务的全面覆盖;
进行业务配置的指令参数表示在测试前需要在被测网络设备上配置相应的业务;通常,有的测试用例需要在配置有相应业务的网络设备上才能进行测试,因此,在进行测试之前需要确保被测网络设备上已配置相应的业务;当需要在被测网络设备上配置业务时,将根据测试参数中的拓扑信息参数以及配置文件参数进行配置调度,为被测网络设备配置相应的业务,在完成基于某个配置文件的测试之后,清除网络设备上由配置文件所生成的配置,并判断是否存在未测试的配置文件,如果存在未测试的配置文件,则继续根据下一个未测试的配置文件在被测网络设备上配置相应的业务,重新进行测试;如果不存在未测试的配置文件,则结束本流程。
本步骤中,异常监测对象可以包括:网络设备的CPU利用率、内存利用率、单板运行情况、Agent进程运行情况和断言检查中的一个或多个的组合,当然也可以包括被测网络设备上的其他资源,并且,可以设置默认的异常监测对象,本发明将对这些异常监测对象进行实时异常监测。
步骤102:根据测试参数和基本用例数据向被测Agent发送相应的请求报文,并向被测网络设备发送针对异常监测对象的异常查询命令。
若在前面的步骤中已设置选择测试用例的参数,则本步骤中,可以根据该选择测试用例的参数确定基本用例数据中的待测测试用例,然后根据待测测试用例向Agent发送相应的请求报文;若未设置选择测试用例的参数,可以按照预先设置的规则,根据默认进行测试的测试用例向Agent发送相应的请求报文。
本发明中,基本用例数据可以包括测试Agent的GET、GET-NEXT、GET-BULK、WALK、SET、TRAP和TABLEVIEW等功能的测试用例,以及对整个MIB的所有节点进行SET操作的测试用例和针对多值绑定功能的测试用例,此外,还可以根据实际需要,按照本发明思想扩展用于测试Agent其他功能的测试用例。
利用对整个MIB进行SET操作的测试用例可以对整个MIB进行二个比较粗略的测试;对多值绑定功能进行测试时,可以先配置相应的测试参数,然后根据所配置的测试参数确定基本用例数据中的待测测试用例,并向被测Agent发送相应的请求报文。
对于测试GET、GET-NEXT和SET功能的测试用例,本发明采取了覆盖MIB节点的所有正确实例,并构造错误实例来进行测试的方式,这样,一方面可以保证本发明异常监测能够检测出尽可能多的异常情况,另一方面,也可以在测试过程中发现尽可能多的问题。构造错误实例的方法有很多,下面举一个例子,说明如何通过构造错误索引来构造错误实例。
例如,若一个MIB节点的根OID为1.3.6,且存在两个实例分别为:1.3.6.1.2和1.3.6.1.3,则它们的索引分别为1.2和1.3。本步骤中,对该节点的GET、GET-NEXT和SET进行测试时,首先分别对这两个正确的实例进行GET、GET-NEXT和SET操作,然后,随机选择一个索引,如1.2,通过变换索引逐级的值来构造错误索引,从而形成错误的实例,并向这些错误实例下发相应的请求报文。
具体而言,变换索引逐级的值来构造错误索引的方法是:用0、1、255、11111111111和4294967296依次替代索引逐级的值,如果经该变换后索引在正确的索引中已经存在,则不将此索引作为错误实例进行测试。以上述索引为1.2为例,先以0、1、255、11111111111和4294967296替代1,再以0、1、255、11111111111和4294967296替代2,并排除所得到的实例中与正确实例相同的实例,即可得到错误实例:
1.3.6.0.2,1.3.6.255.2,1.3.6.11111111111.2,1.3.6.4294967296.2
1.3.6.1.0,1.3.6.1.1,1.3.6.1.255,1.3.6.1.1111111111,1.3.6.1.4294967296如此,就完成了对一个节点的所有的GET、GET-NEXT和SET操作。
本步骤中,对网络设备进行异常监测时,可以首先通过串行接口或者远程登录协议(TELNET)或者其他协议与网络设备建立连接,然后实时地向被测网络设备发送针对异常监测对象的异常查询命令,如此,就可以根据被测网络设备返回的异常查询响应信息监测网络设备上的异常情况。这里,针对不同的网络设备,其异常查询命令可能不同,本步骤中,可以根据被测网络设备的类型、按照现有技术的相关规范,确定相应的异常查询命令。
步骤103:分析被测Agent返回的应答报文以及被测网络设备返回的异常查询响应,得到测试结果及异常监测结果。
本步骤中,可以将所得到的测试结果及异常监测结果存入日志文件地址参数所对应的日志文件中,也可以存入默认的日志文件中,如果不需要存储测试结果日志及异常监测结果日志,也可以不存入日志文件,或将所得到的结果进行其他的处理。
当使用本发明方法对多个待测测试用例进行测试时,在执行完本步骤之后,可以进一步判断是否已完成对所有待测测试用例的测试,若没有完成对所有待测测试用例的测试,则将当前测试用例的下一个待测测试用例作为当前测试用例,进行相应的测试,即继续针对该下一个待测测试用例执行步骤B和步骤C;否则,结束本方法流程。如此,本发明将串行地对多个待测测试用例依次进行测试。
完成测试之后,应清除网络设备上由配置文件所生成的配置。
至此,结束本示例性方法流程。
由上述实施例可见,本发明实施例中通过设置基本用例数据、测试参数及异常监测对象,并在向被测Agent发送请求报文进行自动化测试的同时,实时地向被测网络设备发送针对异常监测对象的异常查询命令,如此,可以通过Agent返回的应答报文和网络设备返回的异常查询响应,得到测试结果及异常监测结果,从而在进行Agent基本功能自动化测试的同时,实现了对网络设备的异常监测。
可以对实施例一中的自动化测试方法进行适当的改进,从而实现压力测试。下面通过实施例二对使用本发明技术方案进行压力测试的具体实施方式进行说明。
实施例二:
图2为本发明实施例二中对SNMP的代理实现自动化测试的方法流程示意图。本实施例技术方案在实施例一所述技术方案的基础上,增加了一些进行压力测试的操作步骤,参见图2,该方法包括以下步骤:
步骤201:设置测试参数及异常监测对象。
本实施例所设置的测试参数中,除可以包括实施例一中已描述过的参数之外,还需要包括循环次数参数。
本步骤中,可以针对所有基本用例数据或所有待测测试用例设置统一的循环次数参数,也可以分别针对每个待测测试用例设置各自的循环次数参数。在进行压力测试时,该参数用于判断循环次数是否已经达到预先设定的次数。
在步骤202和步骤203中,执行与步骤102和步骤103类似的操作,即根据测试参数和基本用例数据向被测Agent发送相应的请求报文,并向被测网络设备发送针对异常监测对象的异常查询命令,然后分析被测Agent返回的应答报文以及被测网络设备返回的异常查询响应,得到测试结果及异常监测结果。
与实施例一类似,可以将所得到的测试结果及异常监测结果存入指定的日志文件中。并且,在执行步骤202或步骤203时,可以对当前测试用例的测试次数进行计数。
步骤204:判断当前测试用例的测试次数是否已达到该测试用例的循环次数参数次,若已达到,则继续执行步骤205;否则,继续执行步骤202。
若在步骤202或步骤203中采取了对当前测试用例的测试次数累加的方式进行计数,则本步骤中判断当前测试用例的测试次数是否已达到该测试用例的循环次数参数次的方式为:判断测试次数是否等于循环次数参数;
若在步骤202或步骤203中采取了令当前测试用例的测试次数的初值等于循环次数参数、并对当前测试用例的测试次数递减的方式进行计数,则本步骤中判断当前测试用例的测试次数是否已达到该测试用例的循环次数参数次的方式为:判断测试次数是否等于0。
本步骤中,若当前测试用例的测试次数尚未达到预先设置的循环次数参数次,则继续使用该测试用例进行压力测试,即继续执行步骤202;否则,表示已完成对当前测试用例的压力测试,应判断是否已完成对所有待测测试用例的测试,即继续执行步骤205。
步骤205:判断是否已完成对所有待测测试用例的测试,若没有完成对所有待测测试用例的测试,则将当前测试用例的下一个测试用例作为当前测试用例,继续执行步骤202;否则,结束本方法流程。
当使用本发明方法对多个待测测试用例进行测试时,本步骤中的操作可以实现串行地对多个待测测试用例依次进行测试。
至此,结束本实施例方法流程,实现了Agent自动化测试中的异常监测和压力测试。
由上述实施例可见,本发明实施例在实现异常监测的基础上,通过进一步设置待测测试用例的循环次数参数,并在每次执行完测试之后,判断是否已对当前测试用例执行相应的循环次数参数次测试,若尚未执行循环次数参数次,则重复执行同样的测试,从而实现压力测试。
本发明除提供了进行异常监测和压力测试的技术方案之外,还提供了用于实现设备信息比对功能的测试方案,下面的实施例三中将予以详细说明。
实施例三:
本实施例所增加的对设备信息比对功能的测试,可以以实施例一所述技术方案为基础,也可以以实施例二所述技术方案为基础。下面以实施例一为例进行说明
本实施例在实施例一所述技术方案的基础上,预先设置比对用例数据,并在步骤101中设置测试参数时,进一步设置选择比对用例的参数。
本实施例所设置的比对用例数据中,包括比对时需要向被测网络设备发送的命令,以及对被测网络设备返回信息的处理参数。
所设置的选择比对用例的参数可以用于确定比对用例数据中的待比对用例;这里,待比对用例是指比对用例数据中需要比对的用例,由于比对用例数据包括被测Agent的所有能够实现比对的设备信息,而通常在进行设备信息比对时,不一定需要对所有信息进行比对,因此,可以在该选择比对用例的参数中指明需要对哪些设备信息进行比对;该参数为可选参数,当不指定该参数时,可以预先设置相应的规则,规定默认的待比对用例。
在步骤中,可以根据待比对用例向被测网络设备发送相应的命令,同时监测被测网络设备中的异常情况,并根据被测网络设备返回的信息,以待比对用例中的处理参数进行相应的处理,得到比对结果以及异常监测结果。所得到的比对结果及异常监测结果可以按照与实施例一类似的方式进行处理。
本实施例中,在完成一个待比对用例的测试之后,也可以按照与实施例一相同的方式判断是否已完成对所有待比对用例和所有待测测试用例的测试,当没有完成时,继续对下一个待比对用例进行比对或待测测试用例进行测试。如此,实现了串行地对多个待比对用例的比对和待测测试用例的测试。
由上述实施例可见,本发明实施例在实现异常监测和/或压力测试的基础上,通过进一步设置比对用例数据和选择待比对用例的参数,并按照与Agent基本功能测试类似的步骤向被测网络设备发命令、分析返回数据,实现了设备信息的比对。
以上通过三个实施例详细说明了本发明对SNMP的代理实现自动化测试的方法的具体实施方式,下面通过一个具体实施例说明本发明对SNMP的代理实现自动化测试的系统的具体实施方式。
实施例四:
图3为本发明实施例四中对SNMP的代理实现自动化测试的系统组成结构示意图。参见图3,该系统包括:测试参数配置模块301、调度运行模块302、功能测试模块303、异常监测模块304和存储模块305。
其中,存储模块305,用于存储有预先设置的基本用例数据,并向功能测试模块303提供基本用例数据;
测试参数配置模块301,用于设置测试参数及异常监测对象,并将测试参数及异常监测对象发送给调度运行模块302;
调度运行模块302,用于根据测试参数调度功能测试模块303向被测Agent发送相应的请求报文,并根据异常监测对象控制异常监测模块304向被测网络设备发送针对异常监测对象的异常查询命令;
功能测试模块303,用于根据调度运行模块302的调度以及存储模块305提供的基本用例数据向被测Agent发送相应的请求报文,并用于接收、分析被测Agent返回的应答响应报文,得到测试结果;
异常监测模块304,用于根据调度运行模块302的控制向被测网络设备发送针对异常监测对象的异常查询命令,并用于接收、分析被测网络设备返回的异常查询响应,得到异常监测结果。
图3所示系统中,功能测试模块303可以进一步划分为GET子模块、GET-NEXT子模块、GET-BULK子模块、WALK子模块和SET子模块,以分别实现对Agent五大基本功能的测试。并且,可以在图3所示系统中,或所示功能测试模块303中进一步设置整MIB SET子模块、多值绑定子模块、比对子模块、TRAP子模块和TABLEVIEW子模块等,以进行相应的自动化测试。若设置了对比子模块,则需要在系统中存储相应的比对用例数据,例如,在存储模块305中存储比对用例数据,并在比对用例数据中包含比对时需要向被测网络设备发送的命令信息,以及对被测网络设备返回信息的处理参数信息,以实现设备信息的比对。上述各子模块除比对模块之外均设置为可以循环的子模块,以实现压力测试。各子模块实现压力测试的方法是:每执行完一次待测测试用例的测试,判断该待测测试用例的测试次数是否已达到循环次数参数次,如果未达到则继续对该待测测试用例进行循环测试。
图3所示系统中的异常监测模块304,可以通过串行接口、TELNET协议或者其他协议与网络设备建立连接,并根据调度运行模块302的控制实时地向被测网络设备发送针对异常监测对象的异常查询命令如此,就可以根据被测网络设备返回的异常查询响应信息监测网络设备上的异常情况。
图3所示系统中还可以进一步包括拓扑自动配置模块,并在存储模块305中进一步存储与拓扑信息相对应的配置文件。当在测试之前需要对被测网络设备配置业务时,测试参数中将设置有与拓扑信息相应的配置文件地址参数,此时,测试参数配置模块301可以将拓扑信息及相应的配置文件地址发送给拓扑自动配置模块,由拓扑自动配置模块根据拓扑信息及配置文件地址,从存储模块305中获取相应的配置文件,并根据该拓扑信息及配置文件在网络设备上配置相应的业务,并在配置完成之后通知调度运行模块302开始调度功能测试模块和异常监测模块的操作。当同一拓扑对应多个配置文件时,拓扑自动配置模块在针对每一个配置文件的测试之前均进行一次配置,如此,可以保证测试业务的全面覆盖。完成测试之后,拓扑自动配置模块清除网络设备上由配置文件所生成的配置。
图3所示系统中还可以进一步包括日志文件存储模块,用于存储测试结果、比对结果及异常监测结果。
将图3所示系统按照上述较佳实施方式进行细化、并增加相应的模块之后,将形成如图4所示的结构。图4为本发明实施例四中对SNMP的代理实现自动化测试的系统的较佳组成结构示意图。
参见图4,该系统包括:测试参数配置模块301、调度运行模块302、功能测试模块303、异常监测模块304、存储模块305、拓扑自动配置模块406和日志文件存储模块407。其中,功能测试模块303进一步包括:GET子模块、GET-NEXT子模块、GET-BULK子模块、WALK子模块、SET子模块、整MIB SET子模块、多值绑定子模块、比对子模块、TRAP子模块和TABLEVIEW子模块。图4所示系统的工作流程为:
预先存储基本用例数据、比对用例数据和配置文件,并在测试参数配置模块301配置测试参数及异常监测对象;
然后将测试参数中的相关参数发送给调度运行模块302和拓扑自动配置模块406;具体而言,根据测试参数中的被测网络设备的OID和IP地址唯一确定一个被测网络设备,并将异常监测对象、选择测试用例的参数、日志文件地址参数、循环次数参数、设备类型和设备名称等参数发送给调度运行模块302,将进行业务配置的指令参数、拓扑信息及相应的配置文件参数发送给拓扑自动配置模块406;
拓扑自动配置模块406根据拓扑信息即配置文件参数对网络设备进行相应的业务配置;
当进行测试时,调度运行模块302根据选择测试用例的参数确定基本用例数据中的待测测试用例,并根据待测测试用例调度功能测试模块303中相应的子模块执行测试,即向被测Agent发送相应的请求消息;
当进行比对时,调度运行模块302根据选择比对用例的参数确定比对用例数据中的待比对用例,并调度功能测试模块303中的比对子模块执行比对操作,即向被测网络设备发送响应的命令;
并且,调度运行模块302将异常监测对象发送给异常监测模块,由异常监测模块向被测网络设备发送相应的异常查询命令,接收、分析被测网络设备返回的异常查询响应,并将分析结果存入日志文件存储模块407中;
功能测试模块303中除比对子模块之外的各子模块可以循环执行,当设置的循环次数参数大于1次时,可以对各子模块对应的功能进行压力测试,执行完测试或比对之后,将测试结果或比对结果存入日志文件存储模块407中。
若测试参数中所设置的拓扑对应于多个配置文件,则针对一个配置文件执行完一次测试之后,清除网络设备上由配置文件所生成的配置,并由拓扑自动配置模块406根据拓扑所对应的下一个配置文件对网络设备进行相应的业务配置,然后按照上述流程再次执行测试,至此得到所有配置文件对应的业务配置下的测试结果,以保证测试业务的全面覆盖。
上述系统中,功能测试模块303中的各子模块除可以覆盖测试MIB节点的所有正确实例之外,还可以根据正确实例构造错误实例进行相应的测试,构造错误实例的具体方式请参见实施例一中的相关描述,在此不再赘述。如此,一方面可以保证本发明异常监测能够检测出尽可能多的异常情况,另一方面,也可以在测试过程中发现尽可能多的问题。
由上述实施例可见,本实施例中通过设置异常监测模块,并在向被测Agent发送请求报文进行自动化测试的同时,实时地向被测网络设备发送针对异常监测对象的异常查询命令,如此,可以通过Agent返回的应答报文和网络设备返回的异常查询响应,得到测试结果及异常监测结果,从而在进行Agent基本功能自动化测试的同时,实现了对网络设备的异常监测。
并且,本实施例通过将功能测试模块中的子模块设置为可循环的模块,并设置循环次数参数,从而通过各子模块的循环实现了压力测试。此外,本实施例通过在系统中设置设备信息比对模块,实现了设备信息的比对。
经试验,本发明技术方案进行自动化测试可以使一个版本周期缩短到1/7,大大缩短了Agent测试的周期。并且,本发明技术方案能够扫除人工测试的死角,解决手工测试覆盖不全的问题,发现很多隐藏的致命问题。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (23)

1.一种对简单网络管理协议的代理实现自动化测试的方法,其特征在于,预先设置基本用例数据,该方法包括以下步骤:
A、设置测试参数及异常监测对象;
B、根据所述测试参数和基本用例数据向被测代理Agent发送相应的请求报文,并向被测网络设备发送针对所述异常监测对象的异常查询命令;
C、分析所述被测代理Agent返回的应答报文以及所述被测网络设备返回的异常查询响应,得到测试结果及异常监测结果。
2.根据权利要求1所述的方法,其特征在于,所述测试参数中包括所述被测网络设备的IP地址、所述被测网络设备中被测MIB节点的根对象标识符OID、被测MIB源文件地址、拓扑信息和选择测试用例的参数;
步骤B所述根据所述测试参数和基本用例数据向被测代理Agent发送相应的请求报文为:
根据所述被测网络设备的IP地址确定所述被测代理Agent,并根据所述选择测试用例的参数确定所述基本用例数据中的待测测试用例,然后根据所述待测测试用例向被测代理Agent发送相应的请求报文。
3.根据权利要求2所述的方法,其特征在于,在所述步骤C之后进一步包括:
D、判断是否已完成对所有待测测试用例的测试,若没有完成对所有待测测试用例的测试,则将当前测试用例的下一个待测测试用例作为当前测试用例,继续执行步骤B;否则,结束本方法流程。
4.根据权利要求3所述的方法,其特征在于,所述测试参数中包括循环次数参数;
在所述步骤C与所述步骤D之间,进一步包括:判断所述当前测试用例的测试次数是否已达到所述循环次数参数次,若已达到所述循环次数参数次,则继续执行所述步骤D;否则,继续执行所述步骤B。
5.根据权利要求2所述的方法,其特征在于,进一步预先设置比对用例数据,并设置选择比对用例的参数;
在所述步骤B中进一步包括:根据所述选择比对用例的参数确定所述比对用例数据中的待比对用例,然后根据所述待比对用例向被测网络设备发送相应的命令;
在所述步骤C中进一步包括:分析所述被测网络设备返回的信息,得到比对结果。
6.根据权利要求5所述的方法,其特征在于,在所述步骤C之后进一步包括:
E、判断是否已完成对所有待比对用例的比对和所有待测测试用例的测试,若没有完成对所有待比对用例的比对或待测测试用例的测试,则将当前待比对用例的下一个待比对用例作为当前比对用例、或将当前测试用例的下一个待测测试用例作为当前测试用例,继续执行步骤B;否则,结束本方法流程。
7.根据权利要求6所述的方法,其特征在于,所述比对用例数据中包括比对时需要向所述被测网络设备发送的命令,以及对所述被测网络设备返回信息的处理参数;
步骤B所述相应的命令为:所述比对时需要向所述被测网络设备发送的命令;
步骤C所述分析所述被测网络设备返回的信息为:根据所述对所述被测网络设备返回信息的处理参数分析所述被测网络设备返回的信息。
8.根据权利要求2至7任一项所述的方法,其特征在于,所述测试参数进一步包括:进行业务配置的指令参数及与所述拓扑信息相对应的配置文件;
在所述步骤B之前,进一步包括:根据所述进行业务配置的指令参数,按照所述拓扑信息及相应的配置文件在所述被测网络设备上配置相应的业务,继续执行所述步骤B,并在完成基于所述配置文件的测试之后,清除所述被测网络设备上由所述配置文件所生成的配置。
9.根据权利要求8所述的方法,其特征在于,所述拓扑信息对应于多个配置文件,则在所述清除操作之后,进一步包括:根据所述拓扑信息所对应的下一个配置文件在所述被测网络设备上配置相应的业务,继续执行所述步骤B。
10.根据权利要求1至7任一项所述的方法,其特征在于,步骤B所述向所述被测网络设备发送针对所述异常监测对象的异常查询命令为:
通过串行接口或远程登录协议建立与所述被测网络设备之间的连接,并实时向所述被测网络设备发送针对所述异常监测对象的异常查询命令。
11.根据权利要求5、6或7所述的方法,其特征在于,所述测试参数进一步包括:日志文件地址参数;
将所述步骤C所得到的测试结果、异常监测结果及比对结果存入所述日志文件地址参数所对应的日志文件中。
12.根据权利要求1至7任一项所述的方法,其特征在于,所述基本用例数据包括:测试所述被测代理Agent的GET、GET-NEXT、GET-BULK、WALK、SET、TRAP、TABLEVIEW、对整个管理信息库MIB进行SET操作以及针对多值绑定功能中的一个或者多个功能的测试用例。
13.根据权利要求12所述的方法,其特征在于,对于所述被测代理Agent的GET、GET-NEXT和SET功能的测试用例,在向所述被测代理Agent发送请求报文时,覆盖MIB节点的所有正确实例,并构造错误实例进行测试。
14.根据权利要求13所述的方法,其特征在于,所述构造错误实例的方法为:变换索引逐级的值构造错误索引,形成错误实例。
15.根据权利要求1至7任一项所述的方法,其特征在于,所述异常监测对象包括:所述被测网络设备的CPU利用率、内存利用率、单板运行情况、Agent进程运行情况和断言检查中的一个或多个的组合。
16.一种对简单网络管理协议的代理实现自动化测试的系统,其特征在于,所述系统包括:测试参数配置模块、存储模块、调度运行模块、功能测试模块和异常监测模块;
所述测试参数配置模块,用于设置测试参数及异常监测对象,并将所述测试参数及异常监测对象发送给所述调度运行模块;
所述存储模块,用于存储预先设置的基本用例数据,并向所述功能测试模块提供所述基本用例数据;
所述调度运行模块,用于根据所述测试参数调度所述功能测试模块向被测代理Agent发送相应的请求报文,并根据所述异常监测对象控制所述异常监测模块向被测网络设备发送针对所述异常监测对象的异常查询命令;
所述功能测试模块,用于根据所述调度运行模块的调度以及所述存储模块提供的所述基本用例数据向所述被测代理Agent发送相应的请求报文,并用于接收、分析所述被测代理Agent返回的应答响应报文,得到测试结果;
所述异常监测模块,用于根据所述调度运行模块的控制向所述被测网络设备发送针对所述异常监测对象的异常查询命令,并用于接收、分析所述被测网络设备返回的异常查询响应,得到异常监测结果。
17.根据权利要求16所述的系统,其特征在于,所述异常监测模块通过串行接口或远程登录协议与所述被测网络设备建立连接。
18.根据权利要求16或17所述的系统,其特征在于,所述功能测试模块进一步包括:GET子模块、GET-NEXT子模块、GET-BULK子模块、WALK子模块、SET子模块、TRAP子模块、TABLEVIEW子模块、整MIB SET子模块、多值绑定子模块中的一个或者多个的组合。
19.根据权利要求18所述的系统,其特征在于,所述调度运行模块,用于根据所述测试参数中的选择测试用例的参数确定所述基本用例数据中的待测测试用例;
所述存储模块,用于向所述功能测试模块提供所述待测测试用例;
所述功能测试模块,用于根据所述存储模块提供的所述待测测试用例调度相应的子模块向所述被测代理Agent发送相应的请求报文。
20.根据权利要求19所述的系统,其特征在于,所述功能测试模块中的各子模块进一步用于根据所述测试参数中的循环次数参数,判断所述待测测试用例的测试次数是否已达到所述循环次数参数次,并在所述待测测试用例的测试次数未达到所述循环次数参数次时,进行循环测试。
21.根据权利要求16或17所述的系统,其特征在于,所述功能测试模块进一步包括比对子模块;
所述存储模块进一步用于存储比对用例数据,并向所述比对子模块提供所述比对用例数据;
所述比对子模块用于根据所述比对用例数据完成设备信息比对的功能。
22.根据权利要求16或17所述的系统,其特征在于,所述系统中进一步包括拓扑自动配置模块;
所述存储模块进一步用于存储与拓扑信息相对应的配置文件,并向所述拓扑自动配置模块提供所述配置文件;
所述拓扑自动配置模块,用于根据来自于所述测试参数配置模块的拓扑信息及配置文件地址,从所述存储模块获取相应的配置文件,并根据所述拓扑信息及配置文件在网络设备上配置相应的业务,并在配置完成之后通知所述调度运行模块开始所述调度操作;在所述系统完成基于所述配置文件的测试之后,用于清除所述被测网络设备上由所述配置文件所生成的配置。
23.根据权利要求21所述的系统,其特征在于,所述系统中进一步包括日志文件存储模块;
所述日志文件存储模块用于存储所述功能测试模块所得到的测试结果、比对结果及异常监测结果。
CNB2006101700302A 2006-12-22 2006-12-22 对简单网络管理协议的代理实现自动化测试的方法及系统 Expired - Fee Related CN100461707C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101700302A CN100461707C (zh) 2006-12-22 2006-12-22 对简单网络管理协议的代理实现自动化测试的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101700302A CN100461707C (zh) 2006-12-22 2006-12-22 对简单网络管理协议的代理实现自动化测试的方法及系统

Publications (2)

Publication Number Publication Date
CN1988482A CN1988482A (zh) 2007-06-27
CN100461707C true CN100461707C (zh) 2009-02-11

Family

ID=38185125

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101700302A Expired - Fee Related CN100461707C (zh) 2006-12-22 2006-12-22 对简单网络管理协议的代理实现自动化测试的方法及系统

Country Status (1)

Country Link
CN (1) CN100461707C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102215242A (zh) * 2010-04-09 2011-10-12 英业达股份有限公司 基于服务器对客户端的事件响应方法及其系统
CN101867501B (zh) * 2010-05-25 2011-12-28 北京宜富泰网络测试实验室有限公司 Snmp接口信息模型一致性自动化测试方法及系统
CN102377610B (zh) * 2010-08-17 2014-05-28 盛科网络(苏州)有限公司 简单网络管理协议自动化测试系统及其方法
CN102158374B (zh) * 2011-05-12 2014-05-14 瑞斯康达科技发展股份有限公司 一种带宽限速测试方法和测试装置
CN104219100A (zh) * 2014-09-30 2014-12-17 迈普通信技术股份有限公司 一种信息采集方法和装置
CN105071946A (zh) * 2015-07-03 2015-11-18 北京奇虎科技有限公司 一种系统监控方法和装置
CN105790801B (zh) * 2016-03-11 2019-08-09 青岛海信电器股份有限公司 一种电子设备与蓝牙设备的配对测试方法及测试装置
CN106610899B (zh) * 2016-12-30 2020-01-14 中国科学院长春光学精密机械与物理研究所 一种测试用例生成方法及装置
CN113645095B (zh) * 2021-08-10 2022-07-12 浪潮思科网络科技有限公司 基于snmptrap告警信息的交换机自动化测试方法、设备及介质
CN114389957A (zh) * 2022-03-01 2022-04-22 四创电子股份有限公司 一种面向特种车辆车载设备巡检告警方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163016A1 (en) * 2003-02-14 2004-08-19 Jun-Seog Kim Method and apparatus for supporting error cause of SNMP
CN1852153A (zh) * 2005-11-09 2006-10-25 华为技术有限公司 基于简单网络管理协议的故障/告警管理系统及方法
CN1863102A (zh) * 2005-12-28 2006-11-15 华为技术有限公司 对设备进行基于管理信息库的测试的系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163016A1 (en) * 2003-02-14 2004-08-19 Jun-Seog Kim Method and apparatus for supporting error cause of SNMP
CN1852153A (zh) * 2005-11-09 2006-10-25 华为技术有限公司 基于简单网络管理协议的故障/告警管理系统及方法
CN1863102A (zh) * 2005-12-28 2006-11-15 华为技术有限公司 对设备进行基于管理信息库的测试的系统和方法

Also Published As

Publication number Publication date
CN1988482A (zh) 2007-06-27

Similar Documents

Publication Publication Date Title
CN100461707C (zh) 对简单网络管理协议的代理实现自动化测试的方法及系统
US6856942B2 (en) System, method and model for autonomic management of enterprise applications
US10997047B2 (en) Automatic selection of agent-based or agentless monitoring
US20200382362A1 (en) Alarm information processing method, related device, and system
US9306806B1 (en) Intelligent resource repository based on network ontology and virtualization
JP5613237B2 (ja) 遊休ネットワーク・デバイスの識別
EP1667360A1 (en) Generic discovery for computer networks
CN112291075B (zh) 网络故障定位方法、装置、计算机设备及存储介质
US20220052923A1 (en) Data processing method and device, storage medium and electronic device
EP3101842B1 (en) Method, system and computer readable medium for network management automation
De Carvalho et al. A cloud monitoring framework for self-configured monitoring slices based on multiple tools
El-Darieby et al. Intelligent mobile agents: Towards network fault management automation
CN102377610B (zh) 简单网络管理协议自动化测试系统及其方法
Fischer et al. Pattern-based process discovery
CN107204868B (zh) 一种任务运行监控信息获取方法和装置
CN112995042B (zh) 业务拓扑图的生成方法、装置、设备及存储介质
Appleby et al. Yemanja—A layered fault localization system for multi-domain computing utilities
CN112653588A (zh) 自适应网络流量采集方法、系统、电子设备及存储介质
CN105743675A (zh) 信息采集方法及装置
CN111385162B (zh) 网络探测方法、装置、计算机设备和存储介质
Sinha et al. Implementation of ICMP based Network Management System for heterogeneous networks
Kwiecień et al. Management of industrial networks based on the FCAPS guidelines
CN115913883A (zh) 新型通信电路故障诊断装置及其方法
He et al. MDNS based automatic discovery method in optical NMS
CN117541024A (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
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090211

Termination date: 20121222