本发明的目的是为了克服上面描述的
现有技术的弊端,并提供一种基于消息 录制回放的模拟网元测试方法。在网管系统开发测试阶段,尽可能减少实际网元 设备的投入数量,而用尽可能多的模拟网元来代替庞大而昂贵的实际网元组网从 而达到测试网管系统的目的;另外,通过模拟网元保证回放时返回结果的顺序和 内容与录制时完全相同,以满足商用回归测试软件进行回归测试的要求。
本发明提供了
一种基于消息录制回放的模拟网元测试方法,其特征在于包括 如下步骤:
1、取得网管系统与网元设备的通讯
接口协议;
2、在网管系统与网元设备相互连接的链路上插入本发明的消息录
制模块, 消息录制模块通过采用网管系统和网元设备的通讯接口协议来监视网管系统与 网元设备之间相互通讯的消息,并实现对所有这些消息进行转发、检查以及对需 要的消息实现录制存储的功能;
3、将网元设备(400)去掉,在网管系统(300)与消息回放模块(200)之 间建立链路,消息回放模块(200)也采用网管系统(300)与网元设备(400) 的通讯接口协议,与网管系统(300)建立通讯,并利用消息录制模块(100)录 制存储下来的消息
数据库(500),模拟所去掉的网元设备(400),返回相关的消 息。
所述模拟网元测试方法,其特征还在于所述的消息录制模块包括如下步骤:
1、在消息录制模块中设置两个链路接口,一个链路接口用于连接网管系统, 另一个链路接口用于连接网元设备,两个链路接口均使用网管系统与网元设备的 通讯接口协议使消息录制模块与网管系统和网元设备分别建立通讯;
2、两个链路接口接收到的消息都传递到消息处理器;
3、消息处理器接收到消息后,调用消息转发器在两个接口间实现消息的双 向转发功能;
4、调用消息录制器查询消息预定义表,检查是否是需要的消息,并根据消 息预定义表里的动作信息实现此动作信息所定义的动作。
所述模拟网元测试方法,其特征还在于所述的消息回放模块包括如下步骤:
1、设置一个链路接口,用于与网管系统的链路连接,链路接口使用网管系 统与网元设备的通讯接口协议和网管系统建立通讯;
2、链路接口将网管系统方向传来的消息传递到消息处理器;
3、调用消息回放器查询消息预定义表,检查是否是预定义的消息,并根据 消息预定义表里的动作信息实现此动作信息所定义的动作。
上述的消息预定义表是一张二维表格,由测试人员预先将要监视的信息及其 录
制动作添入此表。消息转发器实现的功能就是如上所述的消息双向转发功能, 即将从连接网管系统的链路接口收到的消息原封不动地转发给网元设备;将从连 接网元设备的链路接口收到的消息原封不动地转发给网管系统。消息录制器实现 的功能如上所述有两个:一是对照消息预定义表,实现预定义消息的监视功能, 二是对所监视的消息实现消息预定义表所定义的预定义动作。消息录制器执行消 息的存储动作时,首先根据消息的唯一标志在消息库中查找是否已有相同存储 项,若无则存储,若已有相同存储项,则不作任何处理。
本发明的基于消息录制回放的模拟网元有以下优点:
1、可以将对单个实际网元设备录制的消息库用于组建复杂的模拟网元测试 环境,以满足实验室网管系统测试对测试环境的要求,而如果使用实际网元设备 来进行这项测试,在实验室中基本是不可行的;
2、可以利用本发明配合网管系统的宏命令工具或商业化的软件测试工具(如 美国Rational公司的SQAsuite软件)起到简化测试步骤,缩短测试周期的效果, 从而实现网管系统测试自动化;
3、本发明的模拟网元结构简单,易于实现,因而可以与网管系统的开发同 步开始,甚至可以先于网管系统的开发,从而在网管系统的整个开发过程中都可 以使用,便于网管开发人员调试改错,有很好的实用性;
4、使用本发明的模拟网元在实际网元设备上录制一次,生成的消息库在以 后就可代替这个实际网元设备用于测试,并且消息录制不影响测试工作的进行;
5、由于消息录制模块生成的消息库结构组织较为简单,因此消息库的生成 也较为灵活,可以采用追加、删除、替换等方式来生成更加适合测试需求的消息 库。
附图说明
图1为本发明的整体结构图
图2(a)为消息录制模块基本组成模块及与网管系统和网元设备的连接图
图2(b)是消息回放模块基本组成模块及与网管系统的连接图
图3(a)是消息录制模块与网管系统以及网元的整体组网图
图3(b)是消息回放模块与网管系统的整体组网图
图4(a)是消息录制模块的处理
流程图图4(b)是消息回放模块的处理流程图
下面通过具体的
实施例并结合附图对本发明作进一步详细地描述。
图1示出了本发明的整体结构。消息录制模块100与消息回放模块200是整 个系统的两个基本组成部分,消息录制模块100分别与网管系统300和网元设备 400建立连接,用于生成消息数据库500,对消息数据库500进行“读/写”操作; 消息回放模块200只与网管系统300连接,通过使用消息数据库500来实现模拟 网元的功能,对消息数据库500只进行“读”操作。
图2(a)示出了消息录制模块100的基本组成模块及与网管系统300和网元 设备400的连接关系。消息录制模块100通过链路接口A 101和链路接口B 102 分别与网管系统300和网元设备400建立连接,之间的Q接口11、12通常采用 TCP/IP底层链路协议。消息录制模块100是一个程序,它可以运行于Windows 系统或UNIX系统。链路接口A 101、B 102采用网络套接字socket。Q接口11、 12是网管系统
服务器302与网管系统前置机401之间的通讯协议,如果网管前 置机401不进行网管服务器302与网元402之间的协议转换,那么Q接口11、 12就是网管系统300与网元402的接口协议。以下分别介绍消息录制模块100 对从链路接口A 101和链路接口B 102接收到的消息所作的不同处理。
当链路接口A 101接收到网管系统300送来的消息后,将其送往消息处理器 103,消息处理器103首先调用消息转发器104,消息转发器104对此消息不作 任何处理直接将其通过链路接口B 102发送到网元402,其后消息处理器103将 此消息送往消息录制器105并调用消息录制器105,消息录制器105首先在如下 所示的消息预定义表1里查询此消息是否是预定义的消息,如果是,则根据消息 预定义表1里定义的动作信息采取相应的动作。例如是网管系统300下发的人机 命令消息,则消息录制器105采取如下动作,首先检查消息预定义表1里此消息 对应的网元号与人机命令消息下达的网元号是否一致,如果相同,则根据一定的
算法生成消息唯一标志添入表中此消息对应的ID项内,如不同则消息录制器不 作任何动作。此处,消息唯一标志的计算可以采用如下算法:ID=人机命令消息 每个参数×各个参数序号之和+人机命令号×m+网元号×n。(m,n为非0整数, 一般m,n取值较大一些效果较好)。
消息预定义表1 消息名 动作 ID 网元号 命令 使用算法生成ID, 并置其后ID位 1 返回 结果 取得对应命令消息的 ID,并与之一并存储 1 告警 使用算法生成ID,与 告警消息体一并存储 1
当链路接口B 102接受到网元402上报的消息后,将此消息送往消息处理器 103处理,消息处理器103接受到消息后,首先调用消息转发器104,消息转发 器104将此消息送往链路接口A 101发送到网管系统300。接着消息处理器103 调用消息录制器105,消息录制器105接受到消息后首先在如上所示的消息预定 义表1里查询此消息是否是预定义的消息,如果是,则根据消息预定义表1里定 义的相应动作信息采取相应的动作。例如:如果是告警消息,则根据一定的算法 生成此告警消息的唯一标志ID,此处,消息唯一标志的计算可以采用如下算法: ID=告警消息体所有字节之和,随后将此消息体与此消息的唯一标志存入消息数 据库500;如果是人机命令返回结果消息,则首先在消息预定义表里取得同网元 号的命令消息对应的ID值,其后将返回结果消息体与取得的ID值存入消息数 据库500。存储前需查询库中是否已有重复项,没有才能存储。
以上介绍了消息录制模块100的实施方法,其中消息预定义表中的“网元号” 项的设置主要是为了解决如图3(a)所示录制环境的复杂组网而设置的,以防 止各网元消息的混淆。图4(a)给出了消息录制模块100的处理流程。
下面介绍消息回放模块200的实施方法以及其在测试中的具体应用。如图2 (b)所示,消息回放模块200是一个程序,可以与图2(a)所示消息录制模块 100同处于一个程序中,也可独立出来。链路接口201基于TCP/IP协议实现与 网管系统300的链路连接,消息回放模块200与网管系统300的通讯协议是Q 接口协议。链路接口201接收到网管系统300传来的消息(通常是人机命令消息) 后将其送往消息处理器202作处理,消息处理器202接受到消息后将此消息送往 消息回放器203并调用消息回放器203,消息回放器203查询如下所示的消息预 定义表2,并根据消息预定义表2里消息名对应的动作信息采取相应的动作。例 如对于接收到的命令消息实现消息唯一标志ID的生成,然后根据消息名及生成 的ID在消息录制模块建立的数据库500中查找是否有匹配项,如果有,则将查 找项的消息体读出送往链路接口201,由链路接口201发送到网管系统300;如 果没有,则从链路接口201发送“无结果”的消息给网管系统300。数据库中查 找到的匹配项即是命令所对应的返回结果消息。如果告警消息是网元设备400 主动上报网管系统300的,那么消息回放模块200定期读取告警库中这类的全部 告警消息并将其主动上报网管系统300,对于网管系统300通过命令查询网元才 上报的告警消息,其处理同命令的返回结果消息的处理相同。通过以上方法,就 达到了模拟网元的效果。
消息预定义表2 消息名 动作 命令 使用与图2(a)所示消息录制器106 同样的方法算法生成ID, 以此ID为索引在消息数据库中查找 匹配项。
图4(b)是消息回放模块的处理流程图。图3(b)是消息回放模块与网管 系统的测试组网图,每个消息回放模块模拟如图3(a)所示的网管系统前置机 所带的多个网元。
在实验室里图3(b)所示的环境是非常易于搭建的。在上述实验环境下结合 商业化的测试软件SQASuite,使用消息回放模块,就可对网管系统起到较好的 测试效果。