网络管理自动化测试应用
上一篇 /
下一篇 2011-09-18 01:02:40
/ 个人分类:自动化测试—电信
序言:随着网络应用以及各种网络设备的普遍,网络管理将会越来越大,以及越来越复杂,但靠人工的测试,其成本将会越来越大,因此,网络管理方面的自动化测试应用将也是一个趋势。也许这方面的内容电信方面的测试人员会感兴趣点,但是个人觉得,其实对于软件测试人员来说,软件是基于应用的,其交互是通过协议的,但是协议的数据流又是如何在网络底层运作的,这对了解整个网络架构以及扩充自己的知识面,对其职业的发展未尝不是一件好事。
一、 一、网络管理简介
1、网络管理现在应用是分为两类。第一类是网络应用程序、网络上的用户信息和存取的管理,这些是与网络流量监控、网络软件应用有关的网络管理问题,这里不作讨论。
2、网络管理的第二类是由构成网络的硬件所组成。这一类包括工作站、服务器、网卡、路由器、交换机、光网络设备等。因为这些设备分布在各个地方,所以需要一个网络管理程序实时的进行监控和管理其运作,因为其相应的网络管理软件应运而生。
其管理系统中的对象通常包括为四类:
被管理节点(或设备):即你想要监视的设备
代理(agent):用来跟踪被管理设备状态的特殊软件或固件(firware)
网络管理工作站(中心):与在不同的被管理节点中的代理通信,并且显示这些代理状态的中心设备
网络管理协议(SNMP):被网络管理工作站和代理用来交换信息的协议,其是在应用层上的。
通俗点讲,网络管理就是每个设备中有一个代理模块,其代理模块存储了其相关设备的信息,然后通过网络管理协议与网络中心进行交互的一种管理方式,由网络中心进行统一的控制和显示。
二、网络管理模型简介
1、管理体系结构
• 管理工作站
– 必须有管理应用程序,用于数据分析、故障修复
– 给网络管理员提供接口
• 管理代理
– 能够响应管理工作站的信息或者操作请求
– 向管理工作站提供重要但未经请求的信息(trap)
• 管理信息库
– 网络环境下资源的表示
– MIB (management information base)被管对象的集合
• 网络管理协议
– 管理工作站和管理代理之间的通信机制
GET-REQUEST,GET-NEXT-REQUEST和SET-REQUEST是由管理进程发送请求。
GET-RESPONE是被管对象响应管理进程发送上诉三个请求的回馈。
TRAP是被管对象自主发送的状态信息。
2、 TMN管理模型
1)TMN定义的管理层面:
u 网元层:
u 网络层:
u 运维层:
u 业务层:
2)根据TMN模型,在网元层、网络层、运维层、业务层都有相应的管理系统。
u 网元层:EMS,俗称厂家网管或者专业网管,关注设备上的配置、资源以及故障信息。
u 网络层:NMS,构建在EMS之上,汇总全网的资源、故障信息形成一张完整的电路。不同的专业网有不同的NMS。
u 运维层:OSS,构建在NMS之上,不同的运维部门有不同的运营支撑系统。
u业务层:BSS,业务支撑系统,构建在OSS之上,为运营商提供运营管理以及运营决策。
3、网络管理应用
•故障管理(fault management)
–探测、隔离和修正OSI环境下的不正常操作
•计费管理(accounting management)
–记录网络资源的使用,控制和监测网络操作的费用和代价
•配置管理(configuration management)
–初始化并配置网络;控制、识别被管理对象使其实现特定的功能或者使网络达到最优;
•性能管理(performance management)
–对被管理对象的行为、系统资源的运行状况和通信活动的效率进行评价
•安全管理(security management)
–管理对象信息保护和访问控制
根据相应层次的不同,其网络管理程序的功能管理也有所不同。
4、对MIB的简述
MIB为信息管理库,其可以用来表示一系列设备的相关信息,并且进行传输,其需要按照一定的规则进行规定其MIB格式,采用的方式是用树的节点形式进行表示的,为节点名和节点值的形式。
三、网络管理程序设计
在这里可以应用java的SNMP4J包进行对SNMP程序的设计。你可以应用SNMP4J的API进行一个监测服务器、agent代理以及实现相关的pdu的构造和各种snmp操作。这里不进行详说,直接下一个SNMP4J的jar包,里面有其API的javadocs。
四、网络管理测试类型
1、 界面验证测试;即测试界面的字符正确性。
2、 功能配置管理测试;即测试其网络管理程序能够对相应设备进行远程控制,其测试的是与agent的交互功能。
3、 MIB功能测试;即测试是否能够通过MIB对网络管理程序进行get以及set的操作
4、 Trap功能测试;即测试所有告警能够上报在网络管理界面上。
5、 兼容性测试;即测试网络管理软件能够应用在不同的操作系统上。
6、 国际化测试;即需要测试各种不同语言版本。
7、 性能测试;即测试网络管理软件的稳定性以及性能管理方面的功能等。
8、 Corba测试;即北向接口方面的测试,需要测试其规则性与对通性等。北向接口相当于兼容各种公司不同网管的一个接口,用一个综合的上游软件平台可以管理各种不同公司的网络管理平台,例如:电信运营商需要华为、中兴等公司的网络管理平台都提供其北向接口,然后由第三方的软件公司开发一个综合网络平台来管理这些不同的网路管理平台,从而达到监控管理不同公司的设备的作用。
当然,还有一些测试方式和项目正在探索中。
五、网络管理自动化测试应用
1、 对于上述的界面验证测试,可以直接应用自动化测试平台,调用GUI自动化测试工具进行界面回显的判断,一般这方面的测试内容可继承在功能配置管理测试中。 2、 功能配置管理测试,一般为前后台交互型测试,即前台调用GUI自动化测试工具控制界面进行设备的配置命令的下发。然后后台应用脚本技术进行设备的命令行或者API控制,判断是否命令下发成功。
3、 MIB功能测试,即应用Java的SNMP4J包编写一个模拟的agent客户端,对网络管理软件进行自动的整体的get与set的操作。
4、 Trap功能测试;trap功能,即agent上报通知的功能,一般是告警故障方面的主动上报,所以可以应用Java的SNMP4J包编写一个批量的trap告警发送的程序,然后应用GUI自动化测试工具监测其告警的上报的准确性。其trap的类型可以应用MIB的OID进行表示。
5、 兼容性测试与国际化测试,一般来说,即是在不同的环境下将功能进行遍历一遍,因此这一部份的测试根据其测试关注的侧重点的不同进行上述的自动化测试。
6、 Corba测试,可以应用脚本模拟上游端进行请求的发送和回复信息的接收。
六、网络管理自动化测试发展
随着发展,网络中的硬件设备的种类和数目会越来越多,其功能也会越来越多,因此对网络管理方面的要求也会越来越高,对网络管理软件的功能和性能要求指标也越来越高,而电信设备公司或者专业的第三方网络平台设计公司将需要更多的人力成本去进行这方面的测试,因此这个时候自动化在网络管理方面的测试将会越来越重要,但是如何应用自动化测试将其做好,不仅是一个技术上的问题,更是一个需求分析和测试定位的问题了。
总之,自动化测试的设计的思想和原理是相通的,不同的是应用的方式和测试类型的定位,所以,做自动化测试,最终还是要归于到其本质上来,那就是如何更好的做好测试!
收藏
举报
TAG: