本发明属于交换机测试技术领域,具体涉及一种基于白盒交换机的自动化测试方法、系统及设备。
背景技术:
浪潮自研的数据中心白盒交换机的固件包含bmc(baseboardmanagercontroller,“基板管理控制器”)、bios(basicinputoutputsystem,“基本输入输出系统”)、cpld(“复杂可编程逻辑器件”),软件包含sonic(开源交换机操作系统)、onie(opennetworkinstallenvironment,是一个开源计划,为现代网络硬件定义了一个开放的安装环境)和diag(诊断系统)。由于数据中心白盒交换机由多个固件和软件组成,因此需要设计一种有效且能覆盖多种固件和软件的方法,保证交换机所有模块的自动化测试均能运行在该系统上,包含测试任务的创建、测试的执行和测试结果的收集等。还未有针对白盒交换机进行软硬件兼顾测试的技术。
技术实现要素:
针对现有技术的上述不足,本发明提供一种基于白盒交换机的自动化测试方法、系统及设备,以解决上述技术问题。
第一方面,本发明提供一种基于白盒交换机的自动化测试方法,包括:
创建自动化测试任务,包括白盒交换机的固件测试和软件测试;
所述根据测试任务配置交换机与网络测试仪端口之间的物理拓扑;
选择待执行的测试脚本,并设置测试脚本的运行轮次和执行时间;
将测试脚本下发至对应的待测交换机和服务器去执行。
进一步的,所述方法还包括:
记录测试日志并上传至服务器进行归档。
进一步的,所述根据测试任务配置交换机与网络测试仪端口之间的物理拓扑,包括:
设置各个待测交换机之间的物理端口的连接方式;
设置待测交换机与网络测试仪之间的物理端口的连接方式;
设置网络测试仪每个端口的速率;
设置报文发送的协议;
设置流量方式,所述流量方式包括单向流量和双向流量。
进一步的,所述方法还包括:根据测试任务选择选择交换机的型号、数量以及ip地址,从而确定待测交换机。
进一步的,所述固件测试包括:bmc测试、bios测试和cpld测试;所述软件测试包括:开源交换机操作系统测试、开源安装环境测试和诊断系统测试。
第二方面,本发明提供一种基于白盒交换机的自动化测试系统,包括:
任务创建单元,配置用于创建自动化测试任务,包括白盒交换机的固件测试和软件测试;
拓扑连接单元,配置用于所述根据测试任务配置交换机与网络测试仪端口之间的物理拓扑;
脚本开发单元,配置用于选择待执行的测试脚本,并设置测试脚本的运行轮次和执行时间;
测试执行单元,配置用于将测试脚本下发至对应的待测交换机和服务器去执行。
进一步的,所述系统还包括:
测试存档单元,配置用于记录测试日志并上传至服务器进行归档。
第三方面,本发明提供一种基于白盒交换机的自动化测试设备,包括:服务器、白盒交换机、网络测试仪、光缆和光模块;所述服务器用于部署如权利要求所述任一自动化测试系统,存储自动化测试脚本,存储测试任务相关数据、测试日志和结果;
所述待测交换机用于根据测试任务配置一台或多台执行自动化测试;
所述白盒交换机用于通过光缆和光模块与白盒交换机互连,或与网络测试仪进行互连;
所述网络测试仪用于网络数据包的发送和统计,根据测试任务的不同,网络测试仪端口模拟协议测试或者功能测试所需的数据包。
本发明的有益效果在于,
本发明提供的一种基于白盒交换机的自动化测试方法、系统及设备,针对白盒交换机的自动化测试,覆盖多种固件和软件的测试,实现交换机的测试一体化,提高交换机的自动化测试效率,保障产品质量。同时实现了测试脚本的管理、测试任务的管理和待测交换机的管理。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的测试任务处理流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
bmc:baseboardmanagercontroller,基板管理控制器。
bios:basicinputoutputsystem,基本输入输出系统。
cpld:复杂可编程逻辑器件。
sonic:开源交换机操作系统。
onie:opennetworkinstallenvironment,是一个开源计划,为现代网络硬件定义了一个开放的安装环境。
diag:诊断系统。
(一)本发明实施例提供一种基于白盒交换机的自动化测试方法,图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种基于白盒交换机的自动化测试系统。
如图1所示,该方法包括:
步骤110,创建自动化测试任务,包括白盒交换机的固件测试和软件测试;
步骤120,所述根据测试任务配置交换机与网络测试仪端口之间的物理拓扑;
步骤130,选择待执行的测试脚本,并设置测试脚本的运行轮次和执行时间;
步骤140,将测试脚本下发至对应的待测交换机和服务器去执行。
可选地,作为本发明一个实施例,所述方法还包括:
记录测试日志并上传至服务器进行归档。
可选地,作为本发明一个实施例,所述根据测试任务配置交换机与网络测试仪端口之间的物理拓扑,包括:
设置各个待测交换机之间的物理端口的连接方式;
设置待测交换机与网络测试仪之间的物理端口的连接方式;
设置网络测试仪每个端口的速率;
设置报文发送的协议;
设置流量方式,所述流量方式包括单向流量和双向流量。
可选地,作为本发明一个实施例,所述方法还包括:根据测试任务选择选择交换机的型号、数量以及ip地址,从而确定待测交换机。
可选地,作为本发明一个实施例,所述固件测试包括:bmc测试、bios测试和cpld测试;所述软件测试包括:开源交换机操作系统测试、开源安装环境测试和诊断系统测试。
为了便于对本发明的理解,下面以本发明一种基于白盒交换机的自动化测试方法的原理,结合实施例中对白盒交换机进行管理的过程,对本发明提供的一种基于白盒交换机的自动化测试方法做进一步的描述。
具体的,如图2所示,所述一种基于白盒交换机的自动化测试方法包括:
1、测试任务的创建:测试工程师可以在自动化测试系统中创建测试任务,所述测试任务包括白盒交换机的固件测试和软件测试,固件包含bmc、bios、cpld,软件包含sonic、onie和diag,具体的步骤如下:
(1)选择待测的交换机,包含交换机的型号、数量、ip地址(需要提前维护至系统中);
(2)配置交换机与网络测试仪端口之间的物理拓扑,即交换机与交换机之间的物理端口怎样连接,交换机与网络测试仪之间的物理端口怎样连接,网络测试仪每个端口的速率,发送什么协议的报文,是双向流量还是单向流量;
(3)选择待执行的脚本,设置脚本运行的轮次;
(4)设置脚本执行的时间;
2、根据创建的测试任务判断脚本是在待测交换机上执行还是在服务器上执行,并将脚和测试任务下发至对应的交换机和服务器,开始执行自动化测试;
3、记录每个脚本执行过程中的日志和每轮测试的结果,并上传至服务器进行归档。
本实施例提供的自动化测试方法适用于白盒交换机自动化测试,不但可以节省测试的时间,而且可以提高测试的准确性,从测试脚本的管理、测试任务的管理和待测交换机的管理多方面进行,目前已应用于项目的实际测试。
(二)为实现实施例1所述的方法,本发明实施例提供一种基于白盒交换机的自动化测试系统,主要是采用pytest自动化测试框架搭建起一套自动化测试软件系统,包括:
任务创建单元,配置用于创建自动化测试任务,包括白盒交换机的固件测试和软件测试;
拓扑连接单元,配置用于所述根据测试任务配置交换机与网络测试仪端口之间的物理拓扑;
脚本开发单元,配置用于选择待执行的测试脚本,并设置测试脚本的运行轮次和执行时间;针对脚本的开发和调试,自动化测试开发工程师在本系统上进行脚本的开发的调试,保证所有脚本均已在待测交换机和服务器上运行通过;
测试执行单元,配置用于将测试脚本下发至对应的待测交换机和服务器去执行。
可选地,作为本发明一个实施例,所述系统还包括:
测试存档单元,配置用于记录测试日志并上传至服务器进行归档。自动化测试开发工程师提交脚本后,可选择对应的审核人,审核人收到该系统脚本审核的邮件通知后可登陆系统进行审核,审核通过后脚本可归档至脚本库,后续创建自动化测试任务时可以从脚本库中挑选对应的测试脚本,如果脚本被驳回,则脚本提交人会搜到邮件通知,登陆系统进行修改。
(三)本发明实施例提供一种基于白盒交换机的自动化测试设备,包括:服务器、白盒交换机、网络测试仪、光缆和光模块;所述服务器用于部署如权利要求所述任一自动化测试系统,存储自动化测试脚本,存储测试任务相关数据、测试日志和结果;
所述待测交换机用于根据测试任务配置一台或多台执行自动化测试;
所述白盒交换机用于通过光缆和光模块与白盒交换机互连,或与网络测试仪进行互连;
所述网络测试仪用于网络数据包的发送和统计,根据测试任务的不同,网络测试仪端口模拟协议测试或者功能测试所需的数据包。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
1.一种基于白盒交换机的自动化测试方法,其特征在于,包括:
创建自动化测试任务,包括白盒交换机的固件测试和软件测试;
所述根据测试任务配置交换机与网络测试仪端口之间的物理拓扑;
选择待执行的测试脚本,并设置测试脚本的运行轮次和执行时间;
将测试脚本下发至对应的待测交换机和服务器去执行。
2.根据权利要求1所述的基于白盒交换机的自动化测试方法,其特征在于,所述方法还包括:
记录测试日志并上传至服务器进行归档。
3.根据权利要求1所述的基于白盒交换机的自动化测试方法,其特征在于,所述根据测试任务配置交换机与网络测试仪端口之间的物理拓扑,包括:
设置各个待测交换机之间的物理端口的连接方式;
设置待测交换机与网络测试仪之间的物理端口的连接方式;
设置网络测试仪每个端口的速率;
设置报文发送的协议;
设置流量方式,所述流量方式包括单向流量和双向流量。
4.根据权利要求1所述的基于白盒交换机的自动化测试方法,其特征在于,所述方法还包括:根据测试任务选择选择交换机的型号、数量以及ip地址,从而确定待测交换机。
5.根据权利要求1所述的基于白盒交换机的自动化测试方法,其特征在于,所述固件测试包括:bmc测试、bios测试和cpld测试;所述软件测试包括:开源交换机操作系统测试、开源安装环境测试和诊断系统测试。
6.一种基于白盒交换机的自动化测试系统,其特征在于,包括:
任务创建单元,配置用于创建自动化测试任务,包括白盒交换机的固件测试和软件测试;
拓扑连接单元,配置用于所述根据测试任务配置交换机与网络测试仪端口之间的物理拓扑;
脚本开发单元,配置用于选择待执行的测试脚本,并设置测试脚本的运行轮次和执行时间;
测试执行单元,配置用于将测试脚本下发至对应的待测交换机和服务器去执行。
7.根据权利要求6所述的基于白盒交换机的自动化测试系统,其特征在于,所述系统还包括:
测试存档单元,配置用于记录测试日志并上传至服务器进行归档。
8.一种基于白盒交换机的自动化测试设备,其特征在于,包括:服务器、白盒交换机、网络测试仪、光缆和光模块;所述服务器用于部署如权利要求所述任一自动化测试系统,存储自动化测试脚本,存储测试任务相关数据、测试日志和结果;
所述待测交换机用于根据测试任务配置一台或多台执行自动化测试;
所述白盒交换机用于通过光缆和光模块与白盒交换机互连,或与网络测试仪进行互连;
所述网络测试仪用于网络数据包的发送和统计,根据测试任务的不同,网络测试仪端口模拟协议测试或者功能测试所需的数据包。
技术总结