CN101867501B - Snmp接口信息模型一致性自动化测试方法及系统 - Google Patents

Snmp接口信息模型一致性自动化测试方法及系统 Download PDF

Info

Publication number
CN101867501B
CN101867501B CN2010101899967A CN201010189996A CN101867501B CN 101867501 B CN101867501 B CN 101867501B CN 2010101899967 A CN2010101899967 A CN 2010101899967A CN 201010189996 A CN201010189996 A CN 201010189996A CN 101867501 B CN101867501 B CN 101867501B
Authority
CN
China
Prior art keywords
test
test case
snmp
result
information model
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
CN2010101899967A
Other languages
English (en)
Other versions
CN101867501A (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.)
BEIJING YIFUTAI NETWORK TEST LABORATORY Co Ltd
Original Assignee
BEIJING YIFUTAI NETWORK TEST LABORATORY 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 BEIJING YIFUTAI NETWORK TEST LABORATORY Co Ltd filed Critical BEIJING YIFUTAI NETWORK TEST LABORATORY Co Ltd
Priority to CN2010101899967A priority Critical patent/CN101867501B/zh
Publication of CN101867501A publication Critical patent/CN101867501A/zh
Application granted granted Critical
Publication of CN101867501B publication Critical patent/CN101867501B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种SNMP接口信息模型一致性自动化测试方法及系统。该方法包括步骤:首先根据进行SNMP接口信息模型一致性测试的管理对象的定义信息以及不同管理对象的类型生成相应的测试用例,具体方式如下:对于叶对象,根据SNMP接口信息模型中该叶对象的访问权限,生成相应的读测试用例和写测试用例;对于表对象,根据SNMP接口信息模型中该表对象下各列对象的访问权限生成相应的读测试用例和写测试用例,还生成该表对象的索引关系测试用例;对于通知对象,生成相应的通知测试用例;然后执行测试用例,并分析执行结果,并根据分析结果生成测试记录和测试报告。本发明能提高SNMP接口信息模型一致性测试的自动化测试水平,简化测试复杂度、提高测试效率。

Description

SNMP接口信息模型一致性自动化测试方法及系统
技术领域
本发明涉及软件测试领域,尤其涉及一种SNMP接口信息模型一致性自动化测试方法及系统。
背景技术
通信行业标准YD/T 1145-2001《网络管理接口测试方法》中提及“网络管理接口包括协议栈、信息模型和接口功能,相应地,对网络管理接口的测试包括三个方面的内容:通信协议一致性测试、信息模型一致性测试和管理功能一致性测试。”其中,对网络管理(网管)接口的通信协议一致性测试的主要目的是检验利用网管接口进行通信的通信实体之间的互联性和互通性;信息模型一致性测试用于验证被测网管接口是否能以正确的形式提供网络管理信息,属于语法测试的范畴;管理功能一致性测试用于验证网管接口所传递的信息能否真正指配网络的运行以及正确表达网络资源的具体运行情况,属于语义测试的范畴。
SNMP(Simple Network Management Protocol,简单网络管理协议)接口的信息模型一致性测试是SNMP网管接口测试的重要组成部分,用于验证被测SNMP接口是否能以正确的形式提供网络管理信息,测试对象覆盖SNMP接口信息模型中定义的所有表对象、叶对象和通知对象(陷阱对象),测试内容包括对各类对象实例的访问权限测试、数据类型测试、数据值范围测试以及表对象的索引关系测试等。
在通信行业标准YD/T 1145-2001《网络管理接口测试方法》中,建议在网管接口的ICS(Implementation Conformance Statement,实现一致性声明)文稿的基础上进行信息模型一致性测试。SNMP接口的ICS文稿由三部分组成,一部分是通过分析管理信息模型定义内容生成,该部分是根据规定的管理信息模型说明各管理对象应实现的标准,是测试的主要依据;另一部分是管理对象的实现描述单元,由被测用户填写,说明被测系统中管理对象的实际实现情况;最后一部分是表述测试结果的单元,由测试人员填写,以标识测试项的实际测试结果。
依据行业标准YD/T 1145-2001建议,SNMP接口的信息模型测试可分为测试准备、测试执行和测试总结三个阶段。
1)在测试准备阶段,测试人员需要根据测试项目所依据的相关规范中定义的信息模型,生成ICS文稿,这是测试的基本依据。生成好的ICS文稿还需要交由被测用户根据被测系统的实际实现情况填写管理对象实现描述单元,形成ICS规格说明,用于筛选因被测系统未实现而不需要测试的内容,减少实际测试的工作量。最后,测试人员需要依据ICS规格说明的描述,编写SNMP接口信息模型测试所需的相应测试用例。
2)在测试执行阶段,测试人员需要执行编写好的测试用例,将被测系统中管理对象在测试中表现出来的实际行为与ICS规格说明中的描述进行一致性比较,并将其结果记录在ICS规格说明的测试结果单元中,形成正式的测试记录文件。
3)在测试总结阶段,测试人员需要依据测试记录中各个管理对象的测试结果,编写测试报告。
在现有的与SNMP接口测试相关的专利申请中,主要都是提出了SNMP接口管理功能一致性测试的相关技术。例如,在中国专利申请“对设备进行基于管理信息库的测试的系统和方法”(申请号为200510135502.6)中,华为技术有限公司提出了一种通过编写Tcl脚本执行事先设置的测试用例库中用例的测试方法,该方法需要人工编写Tcl脚本和事先设置好测试用例库,自动化程度较低。
在中国专利申请“对简单网络管理协议的代理实现自动化测试的方法及系统”(申请号为200610170030.2)中,华为技术有限公司提出了另一种自动化程度较高的测试方法,该方法在对网络设备状态进行监控的同时,将执行基本测试用例从SNMP接口获取的被测代理信息与执行比对用例从网络设备命令等其他途径获取的被测代理所在网络设备信息进行自动对比,验证从SNMP接口所获得的代理信息是否正确表达了网络设备资源的具体运行情况,为SNMP接口管理功能测试提供了一种很好的自动化测试手段。但该发明仍需事先设置好基本测试用例数据和比对用例数据。
在中国专利申请“简单网络管理协议软件的测试装置及其测试方法”(申请号:200710138053.X)中,中兴通信股份有限公司提出了一种集成SNMP测试工具(如SNMP Explore)和自动测试执行工具(如Rational Robot)进行SNMP接口自动测试的装置,其中的基础数据集单元从网管系统或其他系统设置基础数据与数据模板,并转化为SNMP测试工具识别的数据格式,SNMP测试工具的测试数据再由数据处理单元与数据模板比较得出测试结果,自动测试驱动平台实现对上述部分的自动控制。
在现有的SNMP接口测试技术中,应用于SNMP接口信息模型一致性测试的技术非常少。除了通过分析SNMP接口信息模型定义的MIB(Management Information Base,管理信息库)文件自动生成ICS文稿(请参见《基于SMIv2的ICS文稿及生成方法》,电子学报,2003年第2期),SNMP接口信息模型一致性测试的其他工作基本都是人工完成的。被测用户需要在生成的ICS文稿上手工填写被测系统的实现情况描述单元,形成ICS规格说明书。测试人员需要依据ICS规格说明书手工编制SNMP接口信息模型测试用例,手动执行测试用例和人工判定执行结果,并根据测试用例执行结果手工编写测试报告。以这样的方式进行SNMP接口的信息模型一致性测试不但效率低下,而且容易受人为的因素影响最终测试结果的准确性和公正性。
由此看来,现有的SNMP接口测试技术存在以下缺陷:
(1)不适用于SNMP接口信息模型一致性测试。
SNMP接口信息模型一致性测试侧重于验证被测SNMP接口传递的信息是否符合信息模型定义的格式,属于语法测试的范畴。例如:各对象实例的访问权限是否与信息模型定义一致、对象实例数值的数据类型是否与信息模型定义一致、对象实例数值是否在信息模型定义的取值范围内、表对象实例的索引关系是否与信息模型定义一致等等。而SNMP接口功能一致性测试的技术则侧重于验证被测SNMP接口传递的信息是否能够真正指配网络的运行以及正确表达网络资源的具体运行情况,属于语义测试的范畴。
现有技术中,大多是应用于SNMP接口功能一致性测试的技术。这些技术侧重于实现自动将SNMP接口获得的管理信息与网络设备的真实管理信息进行比对,但并未涉及对接口信息模型中定义的各种语法现象进行覆盖性测试,无法满足SNMP接口信息模型一致性测试的需要。
(2)测试效率低下。
SNMP接口信息模型测试中,测试对象覆盖SNMP接口信息模型中定义的所有表对象、叶对象和通知对象(陷阱对象),测试内容包括对各类对象实例的访问权限测试、数据类型测试、数据值范围测试以及表对象的索引关系测试等,需要测试的项目非常多。
以通信行业标准YD/T 1147《接入网网络管理接口技术规范一ADSL部分》中定义的SNMP接口信息模型为例,信息模型中定义的各类对象多达300个左右,需要设计和执行的测试用例至少需要2000-3000个左右。现有SNMP接口信息模型测试技术中,所有的测试用例都需要测试人员手工编写和手动执行,还需要测试人员人工判定测试结果以及将手工测试结果填入ICS文稿并编写测试报告。采用这种方法进行SNMP接口信息模型测试,给测试人员带来繁重的工作量,测试效率低下。
(3)测试结果受人为因素的影响比较大。
现有技术中,SNMP接口信息模型测试过程中的测试用例设计、测试用例执行、测试用例执行结果评判、测试结果记录和测试报告编写都需要测试人员的人为干预,测试人员在参与上述工作的过程中,有可能由于其知识结构、疲劳度、与被测用户关系等客观或主观原因,影响到最终测试结果的准确性和公正性。
(4)标准化程度低。
现有技术中,测试过程大多不符合行业标准的要求,测试结果的存储和呈现格式各异,不利于相关技术人员间的交流和对测结果数据的阅读。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提高在测试文档生成、测试用例生成、测试用例执行、测试结果判定和测试报告生成等SNMP接口信息模型测试各步骤中的自动化测试水平、简化SNMP接口信息模型测试的复杂程度、提高SNMP接口信息模型测试的效率,以及减少人为因素对测试结果准确性和公正性的影响。
(二)技术方案
为达到上述目的,本发明提供了一种SNMP接口信息模型一致性自动化测试方法,包括以下步骤:
首先根据进行SNMP接口信息模型一致性测试的管理对象的定义信息以及不同管理对象的类型生成相应的测试用例,具体方式如下:对于叶对象,根据SNMP接口信息模型中该叶对象的访问权限,生成相应的读测试用例和写测试用例;对于表对象,根据SNMP接口信息模型中该表对象下各列对象的访问权限生成相应的读测试用例和写测试用例,还生成该表对象的索引关系测试用例;对于通知对象,生成相应的通知测试用例;
然后执行测试用例,并对执行结果进行分析,最后根据分析结果生成测试记录和测试报告。
其中,所述执行测试用例,并对执行结果进行分析的步骤具体包括:
S201读取测试用例列表文件,获取列表中状态为未执行的测试用例文件索引;
S202解析步骤S201得到的索引对应的测试用例文件,提取其中的SNMP原语参数信息,生成SNMP请求报文;
S203解析步骤S201得到的索引对应的测试用例文件,提出其中的预期测试结果,作为测试结果判定条件;
S204发送步骤S202生成的SNMP请求报文给被测系统,接收被测系统返回的SNMP响应报文;
S205按照步骤S203得到的结果判定条件,检查步骤S204收到的SNMP响应报文中对象实例的待检查信息是否与预期测试结果一致,若所有待检查信息均与预期测试结果一致,则判定测试用例执行结果为通过,否则判定为未通过,并自动生成相应的缺陷说明;
S206存储测试用例执行结果到测试用例列表中,修改该测试用例状态为已执行;
S207判定测试用例列表中是否还存在状态为未执行的测试用例,若存在,则回到步骤S201继续执行,否则根据分析结果生成测试记录和测试报告。
其中,在生成测试用例之前还包括如下步骤:
S1,编译SNMP接口信息模型定义的管理信息库MIB文件,解析所述MIB文件中对各管理对象进行定义所得到的定义信息,将各管理对象以对象标识符OID为索引构建管理信息树MIT;
S2,从所述SNMP接口信息模型中定义的所有管理对象中选择进行信息模型一致性测试的管理对象;
S3,从所述MIT中获取所选择的管理对象的定义信息,以形成SNMP接口实现一致性声明ICS文稿。
其中,所述ICS文稿为符合通信行业标准YD/T 1145-2001中所要求格式的文稿。
其中,所述生成的测试记录通过在所述ICS文稿基础上填写相应测试结果单元的方式生成。
其中,生成的测试用例包括执行该测试用例的相关SNMP原语参数和预期测试结果,其中,预期测试结果包括管理对象的数据类型和数值范围要求。
本发明还提供了一种SNMP接口信息模型一致性自动化测试系统,包括:
测试用例生成与存储模块,用于根据所获取的管理对象的定义信息以及不同管理对象的类型生成相应的测试用例;
测试用例解析执行模块,用于执行所述测试用例;测试用例执行结果分析模块,用于对测试用例的执行结果进行分析;
测试报告生成与存储模块,用于根据分析结果生成ICS测试记录作为测试报告。
其中,该系统还包括:
SNMP接口信息模型编译模块,用于编译简单网络管理协议SNMP接口信息模型定义的管理信息库MIB文件,并解析所述MIB文件中对各管理对象定义的定义信息;
MIT管理模块,用于将各管理对象以对象标识符OID为索引构建管理信息树MIT;
测试范围配置模块,用于从所述SNMP接口信息模型中定义的所有管理对象中选择进行信息模型一致性测试的管理对象;
ICS文稿生成与存储模块,用于从所述MIT中获取所选择的管理对象的定义信息,以形成SNMP接口实现一致性声明ICS文稿。
(三)有益效果
本发明提出的技术方案通过将SNMP接口信息模型中各管理对象的定义信息以管理对象的OID(Object Identifier,对象标示符)为索引组织成一棵MIT(Management Information Tree,管理信息树)进行存储,便于管理对象信息的检索;并且通过在测试文档生成、测试用例生成、测试用例执行、测试结果评判和测试报告生成等SNMP接口信息模型测试的各个步骤中运用测试自动化技术(包括本发明中的测试文档自动生成、测试用例自动生成、测试用例自动执行、测试结果自动评判和测试报告自动生成技术),一方面可大幅提高SNMP接口信息模型测试的工作效率,另一方面还可以减少人工编写测试文档、测试用例、测试报告时出错的风险,以及避免人工评判测试结果时的公正性风险;
通过使生成的测试文档和测试记录均遵循通信行业标准YD/T1145-2001《网络管理接口测试方法》中对SNMP ICS的要求,标准化程度高,便于相关技术人员阅读;
通过分析导入的SNMP接口信息模型定义文件来自动生成测试文档和测试用例,使得该技术方案具有较高的通用性和灵活性,适用于针对任何SNMP接口信息模型定义的一致性测试。
附图说明
图1是本发明实施例的方法流程图;
图2是本发明实施例的方法中自动执行测试用例和判定测试结果的流程图;
图3是本发明实施例的系统结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
依据本发明实施例的方法提供一种SNMP接口信息模型一致性自动化测试方法,其流程图如图1所示,包括:
S101)编译SNMP接口信息模型定义的文件,即MIB文件:解析MIB文件中对各管理对象的定义信息,以OID为索引构建一棵MIT存储模型中各管理对象的定义信息。
S102)配置测试范围:依据测试项目需求,从接口信息模型定义的所有管理对象中挑选出需要进行信息模型测试的管理对象,纳入测试范围。缺省将接口信息模型中定义的所有管理对象纳入测试范围。
S103)自动生成SNMP接口ICS文稿:针对纳入测试范围的每个管理对象,从MIT中提取管理对象的定义信息,自动生成相应的SNMP接口对象支持表格。按照SNMP接口ICS文稿的格式要求(通信行业标准YD/T 1145-2001中要求的格式)对生成的各个对象支持表格进行组织,形成SNMP接口ICS文稿,作为SNMP接口信息模型测试的依据和记录模板。
S104)自动生成SNMP接口信息模型测试用例:针对纳入测试范围的每个管理对象,从MIT中提取管理对象的定义信息,自动生成相应的SNMP接口信息模型测试用例。其中,不同类型的管理对象,需要生成的测试用例数量和类型均有不同。对于叶对象,需要根据模型中该叶对象的访问权限定义生成相应的读测试用例和写测试用例;对于表对象,不仅需要根据模型中该表对象下各列对象的访问权限定义生成相应的读测试用例和写测试用例,还需要生成该表对象的索引关系测试用例;对于通知对象(陷阱对象),需要生成相应的通知测试用例。
上述生成的测试用例包括执行该测试用例的相关SNMP原语参数和预期测试结果,预期测试结果中应包括该对象实例的数据类型和数值范围要求。最后,生成测试用例列表文件存储所有测试用例文件的索引。
S105)自动执行测试用例和判定测试结果:按照图2所示的流程自动执行测试用例,并自动判定测试用例的执行结果。具体步骤包括:
S201)读取测试用例列表文件,获取列表中状态为未执行的测试用例文件索引。
S202)解析步骤S201得到的索引对应的测试用例文件,提取其中的SNMP原语参数信息,生成SNMP请求报文。
S203)解析步骤S201得到的索引对应的测试用例文件,提出其中的预期测试结果,作为测试结果判定条件。
S204)发送步骤S202生成的SNMP请求报文给被测系统,接收被测系统返回的SNMP响应报文。
S205)按照步骤S203得到的结果判定条件,检查步骤S204收到的SNMP响应报文的错误索引、错误状态、以及报文中对象实例的标识、数据类型、数值范围等信息是否与预期测试结果。若所有检查结果均与预期测试结果一致,则判定测试用例执行结果为通过,否则判定为未通过,并自动生成相应缺陷说明。
S206)存储测试用例执行结果到测试用例列表中,修改该测试用例状态为已执行。
S207)判定测试用例列表中是否还存在状态为未执行的测试用例,若存在则回到步骤S201继续执行,否则继续执行步骤S106。
S106)将测试用例执行结果自动填入ICS文稿,生成测试记录:针对纳入测试范围的每个管理对象,提取相应的测试用例执行结果,填写ICS文稿相应表格的测试结果单元生成测试记录文件。对于叶对象,需根据读测试用例和写测试用例的执行结果填写ICS文稿中的叶支持表格中的相应单元;对于表对象,除了需要根据所包含的列对象的读测试用例和写测试用例的执行结果填写列支持表格中的相应单元外,还需要根据索引关系测试用例的执行结果填写表索引支持表格中的相应单元,最后还需要根据上述测试用例的最坏执行结果,填写表支持表格中的相应单元;对于通知对象,需根据通知测试用例的执行结果填写ICS文稿中通知支持表格中的相应单元。填写测试记录时,如果测试用例的执行结果为未通过,还需要在ICS文稿相应表格的附件信息单元中填写相应的缺陷说明信息。
S107)自动生成SNMP接口信息模型测试报告:统计测试范围内所有管理对象的测试结果,按照测试报告模板生成测试报告文件,将测试记录作为测试报告附件。统计的信息应包括但不仅限于测试记录中叶对象、表对象和通知对象的总数、测试通过数以及发现的缺陷数。
本发明还提供了一种实现SNMP接口信息模型一致性自动化测试的系统,该系统包括SNMP接口信息模型编译模块、MIT管理模块、测试范围配置模块、ICS文稿生成与存储模块、测试用例生成与存储模块、测试用例解析执行模块、测试用例执行结果分析模块和测试报告生成与存储模块。系统结构如图3所示:
1)SNMP接口信息模型编译模块:负责对导入系统的SNMP信息模型定义文件(MIB文件)的编译和解析工作,在完成信息模型的完整性和正确性检查后,提取模型中定义的各管理对象的定义信息传递给MIT管理模块。
2)MIT管理模块:根据SNMP接口信息模型编译模块提供的管理对象定义信息,将各管理对象按OID组织成MIT进行存储。
3)测试范围配置模块:负责提供界面列出所有模型中定义的管理对象供用户从中选择纳入测试范围的管理对象。
4)ICS文稿生成与存储模块:根据测试范围配置模块提供的需要测试的管理对象列表,从MIT管理模块中获取相应对象的定义信息,生成符合通信行业标准YD/T 1145-2001中要求格式的SNMP ICS文稿,作为测试规范和测试记录模板。
5)测试用例生成与存储模块:根据测试范围配置模块提供的需要测试的管理对象列表,从MIT管理模块获取相应对象的定义信息,再根据不同对象的类型生成相应的测试用例文件,最后生成测试用例列表文件存储所有测试用例文件的索引。
6)测试用例解析执行模块:负责依次解析测试用例列表中的测试用例文件,提取其中的SNMP协议原语参数信息,构建SNMP请求原语,发送给被测系统并接收被测系统的SNMP响应原语,解包后将相关响应信息传递给测试用例执行结果分析模块。
7)测试用例执行结果分析模块:在收到测试用例解析执行模块提供的应答消息信息后,提取测试用例文件的预期测试结果对应答消息内容进行各项检查,若均与预期测试结果一致,则判定测试用例执行结果为通过;否则判定为未通过,并生成相应的缺陷信息。
8)测试报告生成与存储模块:负责根据测试用例执行结果分析模块提供的测试用例执行结果,在ICS文稿的测试结果单元中填入各管理对象的测试结果,生成ICS测试记录,作为测试报告附件。在完成ICS测试记录生成后,该模块统计所有管理对象的测试结果,生成SNMP接口信息模型测试报告。
以下举例说明本发明的实施例。
作为非限制性的例子,下面以测试通信行业标准YD/T 1147-2001《接入网网络管理接口技术规范-ADSL部分》中定义的表对象adslLineTable、叶对象sysDateAndTime和通知对象adslAtucInitFailureTrap为例来展示本发明的SNMP接口信息模型自动化测试方法及系统。
以测试表对象adslLineTable为例:
1)SNMP接口信息模型编译模块对导入的ADSL-LINE-MIB、ENTITY-MIB、IF-MIB、SNMPv2-MIB等MIB文件进行编译,在完成MIB文件的正确性和完整性检查后,通过文法分析提取MIB文件中的所有管理对象的定义信息。MIT管理模块依据各定义信息中的OID属性,组织成一棵MIT存储。
2)测试范围配置模块提供界面列出编译的MIB文件中定义的所有管理对象,测试人员选择需要纳入测试范围的表对象adslLineTable。这里提到的界面可以是文字界面,也可以是图形列表界面或树形控件界面,或者本领域普通技术人员所能想到的各种界面。
3)ICS文稿生成与存储模块从测试范围列表中读取对象adslLineTable的OID,利用OID从MIT上检索对管理对象进行定义所得到的定义信息。分析到adslLineTable的对象类型为表对象后,生成表对象支持表格,并进一步从MIT上读取表对象adslLineTable下包括的各列对象adslLineCoding、adslLineType、adslLineSpecific、adslLineConfProfile和adslLineAlarmConfProfile的定义信息和表索引信息,分别生成相应的列对象支持表格和索引行支持表格。对生成的支持表格进行分类整理合并,按照标准YD/T 1145-2001要求格式组织成ICS文稿输出存储。
4)测试用例生成模块从测试范围列表中读取对象adslLineTable的OID,利用OID从MIT上检索对象的定义信息。分析到adslLineTable的对象类型为表对象后,根据该表对象的索引信息生成索引关系测试用例adslLineTable_index,测试用例中包括SNMP GetNext请求原语参数和应答消息的预期测试结果。进一步从MIT上读取表对象adslLineTable下包括的各列对象adslLineCoding、adslLineType、adslLineSpecific、adslLineConfProfile和adslLineAlarmConfProfile的定义信息,为每个列对象分别生成相应的读测试用例和写测试用例:adslLineCoding_get、adslLineCoding_set、adslLineType_get、adslLineType_set、adslLineSpecific_get、adslLineSpecifc_set、adslLineConfProfile_get、adslLineConfProfile_set、adslLineAlarmConfProfile_get和adslLineAlarmConfProfile_set,测试用例中包括SNMP Get和Set请求原语参数以及应答消息的预期测试结果。
5)测试用例解析执行模块依次解析测试用例列表中的测试用例文件,提取其中的参数信息封装到SNMP请求原语中发送到被测系统,将接收到的应答消息解析后传递给测试用例执行结果分析模块。测试用例执行结果分析模块提取测试用例文件中的预期测试结果,对比应答消息的内容与测试用例的预期测试结果,判定测试用例的执行结果并存储到文件。
6)测试报告生成与存储模块提取全部测试用例的执行结果,依次填入ICS文稿的相应表格中,形成测试记录。统计测试记录文件中各对象的测试结果,依据配置的测试报告模板生成SNMP接口信息模型测试报告,并设置测试记录文件作为报告附件。
以测试叶对象sysDateAndTime为例:
1)SNMP接口信息模型编译模块对导入的ADSL-LINE-MIB、ENTITY-MIB、IF-MIB、SNMPv2-MIB等MIB文件进行编译,在完成MIB文件的正确性和完整性检查后,通过文法分析提取MIB文件中的所有管理对象的定义信息。MIT管理模块依据各定义信息中的OID属性,组织成一棵MIT存储。
2)测试范围配置模块提供界面列出编译的MIB文件中定义的所有管理对象,测试人员选择需要纳入测试范围的叶对象sysDateAndTime。这里提到的界面可以是文字界面,也可以是图形列表界面或树形控件界面,或者本领域普通技术人员所能想到的各种界面。
3)ICS文稿生成与存储模块从测试范围列表中读取对象sysDateAndTime的OID,利用OID从MIT上检索对象的定义信息。分析到sysDateAndTime的对象类型为叶对象后,生成叶对象支持表格。对生成的支持表格进行分类整理合并,按照标准YD/T 1145-2001要求格式组织成ICS文稿输出存储。
4)测试用例生成模块从测试范围列表中读取对象sysDateAndTime的OID,利用OID从MIT上检索对象的定义信息。分析到sysDateAndTime的对象类型为叶对象后,生成相应的读测试用例和写测试用例:sysDateAndTime_get和sysDateAndTime_set,测试用例中包括SNMP Get和Set请求的原语参数以及应答消息的预期测试结果。
5)测试用例解析执行模块依次解析测试用例文件sysDateAndTime_get和sysDateAndTime_set,提取其中的参数信息封装到SNMP请求原语中发送到被测系统,将接收到的应答消息解析后传递给测试用例执行结果分析模块。测试用例执行结果分析模块提取测试用例文件中的预期测试结果,对比应答消息的内容与测试用例的预期测试结果,判定测试用例的执行结果并存储到文件。
6)测试报告生成与存储模块提取全部测试用例的执行结果,依次填入ICS文稿的相应表格中,形成测试记录。统计测试记录文件中各对象的测试结果,依据配置的测试报告模板生成SNMP接口信息模型测试报告,并设置测试记录文件作为报告附件。
以测试通知对象adslAtucInitFailureTrap为例:
1)SNMP接口信息模型编译模块对导入的ADSL-LINE-MIB、ENTITY-MIB、IF-MIB、SNMPv2-MIB等MIB文件进行编译,在完成MIB文件的正确性和完整性检查后,通过文法分析提取MIB文件中的所有管理对象定义信息。MIT管理模块依据各定义信息中的OID属性,组织成一棵MIT存储。
2)测试范围配置模块提供界面列出编译的MIB文件中定义的所有管理对象,测试人员选择需要纳入测试范围的通知对象adslAtucInitFailureTrap。这里提到的界面可以是文字界面,也可以是图形列表界面或树形控件界面,或者本领域普通技术人员所能想到的各种界面。
3)ICS文稿生成与存储模块从测试范围列表中读取对象adslAtucInitFailureTrap的OID,利用OID从MIT上检索对象的定义信息。分析到adslAtucInitFailureTrap的对象类型为通知对象后,生成通知对象支持表格。对生成的支持表格进行分类整理合并,按照标准YD/T 1145-2001要求格式组织成ICS文稿输出存储。
4)测试用例生成模块从测试范围列表中读取对象adslAtucInitFailureTrap的OID,利用OID从MIT上检索对象的定义信息。分析到adslAtucInitFailureTrap的对象类型为通知对象后,生成相应的通知测试用例:adslAtucInitFailureTrap_trap,测试用例中包括预期接收到的通知原语信息。
5)测试用例解析执行模块解析测试用例文件adslAtucInitFailureTrap_trap,提取其中的通知测试用例参数,监听被测系统发过来的通知原语,将接收到的通知消息解析后传递给测试用例执行结果分析模块。测试用例执行结果分析模块提取测试用例文件中的预期测试结果,对比通知消息的内容与测试用例的预期测试结果,判定测试用例的执行结果并存储到文件。
6)测试报告生成与存储模块提取全部测试用例的执行结果,依次填入ICS文稿的相应表格中,形成测试记录。统计测试记录文件中各对象的测试结果,依据配置的测试报告模板生成SNMP接口信息模型测试报告,并设置测试记录文件作为报告附件。
由以上实施例可以看出,本发明的技术方案提高了在测试文档生成、测试用例生成、测试用例执行、测试结果判定和测试报告生成等SNMP接口信息模型测试各步骤中的自动化测试水平、简化了SNMP接口信息模型测试的复杂程度、提高了SNMP接口信息模型测试的效率,并减少了人为因素对测试结果准确性和公正性的影响。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

Claims (5)

1.一种SNMP接口信息模型一致性自动化测试方法,其特征在于,包括以下步骤:
S1,编译SNMP接口信息模型定义的管理信息库MIB文件,解析所述MIB文件中对各管理对象进行定义所得到的定义信息,将各管理对象以对象标识符OID为索引构建管理信息树MIT;
S2,从所述SNMP接口信息模型中定义的所有管理对象中选择进行信息模型一致性测试的管理对象;
S3,从所述MIT中获取所选择的管理对象的定义信息,以自动形成SNMP接口实现一致性声明ICS文稿;
S4,根据进行SNMP接口信息模型一致性测试的管理对象的定义信息以及不同管理对象的类型自动生成相应的测试用例,具体方式如下:对于叶对象,根据SNMP接口信息模型中该叶对象的访问权限,生成相应的读测试用例和写测试用例;对于表对象,根据SNMP接口信息模型中该表对象下各列对象的访问权限生成相应的读测试用例和写测试用例,还生成该表对象的索引关系测试用例;对于通知对象,生成相应的通知测试用例;
S5、自动执行测试用例,并自动对执行结果进行分析,最后根据分析结果自动生成测试记录和测试报告;所述自动执行测试用例,并对执行结果进行分析的步骤具体包括:
S201读取测试用例列表文件,获取列表中状态为未执行的测试用例文件索引;
S202解析步骤S201得到的索引对应的测试用例文件,提取其中的SNMP原语参数信息,生成SNMP请求报文;
S203解析步骤S201得到的索引对应的测试用例文件,提出其中的预期测试结果,作为测试结果判定条件;
S204发送步骤S202生成的SNMP请求报文给被测系统,接收被测系统返回的SNMP响应报文;
S205按照步骤S203得到的结果判定条件,检查步骤S204收到的SNMP响应报文中对象实例的待检查信息是否与预期测试结果一致,若所有待检查信息均与预期测试结果一致,则判定测试用例执行结果为通过,否则判定为未通过,并自动生成相应的缺陷说明;
S206存储测试用例执行结果到测试用例列表中,修改该测试用例状态为已执行;
S207判定测试用例列表中是否还存在状态为未执行的测试用例,若存在,则回到步骤S201继续执行,否则根据分析结果自动生成测试记录和测试报告;
所述根据分析结果自动生成测试记录具体为:针对纳入测试范围的每个管理对象,提取相应的测试用例执行结果,填写ICS文稿相应表格的测试结果单元生成测试记录文件;对于叶对象,根据读测试用例和写测试用例的执行结果填写ICS文稿中的叶支持表格中的相应单元;对于表对象,除了根据所包含的列对象的读测试用例和写测试用例的执行结果填写列支持表格中的相应单元外,还根据索引关系测试用例的执行结果填写表索引支持表格中的相应单元,最后还根据上述测试用例的最坏执行结果,填写表支持表格中的相应单元;对于通知对象,根据通知测试用例的执行结果填写ICS文稿中通知支持表格中的相应单元,填写测试记录时,如果测试用例的执行结果为未通过,还在ICS文稿相应表格的附加信息单元中填写相应的缺陷说明信息;
根据分析结果自动生成测试报告具体为:统计测试范围内所有管理对象的测试结果,按照测试报告模板生成测试报告文件,将测试记录作为测试报告附件。
2.如权利要求1所述的SNMP接口信息模型一致性自动化测试方法,其特征在于,所述ICS文稿为符合通信行业标准YD/T1145-2001中所要求格式的文稿。
3.如权利要求1所述的SNMP接口信息模型一致性自动化测试方法,其特征在于,所述生成的测试记录通过在所述ICS文稿基础上填写相应测试结果单元的方式生成。
4.如权利要求1所述的SNMP接口信息模型一致性自动化测试方法,其特征在于,生成的测试用例包括执行该测试用例的相关SNMP原语参数和预期测试结果,其中,预期测试结果包括管理对象的数据类型和数值范围要求。
5.一种SNMP接口信息模型一致性自动化测试系统,其特征在于,包括:
SNMP接口信息模型编译模块,用于编译简单网络管理协议SNMP接口信息模型定义的管理信息库MIB文件,并解析所述MIB文件中对各管理对象定义的定义信息;
MIT管理模块,用于将各管理对象以对象标识符OID为索引构建管理信息树MIT;
测试范围配置模块,用于从所述SNMP接口信息模型中定义的所有管理对象中选择进行信息模型一致性测试的管理对象;
ICS文稿生成与存储模块,用于从所述MIT中获取所选择的管理对象的定义信息,以自动形成SNMP接口实现一致性声明ICS文稿;
测试用例生成与存储模块,用于根据所获取的管理对象的定义信息以及不同管理对象的类型自动生成相应的测试用例,具体方式为:对于叶对象,根据SNMP接口信息模型中该叶对象的访问权限,生成相应的读测试用例和写测试用例;对于表对象,根据SNMP接口信息模型中该表对象下各列对象的访问权限生成相应的读测试用例和写测试用例,还生成该表对象的索引关系测试用例;对于通知对象,生成相应的通知测试用例;
测试用例解析执行模块,用于自动执行所述测试用例;
测试用例执行结果分析模块,用于自动对测试用例的执行结果进行分析;
所述测试用例解析执行模块包括:
用于读取测试用例列表文件,获取列表中状态为未执行的测试用例文件索引的模块;
用于解析所得到的索引对应的测试用例文件,提取其中的SNMP原语参数信息,生成SNMP请求报文的模块;
用于解析所得到的索引对应的测试用例文件,提出其中的预期测试结果,作为测试结果判定条件的模块;以及
用于发送所生成的SNMP请求报文给被测系统,接收被测系统返回的SNMP响应报文的模块;
所述测试用例执行结果分析模块包括:
用于按照所述测试结果判定条件,检查收到的SNMP响应报文中对象实例的待检查信息是否与预期测试结果一致,若所有待检查信息均与预期测试结果一致,则判定测试用例执行结果为通过,否则判定为未通过,并自动生成相应的缺陷说明的模块;
用于存储测试用例执行结果到测试用例列表中,修改该测试用例状态为已执行的模块;以及
用于判定测试用例列表中是否还存在状态为未执行的测试用例,若存在,则继续读取测试用例列表文件,否则根据分析结果自动生成测试记录和测试报告的模块;
测试报告生成与存储模块,用于根据分析结果自动生成ICS测试记录和测试报告;
根据分析结果自动生成ICS测试记录具体为:针对纳入测试范围的每个管理对象,提取相应的测试用例执行结果,填写ICS文稿相应表格的测试结果单元生成测试记录文件;对于叶对象,根据读测试用例和写测试用例的执行结果填写ICS文稿中的叶支持表格中的相应单元;对于表对象,除了根据所包含的列对象的读测试用例和写测试用例的执行结果填写列支持表格中的相应单元外,还根据索引关系测试用例的执行结果填写表索引支持表格中的相应单元,最后还根据上述测试用例的最坏执行结果,填写表支持表格中的相应单元;对于通知对象,根据通知测试用例的执行结果填写ICS文稿中通知支持表格中的相应单元,填写测试记录时,如果测试用例的执行结果为未通过,还在ICS文稿相应表格的附加信息单元中填写相应的缺陷说明信息;
根据分析结果自动生成ICS测试报告具体为:统计测试范围内所有管理对象的测试结果,按照测试报告模板生成测试报告文件,将测试记录作为测试报告附件。
CN2010101899967A 2010-05-25 2010-05-25 Snmp接口信息模型一致性自动化测试方法及系统 Expired - Fee Related CN101867501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101899967A CN101867501B (zh) 2010-05-25 2010-05-25 Snmp接口信息模型一致性自动化测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101899967A CN101867501B (zh) 2010-05-25 2010-05-25 Snmp接口信息模型一致性自动化测试方法及系统

Publications (2)

Publication Number Publication Date
CN101867501A CN101867501A (zh) 2010-10-20
CN101867501B true CN101867501B (zh) 2011-12-28

Family

ID=42959073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101899967A Expired - Fee Related CN101867501B (zh) 2010-05-25 2010-05-25 Snmp接口信息模型一致性自动化测试方法及系统

Country Status (1)

Country Link
CN (1) CN101867501B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148729B (zh) * 2011-05-20 2014-12-24 烽火通信科技股份有限公司 一种无源光网络设备私有snmp管理指令的自动测试方法
CN102238048B (zh) * 2011-07-19 2015-06-03 大唐移动通信设备有限公司 一种协议一致性测试方法和系统
CN103019900B (zh) * 2012-12-04 2016-10-26 北京奇虎科技有限公司 终端性能的检测结果显示方法和装置
CN104734912B (zh) * 2015-02-13 2018-12-18 大唐联仪科技有限公司 一种协议一致性测试的方法和装置
CN107239392B (zh) * 2016-03-29 2021-02-12 腾讯科技(深圳)有限公司 一种测试方法、装置、终端及存储介质
CN106484624A (zh) * 2016-10-21 2017-03-08 天津海量信息技术股份有限公司 接口自动化测试的测试方法
CN109117356B (zh) * 2017-06-22 2020-11-13 大唐移动通信设备有限公司 一种在人机交互脚本的测试结果的展现方法和装置
CN107992306A (zh) * 2017-12-03 2018-05-04 中国直升机设计研究所 一种航电软件接口实现一致性自动检查方法
CN109710533A (zh) * 2018-12-29 2019-05-03 亚信科技(中国)有限公司 一种接口测试方法、装置及服务器
CN109947639B (zh) * 2019-01-30 2022-07-26 兴业证券股份有限公司 Esb接口自动化测试方法
CN112948244B (zh) * 2021-02-26 2022-08-26 中国信息通信研究院 用于工业互联网信息模型测试的方法、装置和设备
CN113434502B (zh) * 2021-06-25 2024-03-01 南京明略科技有限公司 异构数据库一致性实现方法、系统、电子设备及存储介质
CN113515462A (zh) * 2021-08-24 2021-10-19 北京百度网讯科技有限公司 用于测试的方法、装置、设备以及存储介质
CN113505082B (zh) * 2021-09-09 2021-12-14 腾讯科技(深圳)有限公司 应用程序测试方法及装置
CN114978973B (zh) * 2022-05-18 2023-05-09 宁畅信息产业(北京)有限公司 一种通信接口测试方法、装置、测试机及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988482A (zh) * 2006-12-22 2007-06-27 华为技术有限公司 对简单网络管理协议的代理实现自动化测试的方法及系统
CN101009608A (zh) * 2007-01-10 2007-08-01 中国电信股份有限公司 网管接口信息模型一致性测试的自动对比方法及系统
CN101056226A (zh) * 2007-05-10 2007-10-17 华为技术有限公司 自动化一致性测试方法和装置
CN101098262A (zh) * 2007-07-03 2008-01-02 中兴通讯股份有限公司 基于snmp接口的设备配置测试方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101252A1 (en) * 2001-10-05 2003-05-29 Globespan Virata Incorporated System and method for supporting SNMP managed networks
JP2004172651A (ja) * 2002-11-15 2004-06-17 Nec Corp ネットワーク管理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988482A (zh) * 2006-12-22 2007-06-27 华为技术有限公司 对简单网络管理协议的代理实现自动化测试的方法及系统
CN101009608A (zh) * 2007-01-10 2007-08-01 中国电信股份有限公司 网管接口信息模型一致性测试的自动对比方法及系统
CN101056226A (zh) * 2007-05-10 2007-10-17 华为技术有限公司 自动化一致性测试方法和装置
CN101098262A (zh) * 2007-07-03 2008-01-02 中兴通讯股份有限公司 基于snmp接口的设备配置测试方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JP特開2004-172651A 2004.06.17
万能 等.基于SMIv2的ICS文稿及生成方法.《电子学报》.2003,第31卷(第2期),第314-317页. *
李占伟 肖刚.SNMP网管接口测试技术及其实现.《2006北京地区高校研究生学术交流会——通信与信息技术会议论文集(上)》.2006,第823-828页. *

Also Published As

Publication number Publication date
CN101867501A (zh) 2010-10-20

Similar Documents

Publication Publication Date Title
CN101867501B (zh) Snmp接口信息模型一致性自动化测试方法及系统
CN104866426B (zh) 软件测试综合控制方法及系统
CN103529377B (zh) 智能变电站数字保护装置的自动测试系统及方法
CN110765639B (zh) 一种电气仿真建模方法、装置及可读存储介质
WO2017000424A1 (zh) 协议检测方法及装置
CN102043719B (zh) 一种对iec61850配置描述文件进行测试的方法
US20060041539A1 (en) Method and apparatus for organizing, visualizing and using measured or modeled system statistics
CN104793076A (zh) 智能自动测试系统及测试方法
CN109902017A (zh) 一种基于RobotFramework测试Dubbo接口的方法及终端
CN102930111B (zh) 变电站scd模型文件的生成方法及装置
CN106059853B (zh) 一种网络连通性测试方法及装置
CN106100935A (zh) 电动汽车充电设备通信规约一致性测试装置与方法
CN108984393A (zh) 一种单元测试代码自动生成方法及装置
CN109002391A (zh) 自动检测嵌入式软件接口测试数据的方法
CN108628748A (zh) 自动化测试管理方法和自动化测试管理系统
CN108959065A (zh) 软件接口测试参数的验证方法及系统
CN110297760A (zh) 测试数据的构造方法、装置、设备及计算机可读存储介质
CN106326088A (zh) 实现构建测试对象的方法、装置及业务配置测试的装置
CN112306861A (zh) 一种基于Unittest和Jenkins工具的接口自动化测试体系及方法
US7275231B2 (en) High level validation of designs and products
EP2511841A2 (en) System and method for generation of cim-based power system circuit models
CN100437513C (zh) 实现自动测试的方法与系统
CN107748715A (zh) 基于Unity的纹理贴图配置信息检测方法及其系统
CN106972983A (zh) 网络接口的自动化测试装置及方法
CN102882737B (zh) 一种基于xml脚本的tl1命令自动化测试方法

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: 20111228

Termination date: 20140525