一种接口的测试方法和装置的制作方法

文档序号:7968982阅读:215来源:国知局

专利名称::一种接口的测试方法和装置的制作方法
技术领域
:本发明涉及计算机网络通信
技术领域
,更具体地说涉及一种设备管理系统北向接口的测试方法和装置。
背景技术
:现阶段,我国的计算机网及通信网环境是典型的多设备环境,计算机及通信网络中有不同的厂商、不同类型的设备及其管理系统运行,为了提高网络运营管理水平,实现集中监控、集中维护和集中管理的建设模式,运营商正在逐步实现用一套综合网络管理系统来管理所有设备,于是,在此环境下,各种设备管理系统向综合网络管理系统提供北向接口的问题引起了业界的关注。对各设备管理系统的北向接口的接入能力,通常从各接口的信息模型与标准是否一致、是否符合用户需求功能两方面进行考察,需要经过准确、完备、可靠的测试来规范。由于各种设备接口的通信协议不同、实现方式不同、信息模型不同以及支持的管理功能不同,加之用户对接口的功能需求、测试重点又有所差别,因此建立一套既能准确测试各设备管理系统所提供北向接口的信息模型和功能,又能根据用户需求提供对北向接口进行哪些改进的测试系统就变得尤为重要。目前所见用于测试设备接口的测试产品,如CORBAExplorer测试系统、Qxcom(inst-tms)测试系统,均单纯针对C0RBA接口进行测试,不能支持多种不同接口,限制了所述测试系统的接口测试范围,另一方面,一般的手工测试方法,无可避免地会存在由于测试过程不规范性、人为性所导致的操作错误的情况,或由于操作者的个人知识技能的差异而导致测试结果的差异的情况。
发明内容有鉴于此,本发明的主要目的在于提供一种可以灵活适配不同设备管理系统、不同网管协议和不同通信协议的设备管理系统北向接口的测试方法和装置,以屏蔽各种管理系统个性化的接口特征,对接口的信息模型和功能进行全面测试,从而能够以统一的测试流程按照预先计划的测试步骤和方法实现完整的自动测试;一定程度上克服了人工测试的不规范性、人为性所导致的操作错误。本发明一种接口的测试方法是这样实现的一种接口的测试方法,包括步骤确定与被测接口相应的测试用例文件和接口适配器;建立所述测试用例文件中的测试用例和接口适配器中的测试命令的映射关系;在所述测试用例文件中选取待测测试用例;为该待测测试用例设定测试参数;按照所述映射关系确定所述接-口适配器中与所述待测测试用例相应的测试命令;利用所述测试参数和测试命令对被测接口进行测试。还包括保存测试结果。还包括设置用于指示测试用例使用状态的状态信息。还包括测试流程设置测试向导文件,该测试向导文件保存用于指示各测试步骤的顺序和状态的信息。确定与被测接口相应的测试用例文件的步骤包括息模型一致性测试用例文件,或根据接口协议手工生成符合自定义格式的信息模型一致性测试用例文件模板的信息模型一致性测试用例文件;根据用户对接口的功能需求生成符合自定义格式功能测试用例文件模板的功能测试用例文件;确定所述信息4莫型一致性测试用例文件为与所述被测接口相应的测试用例文件。确定测试用例文件的步骤还包括根据用户需求手动生成符合自定义功能测试用例文件模板格式的功能测试用例文件;将所述功能测试用例文件确定为与所述被测接口的接口信息相应的测试用例文件。确定与被测接口相应的接口适配器的步骤包括按照接口信息模型和遵从的技术协议建立接口适配器;对于使用标准接口定义语言描述的接口,通过解析被测接口的标准接口定义文件,自动生成与所述被测接口所遵从的技术协议相适配的接口适配器;对于未使用标准接口定义语言描述的接口,根据接口类型和接口技术协议,手工生成与所述被测接口所遵从的技术协议相适配的接口适配器;确定所述接口适配器为与被测接口的接口相应的接口适配器。本发明还公开了一种接口的测试装置,包括测试用例文件单元、接口适配器生成单元、映射单元、测试用例选取单元、测试参数设定单元和接口适配器,其中,所述测试用例文件单元用于建立并保存与净皮测接口的接口信息相应的测试用例文件;所述接口适配器生成单元用于生成与所述被测接口协议信息相应的接口适配器;所述映射单元用于建立并保存所述测试用例文件中的测试用例与所述接口适配器中的测试命令之间的映射关系;所述测试用例选取单元用于在所述测试用例文件中选取待测测试用例;所述测试参数设定单元用于为待测测试用例设定测试参数;所述接口适配器用于建立测试装置与被测接口之间的连接,通过执行驱动还包括存储单元,用于存储测试信息。还包括测试用例状态设置单元,用于为测试用例设置状态信息;判断单元,用于按照所述测试用例的状态信息判断所述测试用例文件单元配置的测试用例文件中的测试用例的状态。所述测试用例文件单元包括测试用例文件生成单元和测试用例文件,所述测试用例文件生成单元包括信息模型一致性测试用例文件自动生成单元,用于解析被测接口的标准接口定义文件自动生成自定义格式的信息模型一致性测试用例文件;信息;漢型一致性测试用例文件手动生成单元,利用自定义格式的信息模型一致性测试用例文件模板生成信息模型一致性测试用例文件;功能测试用例文件生成单元,根据用户对接口的功能需求生成符合格式的自定义功能测试用例文件模板的功能测试用例文件。所述接口适配器包括测试命令存储区、接口连接单元、和执行单元,其中,所述测试命令存储区保存用于驱动4皮测接口的测试命令;所述接口连接单元用于建立与被测接口的连接;所述执行单元,针对所述测试用例选取单元选取的测试用例按照所述映射单元中的映射关系所映射的测试命令,将所述测试命令和测试参数发送至被测接口,为被测接口设置配置信息或获取被测接口的反馈信息,并将所述反馈信息与期望结杲进行比较,确定测试结果。还包括通知获取单元,用于获取被测接口上报的通知信息。通过以上技术方案可知,本发明具有以下特点和优点1、与现有技术相比,本发明对多种不同接口实现了一种通用的接口测试方法,通过确定与被测接口相适配的接口适配器,当选取测试用例时,通过映射关系确定所述接口适配器中与所选取测试用例相应的测试命令,利用所述测试命令对所述接口进行测试,有效地屏蔽了多种接口的差异性和专业性,可以灵活适应不同类型的接口。2、可按用户需求生成测试用例文件,对被测接口进行多层次、多角度的测试,同时,通过测试用例文件可以克服测试过程不规范性、人为性所导致的操作错误的情况,或由于操作者的个人知识技能的差异而导致测试结果的差异的情况。图1为本发明一种接口的测试方法的实现流程图;图2为本发明一种接口的测试方法的实施例一的流程图3为本发明一种接口的测试方法的实施例二的流程图;图4为本发明一种^J妄口的测试装置的结构框图;图5为本发明一种接口的测试装置的实施例一的结构示意图;图6为本发明一种接口的测试装置的实施例二的结构示意图;图7为本发明一种接口的测试装置的实施例三的结构示意图;图8为本发明一种接口的测试装置的实施例四的结构示意图;图9为本发明一种接口的测试装置的测试用例文件配置单元的结构示意图;图10为本发明一种接口的测试装置的接口适配器的结构示意图。具体实施方式在设备管理系统的实现中,设备管理功能被映射为对一组管理对象的操作,而管理对象在完成具体操作时需要底层网管协议和通信协议原语的支持。本发明中的接口是指设备管理系统的外部接口,可通过所支持的网管协议和通信协议与外部交互被管设备的各种信息。外部通过接口的网管协议和通信协议访问设备管理系统,可以配置或者获得被管设备的管理对象信息,例如,设置网元名称,获取网元系统的活动告警,等等。根据设备管理系统所支持的网管协议和通信协议的种类的不同,设备管理系统的接口有很多种类型,例如COBRA接口、Q3接口、SOCKET接口、数据库接口等。为了获取到被管设备的管理对象信息,为每一种接口都可建立一个相对应的接口适配器,接口适配器通过接口的网管协议和通信协议访问设备管理系统,可以配置或者获得:帔管i殳备的管理对象信息。本发明提出一种可以灵活适配不同网管协议和不同通信协议的设备管理系统接口的测试方法,验证接口的信息模型是否符合设备厂家声明,检查接口的管理功能是否符合用户测试规范。本发明的核心思想是确定与被测接口相应的测试用例文件和接口适配器;建立所述测试用例文件中的测试用例和接口适配器中的测试命令的映射关系;在所述测试用例文件中依次选取待测测试用例;^換照所述映射关系确定所述接口适配器中与所述待测测试用例相应的测试命令;利用所述测试参数和测试命令对被测接口进行测试。对于不同种类的设备管理系统的接口,分别采用相适配的接口适配器完成测试,该接口适配器通过该接口的网管协议和通信协议访问该设备管理系统,通过执行驱动被测接口的命令配置或者获得该设备管理系统的管理对象信息。对于不同种类的设备管理系统的接口,对其实现信息模型一致性和功能的测试可采用相应的测试用例来描述,在本文中,所述测试用例用于描述测试设备管理系统中一个管理对象的操作,所述测试用例文件指的就是测试多个管理对象的操:作的集合。在对接口进行测试之前,需要首先建立针对每一种接口的接口适配器,以及建立支持厂家设备所有管理功能的测试用例文件,按照被测接口的接口信息确定测试用例文件,所述测试用例文件包含多个测试用例,按照接口信息生成接口适配器,所述接口适配器包含有多个测试命令,所述测试命令与被测接口协议适配,建立测试用例与所述接口适配器中的测试命令之间的映射关系,对接口进行测试的时候,选取所述测试用例文件中某一测试用例,通过所述映射关系确定所述接口适配器中的相应的测试命令,并利用所述测试命令对所述被测接口进行测试。以此达到屏蔽了被测接口的专业性的目的。为了使本
技术领域
的人员更好地理解本发明方案,下面结合附图和实施例对本发明作进一步的详细说明。请参考图1,为本发明一种接口的测试方法的实现流程图。首先,进入步骤S101。步骤S101:确定与被测接口相应的测试用例文件和接口适配器。所述^L测接口的接口信息包括定义信息和配置信息;所述定义信息包括接口与外部进行信息交互时所遵循的技术协议信息和接口信息模型信息;所述配置信息包括设备管理系统的IP地址、服务端口、用户名、访问密码以及被测接口类型等信息。所述接口信息还可以是设备厂家提供的设备管理系统的说明书,所述功能说明书内容包括设备厂商声明的接口信息模型各方面功能的描述,包括配置管理、故障管理、性能管理、安全管理、通信链路监视、时间同步、保护管理、端口管理、业务管理、交换管理、流量管理等等。说明书的描述形式上,有些是以标准接口定义语言的形式描述的,例如CORBA接口的功能说明书采用IDL语言描述,有些是厂家自定义的,描述接口的名字、操作的名字、调用时的参数名和类型等。根据所述接口信息模型和功能说明书,建立测试接口信息模型的测试用例文件,即测试范围覆盖被测接口各方面功能的测试用例文件,并由所述被测接口所遵循的技术协议信息设置接口适配器,所述接口适配器中包含与所述测试用例文件中各测试用例对应的测试命令,所述测试命令与所述被测接口所遵循的技术协议相适配,能够被所述被测接口所识别。步骤S102:建立所述测试用例文件中的测试用例和接口适配器中的测试命令的映射关系。所述测试用例即为某个测试项目的一个测试过程的测试方法,例如有一个测试用例geffiMS,其内容为"调用厂家设备管理系统接口的ge伍MS方法,获取设备管理系统的信息";又如,CreatAndActivateSNC即为"创建并激活一条子网连接"。按照测试用例在测试用例文件中的相对位置,以及所述接口适配器中相应测试命令的位置,建立映射关系。步骤S103:在所述测试用例文件中依次选取4寺测测试用例。步骤S104:为所述测试用例输入测试参数。所述测试参数是设备厂家提供的接口中所指定需要输入的参数,例如,测试用例getAllEMSAndMEActiveAlarms请求返回所有的活动告警,需输入可能排除的原因、可能排除的严重告警和最多的告警数量,用于过滤一些告警。步骤S105:按照所述映射关系确定所述接口适配器中与所述待测测试用例相应的测i式命令。步骤S106:利用所述测试参数和测试命令对被测接口进行测试。将所述测试参数和测试命令发送至被测接口,并获取被测接口的反馈信息,将所述反^t信息与期望结果进行比较,以确定测试结果。下面结合附图和具体实施例对本发明一种接口的测试方法进行详细描述,请参考图2,为本发明一种接口的测试方法的实施例一的流程图。步骤S201:开始。步骤S202:确定测试用例文件。获取被测接口的定义信息,判断所述接口是否使用标准接口定义语言来描述的,若是,进入步骤S203;否则,进入步骤S204。步骤S203:自动生成信息模型一致性测试用例文件。按照标准接口定义语言规范与所述被测接口的接口信息模型自动生成信息模型一致性测试用例文件,所述信息模型一致性测试用例包括多个测试用例,包含测试所述被测接口的设备厂家声明的所有管理对象的操作。如被测接口为CORBA接口时,由于所述CORBA接口采用IDL语言,是一种标准接口定义语言,所以根据IDL语言规范与设备生产厂家提供的被测接口的IDL文件,可自动生成信息模型一致性测试用例文件,所述IDL文件用来说明CORBA服务对象完成的操作。所述生成的信息模型一致性测试用例文件如表1所示表l:信息模型一致性测试用例文件<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>在所述信息模型一致性测试用例中,每个测试用例的测试目的是测试所述被测接口的信息模型是否与厂家声明一致,验证接口的信息模型是否符合设备厂家声明,例如测试用例getEMS的测试目的是验证所述被测接口是否支持getEMS方法,并且该方法的输入及输出是否完全符合厂家声明的接口定义;而测试用例deleteSNC的测试目的则是验证所述被测接口是否支持deleteSNC方法,并且该方法的输入及输出是否完全符合厂家声明的接口定义等等。进入步骤S205。步骤S204:建立信息模型一致性测试用例文件模板,根据设备厂家提供的设备管理系统的功能说明书,填写内容,生成信息模型一致性测试用例文件。利用设备厂家提供的说明书中所述被测接口的接口协议或功能说明制作信息模型一致性测试用例文件模板。例如,当所述被测接口为SOCKET接口时,SOCKET接口没有使用标准定义语言描述,建立信息模型一致性测试用例文件模板如下所示startBit="xx"messageLength="xxxx"dataFramesId="xxxx"controlWord="xx"messageContent="xxxx"appendPam1="xxxxxxxx"appendPara2="xxxxxxxx"其中,startBit表示起始位,messageLength表示报文长度,dataFramesId表示数据帧标识,controlWord表示控制字,messageContent表示报文内容,appendPara表示其他参数。根据设备厂家提供的设备管理系统的接口协议或功能说明书,在所述模板中填写相应信息即可生成相应测试用例,如startBit="96"messageLength="0002"dataFramesId="0030"controlWord="03"messageContent="4147"appendParal="C0C00402"appendPara2="C0C0040A"生成测试用例GetAlmMask,相应的测试目的为验证SOCKET接口是否是否支持GetAlmMask方法,并且该方法的输入及输出是否完全符合厂家声明的接口定义。通过设备厂家提供的接口协议或功能说明书和信息模型一致性测试用例文件模板,生成信息模型一致性测试用例文件。根据用户测试规范或者用户需求生成功能测试用例,以测试所述被测接口的某部分管理功能。如用户要求测试被测接口的"查询网元上全部告警"的功能和"查询告警掩码"的功能,则填写功能测试用例模板,所述模板如下"查询网元上全部告警"功能才莫板起始位j'xx"报文长度-"xxxx"数据帧标识"xxxx"控制字-"xx"报文内容^'xxxx"源宿IP地址"xxxxxxxx"节点子网ID=="xxxxxxxx"查询告警掩码模板起始位」'XX"才艮文长度-"xxxx"凄丈据帧标识"XXXX"控制字-"xx"报文内容-"xxxx"源宿IP地址-"xxxxxxxx"节点子网ID="xxxxxxxx"填写上述模板,生成测试用例查询网元上全部告警的测试用例起始位="96"报文长度="0002"数据帧标识="0030"控制字="03"报文内容="4147"源宿IP地址J'C0C00402"节点子网ID="C0C0040A"查询告警掩码的测试用例起始位="96"报文长度="0002"数据帧标识="0030"控制字="03"报文内容="4148"源宿IP地址^'C0C00402"节点子网ID="C0C0040A"进入步骤S205。步骤S205:按照接口信息模型和遵从的技术协议建立接口适配器。当使用标准接口定义语言描述接口时,利用所述接口的信息模型以及所遵从的技术协议生成接口适配器,如CORBA接口,利用厂家提供的通过将IDL文件解析成java或C语言格式的文件,识别关键字得到接口所提供方法的方法名、类名、参数列表組合成测试命令;对于未使用标准接口定义语言描述的接口,根据接口类型和所遵从的技术协议,手工生成连接接口的代码,并采用手工的方式生成测试命令,例如数据库接口只需要实现对数据库下发SQL语句,并处理返回结果;SOCKET接口只需要对接口下发接口协议定义的命令,并处理返回结果。步骤S206:建立映射关系。在接口适配器中存在与信息模型一致性测试用例文件中测试用例相应的测试命令,根据所述测试命令在所述与信息模型一致性测试用例文件中的相对位置,以及所述测试命令在所述接口适配器中的位置,建立所述测试命令和所述测试用例的映射关系。如,测试用例"getEMS"在所述信息模型一致性测试用例文件中的位置(如节点号为1.1.1),将与对应的测试命令(如getEMS())建立对应关系,如if(curTreeNode.testldStr.compare("1.1.1")==0)〃表示选取的测试用例在所述测试用例文件中的节点号为1.1.1;this.EMSMgr_I$getEMS();〃接口适配器中与所述节点号1.1.1对应的测试命令名为EMSMgr—I$getEMS()elseif(curTreeNode.testIdStr.compare("l丄2")==0)表示选耳又的测试用例在所述测试用例文件中的节点号为1.1.2;this.EMSMgr—I$getALLTopLevelSubnetworks0;〃接口适配器中与所述节点号1.1.2对应的测试命令名为EMSMgr_I$getALLTopLevelSubnetworks0;步骤S207:选取所述测试用例文件中一个测试用例。步骤S208:设定测试参数。所述测试参数是设备厂家提供的接口中所指定需要输入的参数,例如,测试用例"getAllEMSAndMEActiveAlarms"请求返回所有的活动告警,需输入可能排除的原因、可能排除的严重告警和最多的告警数量,用于过滤一些告警。所述测试参数还可以包括所述被测接口中某管理对象(如网元)的标识、属性(如名字、支持的连接速率),登录的用户名、密码等参数信息。步骤S209:确定相应的测试命令。按照映射关系,确定所述接口适配器中与所选取测试用例相对应的测试命令,如选取的测试用例为"getEMS"时,按照映射关系确定与所述测试用例在所述测试用例文件中的相对位置(如节点号1.1.1)确定所述接口适配器中的测试命令。步骤S210:测试并保存测试信息。将选取的测试参数和所述测试命令发送至被测接口,对被测接口返回的执行结果与期望结果进行比较,确定测试结果。所述期望结果是指按照生产厂家提供的说明书内容,输入何种参数,产生何种结果,如对被测接口的登录功能模块进行测试,验证所述被测接口是否具有其说明书中所表述的"输入合法的信息,允许合法登录,阻止非法登陆"的功能,期望结果就是当用户名或/和密码错误时,显示"请输入正确的用户名和密码,,的告警信息,当用户名或/和密码正确时,进入系统界面,所采用的测试参数就是用户名、密码,其合法的登录用户名和密码分别为yiyang,123;当用户输入yiyang,312或yiyan,123或yiyan,12时,显示"请输入正确的用户名和密码"的告警信息,以及,用户输入yiyang,123时,进入系统界面,则说明该被测接口的登录功能模块具有说明书中所说的"输入合法的信息,允许合法登录,阻止非法登录"的功能;否则,说明该被测接口的登录功能模块不具有或不完全具有说明书中所说的"输入合法的信息,允许合法登录,阻止非法登录"的功能。将测试信息保存,所述测试信息包括测试用例、输入参数和测试结果。还可以保存对应的日志信息如测试日期、测试人员等信息,以便操作者随时查阅和分析。步骤S211:设置测试状态信息。设置用于指示测试用例的使用状态的状态信息,所述状态信息包括状态有三种测试成功、测试失败、未测试;如将所述选取并完成测试的测试用例的状态置为"测试成功"。步骤S212:按照测试用例的使用状态信息,判断测试用例文件中是否还有未使用的测试用例,若有,返回步骤207;否则,进入步骤S213。步骤S213:结束。为了在输入错误参数时,及时将错误信息告知测试操作者,便于提高效率,可在输入测试参数时,对所述测试参数的合法性进行验证。如图3所示,为本发明一种接口的测试方法的实施例二的流程图。在上述实施例一的步骤S208中设定测试参数之后,进入步骤S2081。步骤S2081:当选取的测试参数合法时,进入步骤S209;否则,进入步骤S2082。被测接口只对符合规定格式的参数进行反应,如测试参数的参数不符合规定格式,即认为所述测试参数不合法,如测试参数要求输入的信息类型为整数,而选取的参数为89.5,该参^t不是整数,则认为所选取的参数是不合法的。步骤S2082:发送告警信息。为了规范测试流程,避免不同测试人员进行测试时,测试结果存在较大差异的情况出现,可以预先按照测试流程设置测试向导文件,用于指示各测试步骤的顺序和状态。例如,按照测试流程确定测试用例文件和接口适配器4连接接口—验证输入测试参数—测试—保存测试结果,设置测试向导文件,用于指示对所述测试流程中的各个测试步骤的状态,如下表所示表2<table>tableseeoriginaldocumentpage18</column></row><table>测试人员按照表2所示测试流程进行测试,保证测试结果的一致性,在一定程度上减小了由于人工操作的随意性所带来的测试误差。为了更进一步对测试流程进行规范,还可以对上述测试流程中的各测试步骤进一步细化。为了方便管理还可以设定测试项目,测试项目i殳定者为每个测试项目设定测试一个或多个测试用例(根据测试需求确定具体包含的测试用例),从而方便和简化了选取测试用例的步骤。为了在接口适配器与被测接口之间连接出现问题时,及时将故障信息告知测试操作者,可通过设置定时检测任务,以定时检测接口适配器与所述被测接口的连接状态,当4企测到所述接口适配器与所述#皮测接口的断开时,及时发送故障消息给测试操作者。请参考图4,为本发明一种接口的测试装置的结构框图。本装置包括测试用例文件单元101、接口适配器生成单元102、映射单元103、测试用例选取单元104、测试参数设定单元105、接口适配器106。所述测试用例文件单元101用于建立并保存与被测接口200的接口信息相应的测试用例文件;所述接口适配器生成单元102用于生成与所述被测接口协议信息相应的接口适配器106;映射单元103用于建立并保存测试用例文件中的测试用例与接口适配器106中的测试命令之间的映射关系;所述测试参数设定单元105用于为待测测试用例设定测试参数;所述接口适配器106用于建立测试装置与被测接口之间的连接,通过执行驱动被测接口的命令,设置配置信息或获取所述被测接口200的反馈信息。其中,当使用标准接口定义语言描述接口时,利用所述接口的信息模型以及所遵从的技术协议生成接口适配器,如CORBA接口,所以利用厂家提供的通过将IDL文件解析成java或C语言格式的文件,识别关键字得到接口所提供方法的方法名、类名、参数列表组合成测试命令;对于未使用标准接口定义语言描述的接口,根据接口类型和所遵从的技术协议,手工生成连接接口的代码,并采用手工的方式生成测试命令,例如数据库接口只需要实现对数据库下发SQL语句,并处理返回结果;SOCKET接口只需要对接口下发接口协议定义的命令,并处理返回结果。映射单元103建立并保存测试用例文件中的测试用例与接口适配器106中的测试命令之间的映射关系,如测试用例"getEMS"在所述信息模型一致性测试用例文件中的相对位置(如节点号为1.1.1),将与对应的测试命令(如getEMS())建立对应关系,如if(curTreeNode,testldStr.compare("1.1.1")==0)〃表示选取的测试用例在所述测试用例文件中的节点号为1.1.1;this.EMSMgr—I$getEMS();〃接口适配器中与所述节点号1.1.1对应的测试命令名为EMSMgr_I$getEMS()elseif(curTreeNode.testldStr.compare("1.1.2")==0)表示选取的测试用例在所述测试用例文件中的节点号为1.1.2;this.EMSMgr—I$getALLTopLevelSubnetworks();〃4妻口适配器中与所述节点号1.1.2对应的测试命令名为EMSMgr—I$getALLTopLevelSubnetworks();本装置的工作过程为测试用例文件单元IOI按照被测接口200的接口信息设置测试用例文件,测试用例文件中包括多个测试用例,接口适配器生成单元102按照所述被测接口所支持的技术协议生成接口适配器106,所述接口适配器106中包括多个测试命令,所述测试命令能被所述被测接口200所识别,映射单元103根据所述测试命令在所述接口适配器106中的位置与所述测试用例在所述测试用例文件中的位置,建立测试用例与测试命令的映射关系,并保存,测试用例选取单元104在所述测试用例文件中选取测试用例,测试参数设定单元105为所选取的测试用例设定测试参数,接口适配器106按照所述映射单元103中的映射关系确定测试命令,将所述测试命令和测试参数设定单元105设定的测试参数发送给被测接口200,并设置配置信息或者获取所述净皮测4娄口200的反馈信息,利用所述反馈信息与厂家声明中的期望结果进行比较,确定测试结果。请参考图5,为本发明一种接口的测试装置的实施例一的结构示意图。本装置工作原理与图4所述工作原理相同,另外还可以包括存储单元107,用于^f呆存测试结果信息,所述结果信息包括测试用例、测试参数及测试结果,还可以包括对应的日志信息如测试日期、测试人员等信息,以便操作者随时查阅和分析。请参考图6,为本发明一种接口的测试装置的实施例二的结构示意图。本装置工作原理与图5所述工作原理相同,另外还可以包括状态信息设置单元108,所述状态信息设置单元用于指示测试用例的使用状态的状态信息;判断单元109,用于按照所述状态信息判断所述测试用例文件中的测试用例的状态。根据接口适配器106中的信息以及测试用例选取单元104选取的测试用例,状态信息设置单元108设置用于指示所述测试用例文件单元101中测试用例的使用状态的信息,所述状态信息包括状态有三种测试成功、测试失败、未测试;如将所述选取并完成测试的测试用例的状态置为"测试成用,,的测试用例,直到判断单元109单元按照所述标识信息判断得出所述测试用例文件中不存在未使用的测试用例为止。为了在被测接口出现故障时,及时将故障信息告知测试操作者,本装置还可以包括通知获取单元110,如图7所示,为本发明一种接口的测试装置的实施例三的结构示意图。所述通知获取单元IIO用于获取被测接口200上才艮的通知。为了在输入错误参数时,及时将错误信息告知操作者,便于提高效率,可设置参数验证单元111和参数告警单元112,如图8所示,为本发明一种接口的测试装置的实施例四的结构示意图。所述参数验证单元111用于验证用户选取的测试参数的合法性,由于被测接口只对符合规定格式的参数进行反应,如测试参数要求输入的信息类型为整数,而选取的参数为89.5,该参数不是整数,则认为所选取的参数是不合法的,当所述参数验证单元lll验证用户选取的参数不合法时,参数告警单元112发送告警通知。为了规范测试流程,避免不同测试人员进行测试时,测试结果存在较大差异的情况的出现,本装置还可以包括测试向导单元,所述测试向导单元与测试用例文件单元101、接口适配器单元102、测试用例选取单元104、测试参数验证单元111和存储单元107相连,用于设置指示信息,所述指示信息包括按照测试流程设置测试步骤的顺序信息和测试步骤的状态信息,所述状态信息为按照上述各功能单元中的信息设置的信息,如"已操作,,或"未操作"。例如,按照测试流程确定测试用例文件和接口适配器—连接接口~>验证输入测试参数—测试—保存测试结果,设置测试向导文件,用于指示对所述测试流程中的各个测试步骤的状态,如下表所示表3测试步骤内容状态1确定测试用例文件和接口适配器已操作2连接接口已操作3验证输入测试参数已操作4测试未操作5保存测试结果未操作测试人员按照表3所示测试流程进行测试,保证测试结果的一致性,在一定程度上减小了由于人工操作的随意性所带来的测试误差。为了更进一步对测试流程进行规范,还可以对上述测试流程中的各测试步骤进一步细化。为了方便管理还可以设定测试项目,测试项目设定者为每个测试项目设定测试一个或多个测试用例(根据测试需求确定具体包含的测试用例),从而方便和简化了选取测试用例的步骤。请参考图9,为本发明一种接口的测试装置的测试用例文件单元的结构示意图。所述测试用例文件单元101包括测试用例文件生成单元113和测试用例文件114,所述测试用例生成单元113包4舌信息才莫型一致性测试用例文件自动生成单元1131、信息模型一致性测试用例文件手动生成单元1132和功能测试用例生成单元1133。所述接口信息文件211是操作者测试之前事先获取的,所述接口信息文件包括接口的技术协议信息、接口的配置信息如IP地址、服务端口、用户名密码以及被测接口类型等信息;所述接口信息文件211还可以包括系统开发商提供的功能说明书,所述功能说明书内容包括对于接口各方面功能的描述。对于接口定义满足标准定义语言规范的接口时,信息模型一致性测试用例文件生成单元1131按照所述标准定义语言规范与所述被测接口的接口信息模型自动生成信息模型一致性测试用例文件;所述信息模型一致性测试用例包括多个测试用例,所述每个测试用例包含测试所述被测接口的某方面功能的方法。如被测接口为CORBA接口时,由于所述CORBA接口采用的IDL语言是一种标准定义语言,所以采用IDL语言规范与被测接口的生产厂家提供的IDL文件自动生成信息模型一致性测试用例文件,所述IDL文件即是CORBA接口的功能说明书。所述信息模型一致性测试用例文件如表4所示表4:信息模型一致性测试用例文件<table>tableseeoriginaldocumentpage23</column></row><table><table>tableseeoriginaldocumentpage24</column></row><table>在所述信息模型一致性测试用例中,每个测试用例的测试目的是验证所述被测接口的某方法的模型是否与接口定义文件声明的一致,例如测试用例getEMS的测试目的是验证所述被测接口是否支持getEMS方法,并且该方法的输入及输出是否完全符合厂家声明的接口定义;而测试用例deleteSNC的测试目的则是验证所述被测接口是否支持deleteSNC方法,并且该方法的输入及输出是否完全符合厂家声明的接口定义等等。对于接口的定义不满足标准定义语言规范的接口,信息模型一致性测试用例文件配置单元1132利用预先设置的信息模型一致性测试用例模板以及用户填写的参数配置信息模型一致性测试用例文件。所述信息模型一致性测试用例模板是利用被测接口的信息模型制作的,当所述被测接口为SOCKET接口时,SOCKET接口的定义语言不是标准定义语言,其信息模型一致性测试用例文件模板如下所示startBit="xx"messageLength="xxxx"dataFramesId="xxxx"controlWord="xx"messageContent="xxxx"appendPara1="xxxxxxxx"appendPara2="xxxxxxxx"其中,startBit表示起始位,messageLength表示才艮文长度,dataFramesId表示凄史据帧标识,controlWord表示控制字,messageContent表示才艮文内容,appendPara表示其他参数。在所述才莫板中填写信息即可生成相应测试用例,如startBit="96"messageLength="0002"dataFramesId="0030"controlWord="03"messageContent="4147"appendParal="C0C00402"appendPara2="C0C0040A"/>生成测试用例GetAlmMask,相应的测试目的为验证SOCKET接口是否具备"查询网元上全部告警,,的功能。通过厂家提供的说明书最终生成信息模型一致性测试用例文件。功能测试用例生成单元1133才艮据用户需求生成功能测试用例,以测试所述被测接口的某部分功能。如用户要求测试被测接口的"查询网元上全部告警"的功能和"查询告警掩码"的功能,则填写功能测试用例模板,所述模板如下"查询网元上全部告警"功能模板起始位^'xx"报文长度^'xxxx"数据帧标识"xxxx"控制字^'xx"报文内容d'XXXX"源宿IP地址^'xxxxxxxx"节点子网ID="xxxxxxxx"查询告警掩码模板起始位d'XX"报文长度-"xxxx"数据帧标识"XXXX"控制字-"xx"报文内容-"xxxx"源宿IP地址d'XXXXXXXX"节,泉子网ID="xxxxxxxx7>填写上述模板,生成测试用例查询网元上全部告警的测试用例:起始位="96"报文长度="0002"数据帧标识="0030"控制字="03"报文内容="4147"源宿IP地址-"C0C00402"节点子网ID="C0C0040A"查询告警掩码的测试用例报文长度="0002"数据帧标识="0030"控制字="03"报文内容="4148"源宿IP地址-"C0C00402"节点子网ID-"C0C0040A7〉请参考图10,为本发明一种接口的测试装置的接口适配器的结构示意图。所述接口适配器106包括测试命令存储区1061、连接单元1062和执行单元1063,其中,所述测试命令存储区1061用于保存测试命令;所述连接单元1062用于与被测接口建立连接,所述执行单元1063用于按照所述映射单元103保存的映射关系确定与所述测试用例选取单元104选取的测试用例相应的测试命令,将所述测试命令和所述测试参数发送至被测接口,获取被测接口反馈信息,并根据所述反馈信息和预制期望结果进行比较,确定测试结果。本接口适配器106的工作过程为当测试用例选取单元104选取测试用例文件中的某个测试用例时,根据映射单元103中存储的测试用例与测试命令的映射关系确定与所选取测试用例相对应的测试命令,并将所述测试命令与设定的测试参数发送至被测接口200,获取被测接口的反馈信息,并将反馈信息与期望结果进行比较,以确定测试结果。所述期望结果就是厂家声明中的期望结果。与现有技术相比,本发明通过确定与被测接口相适配的接口适配器,当选取测试用例时,通过映射关系确定所述接口适配器中与所述测试用例相应的测试命令,利用所述测试命令对接口进行测试,有效地屏蔽了下层接入系统的专业性,可以灵活适应不同类型的接口。并且,本发明可按用户的测试需求生成测试用例文件对;陂测接口进行多角度、系统性的测试。以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。权利要求1.一种接口的测试方法,其特征在于,包括步骤确定与被测接口相应的测试用例文件和接口适配器;建立所述测试用例文件中的测试用例和接口适配器中的测试命令的映射关系;在所述测试用例文件中选取待测测试用例;为该待测测试用例设定测试参数;按照所述映射关系确定所述接口适配器中与所述待测测试用例相应的测试命令;利用所述测试参数和测试命令对被测接口进行测试。2、如权利要求1所述的一种接口的测试方法,其特征在于,还包括保存测试结果。3、如权利要求1所述的一种接口的测试方法,其特征在于,还包括设置用于指示测试用例使用状态的状态信息。4、如权利要求1所述的一种接口的测试方法,其特征在于,还包括测试流程设置测试向导文件,该测试向导文件保存用于指示各测试步骤的顺序和状态的信息。5、如权利要求1所述的接口的测试方法,其特征在于,确定与被测接口相应的测试用例文件的步骤包括通过解析被测接口的接口定义文件自动生成被测接口的自定义格式的信息模型一致性测试用例文件,或根据接口协议手工生成符合自定义格式的信息模型一致性测试用例文件模板的信息模型一致性测试用例文件;根据用户对接口的功能需求生成符合自定义格式功能测试用例文件模板的功能测试用例文件;确定所述信息模型一致性测试用例文件为与所述被测接口相应的测试用例文件。6、如权利要求1所述的接口的测试方法,其特征在于,确定测试用例文件的步骤还包括根据用户需求手动生成符合自定义功能测试用例文件模板格式的功能测试用例文件;将所述功能测试用例文件确定为与所述^皮测4妄口的4妄口信息相应的测试用例文件。7、如权利要求1所述的接口的测试方法,其特征在于,确定与被测接口相应的接口适配器的步骤包括按照接口信息模型和遵从的技术协议建立接口适配器;对于使用标准接口定义语言描述的接口,通过解析被测接口的标准接口定义文件,自动生成与所述被测接口所遵从的技术协议相适配的接口适配器;对于未使用标准接口定义语言描述的接口,根据接口类型和接口技术协议,手工生成与所述被测接口所遵从的技术协议相适配的接口适配器;确定所述接口适配器为与被测接口的接口相应的接口适配器。8、一种4妄口的测试装置,其特征在于,包括测试用例文件单元、接口适配器生成单元、映射单元、测试用例选取单元、测试参数设定单元和接口适配器,其中,所述测试用例文件单元用于建立并保存与被测接口的接口信息相应的测试用例文件;所述接口适配器生成单元用于生成与所述被测接口协议信息相应的接口适配器;所述映射单元用于建立并保存所述测试用例文件中的测试用例与所述接口适配器中的测试命令之间的映射关系;所述测试用例选取单元用于在所述测试用例文件中选取待测测试用例;所述测试参数设定单元用于为待测测试用例设定测试参数;所述4矣口适配器用于建立测试装置与4皮测4矣口之间的连接,通过执行驱动被测接口的命令,设置配置信息或获取所述被测接口的反馈信息。9、如权利要求8所述的接口的测试装置,其特征在于,还包括存储单元,用于存储测试信息。10、如权利要求8或9所述的接口的测试装置,其特征在于,还包括测试用例状态设置单元,用于为测试用例设置状态信息;判断单元,用于按照所述测试用例的状态信息判断所述测试用例文件单元配置的测试用例文件中的测试用例的状态。11、如权利要求8所述的接口的测试装置,其特征在于,所述测试用例文件单元包括测试用例文件生成单元和测试用例文件,所述测试用例文件生成单元包括信息^t型一致性测试用例文件自动生成单元,用于解析被测接口的标准接口定义文件自动生成自定义格式的信息模型一致性测试用例文件;信息模型一致性测试用例文件手动生成单元,利用自定义格式的信息模型一致性测试用例文件模板生成信息模型一致性测试用例文件;功能测试用例文件生成单元,根据用户对接口的功能需求生成符合格式的自定义功能测试用例文件模板的功能测试用例文件。12、如权利要求8所述的接口的测试装置,其特征在于,所述接口适配器包括测试命令存储区、接口连接单元、和执行单元,其中,所述测试命令存储区保存用于驱动被测接口的测试命令;所述接口连接单元用于建立与被测接口的连接;所述执行单元,针对所述测试用例选取单元选取的测试用例按照所述映射单元中的映射关系所映射的测试命令,将所述测试命令和测试参数发送至被测接口,为被测接口设置配置信息或获取被测接口的反馈信息,并将所述反馈信息与期望结果进行比较,确定测试结果。13、如权利要求10或11或12所述的接口的测试装置,其特征在于,还包括通知获取单元,用于获取被测接口上报的通知信息。全文摘要本发明公开了一种接口的测试方法,所述方法包括步骤确定与被测接口相应的测试用例文件和接口适配器;建立所述测试用例文件中的测试用例和接口适配器中的测试命令的映射关系;在所述测试用例文件中选取待测测试用例;为该待测测试用例设定测试参数;按照所述映射关系确定所述接口适配器中与所述待测测试用例相应的测试命令;利用所述测试参数和测试命令对被测接口进行测试。本发明还公开了一种接口的测试装置。本发明通过确定与被测接口相适配的接口适配器,当选取测试用例时,通过映射关系确定所述接口适配器中与所述测试用例相应的测试命令,利用所述测试命令对接口进行测试,有效地屏蔽了多种接口的差异性和专业性,可以灵活适应不同类型的接口。文档编号H04L12/26GK101212357SQ200610135449公开日2008年7月2日申请日期2006年12月31日优先权日2006年12月31日发明者吴艳芹,吴金强,赵泰培,鄂万滨申请人:亿阳信通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1