专利名称:一种交换机测试方法、系统及设备
专利类型:实用新型专利
专利申请号:CN202210588008.9
专利申请(专利权)人:西安易朴通讯技术有限公司
权利人地址:陕西省西安市高新区天谷八路211号环普产业园C幢5楼
专利发明(设计)人:张奔,戴治国
专利摘要:本申请涉及交换机技术领域,尤其涉及一种交换机测试方法、系统及设备,其中方法包括,测试服务器接收终端发送的测试触发指令,根据测试触发指令,从测试服务器预存的各补丁包中获取与待测交换机对应的补丁包;再根据补丁包中预置的编译环境中对待测软件包和补丁包进行编译,获得与待测交换机对应的版本包;之后向待测交换机发送版本包以及与待测软件包对应的测试包,用于对待测交换机中运行的版本包进行测试。通过上述方式,测试服务器可以根据测试触发指令自动获取与待测交换机对应的补丁包,从而自动对待测软件包与待测补丁包进行编译,无需手动对每一个步骤逐一进行触发,有效的节省了人工成本和时间成本,提高了对待测交换机的测试效率。
主权利要求:
1.一种交换机测试方法,其特征在于,
接收终端发送的测试触发指令,所述测试触发指令用于指示对待测软件包在待测交换机中的运行状况进行测试;
根据所述测试触发指令,从测试服务器预存的各补丁包中获取与所述待测交换机对应的补丁包,所述补丁包用于实现所述待测软件包与所述待测交换机的适配;
根据所述补丁包中预置的编译环境中对所述待测软件包和所述补丁包进行编译,获得与所述待测交换机对应的版本包,包括:根据所述测试触发指令生成系统配置文件和测试配置文件;基于所述系统配置文件,调用所述补丁包对所述待测软件包和所述测试配置文件进行编译,获得与所述待测交换机对应的版本包;
向所述待测交换机发送所述版本包以及与所述待测软件包对应的测试包,所述测试包用于对所述待测交换机中运行的所述版本包进行测试;其中,所述测试包包括多个测试文件,所述待测软件包包括多个功能模块,所述多个测试文件中的一个测试文件用于对所述多个功能模块中的一个功能模块进行测试,或所述多个测试文件中的一个测试文件用于对所述多个功能模块中的至少两个功能模块进行测试,或所述多个测试文件中的至少两个测试文件用于对所述多个功能模块中的一个功能模块进行测试;
将接收的所述待测交换机发送的测试报告发送至所述终端,所述测试报告是所述待测交换机基于测试过程中的测试日志中的异常日志生成的;所述测试日志包括所述多个测试文件中每个测试文件中每一条逻辑执行的结果和执行失败的逻辑在所述版本包中对应的位置;
接收所述终端发送的替换指令,所述替换指令用于替换所述测试服务器中所述待测软件包和/或所述测试包。
2.如权利要求1所述的方法,其特征在于,
向所述待测交换机发送所述版本包以及与所述待测软件包对应的测试包之后,还包括:获取与所述待测软件包对应的预设测试顺序;
按照所述预设测试顺序,控制所述待测交换机使用所述测试包对所述版本包进行测试。
3.如权利要求1或2任一项所述的方法,其特征在于,在获取终端发送的测试触发指令之前,还包括:预存有至少一个待测软件包、与所述至少一个待测软件包对应的测试包及对应的预设测试顺序;
针对任一待测交换机,所述测试服务器中预存有与所述待测交换机对应的补丁包。
4.一种交换机测试方法,其特征在于,
接收测试服务器发送的版本包以及与待测软件包对应的测试包;所述版本包是所述测试服务器根据补丁包中预置的编译环境中对所述待测软件包和所述补丁包进行编译得到的;所述补丁包是根据测试触发指令从所述测试服务器预存的各补丁包中确定出与待测交换机对应的补丁包;所述补丁包用于实现所述待测软件包与所述待测交换机的适配;所述测试触发指令是终端发送的用于指示对所述待测软件包在所述待测交换机中的运行状况进行测试;其中,所述测试包包括多个测试文件,所述待测软件包包括多个功能模块,所述多个测试文件中的一个测试文件用于对所述多个功能模块中的一个功能模块进行测试,或所述多个测试文件中的一个测试文件用于对所述多个功能模块中的至少两个功能模块进行测试,或所述多个测试文件中的至少两个测试文件用于对所述多个功能模块中的一个功能模块进行测试;
所述待测交换机基于所述待测软件包对应的预设测试顺序,使用所述测试包对所述版本包进行测试;所述预设测试顺序是所述测试服务器发送至所述待测交换机的;
所述版本包是所述测试服务器根据补丁包中预置的编译环境中对所述待测软件包和所述补丁包进行编译得到的,包括:根据所述测试触发指令生成系统配置文件和测试配置文件;基于所述系统配置文件,调用所述补丁包对所述待测软件包和所述测试配置文件进行编译,获得与所述待测交换机对应的版本包;
将测试报告通过所述测试服务器发送至所述终端,所述测试报告是所述待测交换机基于测试过程中的测试日志中的异常日志生成的;所述测试日志包括所述多个测试文件中每个测试文件中每一条逻辑执行的结果和执行失败的逻辑在所述版本包中对应的位置。
5.如权利要求4所述的方法,其特征在于,使用所述测试包对所述版本包进行测试,包括:使用所述测试包对所述版本包进行测试,并生成所述测试日志;
基于所述测试日志中的异常日志,生成所述测试报告。
6.一种交换机测试系统,其特征在于,所述系统包括用于执行权利要求1至3任一项所述方法的测试服务器和用于执行权利要求4或5所述方法的待测交换机。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,执行如权利要求1‑5任一项所述的方法。
8.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1‑5任一项所述的方法。 说明书 : 一种交换机测试方法、系统及设备技术领域[0001] 本申请涉及交换机技术领域,尤其涉及一种交换机测试方法、系统及设备。背景技术[0002] 在大数据和云计算快速发展的时代中,数据中心的规模不断扩大,对网络交换机的需求也越来越多。因此,就需要提高对网络交换机的开发和测试的效率。[0003] 在对交换机的开发和测试过程中,现有技术是先将一台待测的交换机和测试主机相连,在测试主机上对待测交换机的各项功能进行测试,在测试每一项功能之前,都需要向待测交换机发送测试代码,若发现测试代码执行错误,就需要停止对该项功能的测试,对出现错误的位置进行消除故障(debug),之后再重启对该项功能的测试。按照此种方法,直至所有的功能项测试完成。但是这种方式需要人工手动执行,因此每次只能测试一个交换机,而且在发现错误时,需要手动故障排除,之后再重新测试,这样会大大降低交换机测试的效率。[0004] 基于此,目前亟需一种交换机测试方法,用于提高交换机测试的效率。发明内容[0005] 本申请提供一种交换机测试方法,用于提高交换机测试的效率。[0006] 第一方面,本申请提供一种交换机测试方法,所述方法包括:接收终端发送的测试触发指令,所述测试触发指令用于指示对待测软件包在待测交换机中的运行状况进行测试;根据所述测试触发指令,从所述测试服务器预存的各补丁包中获取与所述待测交换机对应的补丁包,所述补丁包用于实现所述待测软件包与所述待测交换机的适配;根据所述补丁包中预置的编译环境中对所述待测软件包和所述补丁包进行编译,获得与所述待测交换机对应的版本包;向所述待测交换机发送所述版本包以及与所述待测软件包对应的测试包,所述测试包用于对所述待测交换机中运行的所述版本包进行测试。[0007] 通过上述方式,测试服务器可以根据测试触发指令自动获取与待测交换机对应的补丁包,从而自动对待测软件包与待测补丁包进行编译,不需要人工进行手动编译,之后再向待测交换机发送版本包和测试包,使得自动运行版本包进行测试。在测试过程中,测试包可以自动执行,不需要人工对每一个步骤逐一进行触发,使对待侧交换机的测试能够自动完成,有效的节省了人工成本和时间成本,同时,通过测试服务器可以对接多个待测试交换机。通过上述各方面的技术手段,提高了对待测交换机的测试效率。[0008] 一种可能的实现方式中,可以以测试服务器作为执行主体执行上述方法。[0009] 一种可能的实现方式中,所述测试服务器向所述待测交换机发送所述版本包以及与所述待测软件包对应的测试包之后,还包括:所述测试服务器获取与所述待测软件包对应的预设测试顺序;所述测试服务器按照所述预设测试顺序,控制所述待测交换机使用所述测试包对所述版本包进行测试。[0010] 在上述方式中,通过设定预设顺序的方式,可以控制待测交换机按照测试顺序自动完成测试,无需手动进行,而且还可以根据不同的待测交换机预设不同的测试顺序,提高了与待测交换机的兼容性。[0011] 一种可能的实现方式中,所述测试服务器根据所述补丁包中预置的编译环境中对所述待测软件包和所述补丁包进行编译,获得与所述待测交换机对应的版本包,包括:所述测试服务器根据所述测试触发指令生成系统配置文件和测试配置文件;所述测试服务器基于所述系统配置文件,调用所述补丁包对所述待测软件包和所述测试配置文件进行编译,获得与所述待测交换机对应的版本包。[0012] 在上述方式中,可以使用系统配置文件预存测试触发指令中的信息,使得测试服务器可以基于测试系统配置文件确定待测交换机的类型,进而能够调用补丁包,实现对待测软件包和测试配置文件的自动编译,减少人力上的重复性消耗,提高测试效率。[0013] 一种可能的实现方式中,控制所述待测交换机使用所述测试包对所述版本包进行测试之后,还包括:所述测试服务器将接收的所述待测交换机发送的测试报告发送至所述终端;所述测试报告是所述待测交换机基于测试过程中的测试日志中的异常日志生成的;所述测试服务器接收所述终端发送的替换指令;所述替换指令用于替换所述测试服务器中所述待测软件包和/或所述测试包。[0014] 在上述方式中,通过日志和测试报告可以记录待测交换机的测试过程,无需在测试出现错误时停止测试进程,而是在全部的测试结束之后根据测试报告对出现错误的测试模块进行专门的排除故障,有效的提高了对待测交换机测试的效率。[0015] 一种可能的实现方式中,在测试服务器获取终端发送的测试触发指令之前,还包括:所述测试服务器中预存有至少一个待测软件包、与所述至少一个待测软件包对应的测试包及对应的预设测试顺序;针对任一待测交换机,所述测试服务器中预存有与所述待测交换机对应的补丁包。[0016] 在上述方式中,通过预存待测软件包、测试包和预设测试顺序的方式,使得测试服务器可以直接在系统中获取,而不用手动的向测试服务器发送,提高了对待测交换机测试的便捷度。[0017] 第二方面,本申请提供另外一种交换机测试方法,所述方法包括,接收测试服务器发送的版本包以及与待测软件包对应的测试包;所述版本包是所述测试服务器根据补丁包中预置的编译环境中对所述待测软件包和所述补丁包进行编译得到的;所述补丁包是根据测试触发指令从所述测试服务器预存的各补丁包中确定出与所述待测交换机对应的补丁包;所述补丁包用于实现所述待测软件包与所述待测交换机的适配;所述测试触发指令是终端发送的用于指示对所述待测软件包在所述待测交换机中的运行状况进行测试;所述待测交换机基于所述待测软件包对应的预设测试顺序,使用所述测试包对所述版本包进行测试;所述预设测试顺序是所述测试服务器发送至所述待测交换机的。[0018] 一种可能的实现方式中,可以以待测交换机作为执行主体执行上述方法。[0019] 一种可能的实现方式中,使用所述测试包对所述版本包进行测试,包括:所述待测交换机使用所述测试包对所述版本包进行测试,并生成测试日志;所述待测交换机基于所述测试日志中的异常日志,生成测试报告;所述待测交换机将所述测试报告通过所述测试服务器发送至所述终端。[0020] 第三方面,本申请提供一种交换机测试系统,所述系统包括用于执行上述第一方面中方法的测试服务器和待测交换机。[0021] 第四方面,本申请提供一种测试服务器,包括收发模块、配置模块、编译模块、部署模块、服务器控制模块和存储模块。待测交换机包括,交换机控制模块,测试模块、日志模块和测试报告模块。[0022] 其中,所述存储模块用于预存至少一个待测软件包、与所述至少一个待测软件包对应的测试包及对应的预设测试顺序。针对任一待测交换机,所述存储模块中预存有与所述待测交换机对应的补丁包。[0023] 收发模块用于接收终端发送的测试触发指令,测试触发指令用于指示对待测软件包在待测交换机中的运行状况进行测试;[0024] 配置模块用于根据测试触发指令生成系统配置文件和测试配置文件;并基于所述系统配置文件,调用所述补丁包对所述待测软件包和所述测试配置文件进行编译,获得与所述待测交换机对应的版本包,补丁包用于实现待测软件包与待测交换机的适配;[0025] 编译模块,用于根据补丁包中预置的编译环境中对待测软件包和补丁包进行编译,获得与待测交换机对应的版本包,发送给部署模块;[0026] 部署模块向待测交换机发送版本包以及与待测软件包对应的测试包;之后,控制模块控制待测交换机中的交换机控制模块,使得测试模块使用测试包对版本包进行测试。[0027] 收发模块还用于将接收的所述待测交换机发送的测试报告发送至所述终端;所述测试报告是所述待测交换机基于测试过程中的测试日志中的异常日志生成的;所述接收模块还用于接收所述终端发送的替换指令;所述替换指令用于替换所述测试服务器中所述待测软件包和/或所述测试包。[0028] 第五方面,本申请提供一种待测交换机,待测交换机包括接收模块、测试模块、日志模块、测试报告模块及交换机控制模块。待测交换机在测试过程中,通过交换机控制模块实现测试模块、日志模块和测试报告模块之间的交互。测试模块按照测设顺序对版本包进行测试,并记录下每一条测试指令执行的结果,以及执行失败的测试指令对应的版本包中的源代码,存储在日志模块中。在对版本包测试完成之后,测试报告模块根据日志模块中的内容生成测试报告,并将测试报告通过服务器发送给终端。[0029] 第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序被运行时,执行上述第一方面中任一项方法。[0030] 第七方面,本申请提供一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项设计中的方法。[0031] 第八方面,本申请提供一种计算机程序产品,当计算机程序产品在处理器上运行时,实现如上述第一方面中任一项设计中的方法。[0032] 上述第二方面至第八方面的有益效果,具体可参照上述第一方面任一项设计可达到的有益效果,此处不再一一赘述。附图说明[0033] 图1示例性示出本申请实施例提供的一种场景示意图;[0034] 图2示例性示出本申请实施例提供的一种交换机测试方法的流程示意图;[0035] 图3示例性示出本申请实施例提供的又一种交换机测试方法的流程示意图;[0036] 图4示例性示出本申请实施例提供的一种交换机测试系统的架构示意图;[0037] 图5示例性示出本申请实施例提供的一种测试服务器的架构示意图;[0038] 图6示例性示出本申请实施例提供的一种待测交换机的架构示意图。具体实施方式[0039] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。[0040] 图1示例性示出本申请实施例提供的一种场景示意图。如图1所示,本申请实施例中的场景,包括终端110、待测交换机121、待测交换机1221、待测交换机1222和测试服务器130。其中,在方式一中终端110和待测交换机121直接相连,连接的方式可以是有线连接和无线连接。在方式二中,终端110首先和测试服务器130相连,测试服务器130再和待测交换机1221、待测交换机1222相连。在这种连接方式中,由于服务器上有较多的端口,因此在和待测交换机1221、待测交换机1222进行有线连接或无线连接时,可以连接较多的待测交换机。同时,终端110可以通过测试服务器130,和待测交换机1221、待测交换机1222进行通信。[0041] 基于图1中的场景,待测交换机121在待测交换机121的硬件组装完成之后,需要对待测交换机121中与这些硬件强相关的软件功能进行测试,从而确保软件在现有的硬件环境中能够正常运行,这个过程叫做bringup测试阶段。比如需要对待测交换机121中的电路结构进行测试,以确保电路上电或者下电的功能正常。在现有技术中,对待测交换机121的测试,主要通过方式一进行。[0042] 下面介绍具体的测试步骤:[0043] 步骤一:将待测交换机121和终端110进行连接。连接的方式可以是将待测交换机121的端口和终端110的端口进行有线连接,还可以通过无线网、蓝牙等方式进行无线连接。[0044] 步骤二:测试人员通过终端110,按照待测交换机121型号对初始的软件包进行编译,使得软件包和待测交换机121的型号相适配。[0045] 步骤三:把编译之后的软件包安装在待测交换机121上。[0046] 步骤四:测试人员逐一对软件包中的各个功能模块进行测试。[0047] 例如首先向软件包中的功能模块一发送测试代码,对功能模块一的功能进行测试。如果在功能模块一运行测试代码的过程中出现错误,那么就停止对功能模块一的测试,对出现错误的位置进行修改,修改完毕之后,重新对功能模块一进行测试,直到所有的功能模块测试完毕。[0048] 步骤五:确定待测交换机121的各项功能模块正常,bringup测试阶段结束。[0049] 在上述步骤一到步骤五中,主要是测试人员通过终端控制各项测试进程,包括对初始的软件包进行编译,把编译之后的软件包安装在待测交换机上,以及对各个功能模块的测试,均由测试人员手动完成,测试效率较低,也无法同时对多台待测交换机进行测试。[0050] 基于此本申请提供了一种交换机测试方法,可以实现批量对交换机进行测试,提高测试效率。[0051] 继续以图1所示的场景为例,可以按照上述方式二连接终端110,测试服务器130、待测交换机1221和待测交换机1222。针对待测交换机1221和待测交换机1222,由于使用的芯片类型不同,可以将交换机划分为不同的系列,对于同一个系列中的交换机,又可以划分为多种型号。图1中的待测交换机1221和待测交换机1222既可以是不同系列的交换机,也可以是相同系列的交换机;既可以是同一系列中相同型号的交换机,也可以是同一系列中不同型号的交换机。[0052] 测试服务器中预存有至少一个待测软件包、与至少一个待测软件包对应的测试包及对应的预设测试顺序;针对任一待测交换机,测试服务器中预存有与待测交换机对应的补丁包。[0053] 具体来说,测试服务器中可以是通过终端或者其它方式预置有各种不同功能的软件包,如软件包A、软件包B和软件包C。这些软件包会安装在不同的交换机上,为了确保软件包在交换机上的可靠运行,需要对软件包进行测试。即各软件包可以为上述的待测软件包。为了实现对软件包的测试,需要有对应的测试包,即软件包A对应的测试包A、软件包B对应的测试包B、软件包C对应的测试包C。更具体地,软件包中会包括多个功能模块,为了实现对多个功能模块的测试,测试包中相应的设置有不同的测试模块,测试模块的运行顺序则通过预设测试顺序来控制。[0054] 相应的,相同系列的待测交换机可以使用相同的待测软件包和相同的测试包;也可以根据交换机型号的不同为同系列的待测交换机配置不同的待测软件包和测试包。[0055] 下面介绍补丁包的作用:[0056] 一种可能的实现方式中,补丁包中可以包括修改代码,测试服务器使用修改代码可以对待测软件包中的初始代码进行修改,使得待测软件包可以安装在待测交换机上。[0057] 另一种可能的实现方式中,补丁包中可以包括替换代码,测试服务器使用补丁包中的替换代码替换待测软件包中的原始代码,从而使得待测软件包能够和待测交换机适配。图2示例性示出本申请实施例提供的一种交换机测试方法的流程示意图。如图2所示,该方法包括:[0058] 步骤201,测试服务器接收终端发送的测试触发指令,测试触发指令用于指示对待测软件包在待测交换机中的运行状况进行测试。[0059] 在上述步骤201中,相同系列的待测交换机可以使用相同的初始的待测软件包和相同的测试包;也可以根据交换机型号的不同为同系列的待测交换机配置不同的待测软件包和测试包。[0060] 下面以待测交换机1221为例进行介绍,测试触发指令中可以包含待测交换机1221的系列标识和/或型号标识,用于测试服务器130可以根据这些标识确定待测交换机1221。此外测试触发指令中还可以包含待测交换机1221的IP地址,用于和待测交换机1221进行连接,以实现通信。[0061] 步骤202,测试服务器根据测试触发指令,从测试服务器预存的各补丁包中获取与待测交换机对应的补丁包,补丁包用于实现待测软件包与待测交换机的适配。[0062] 示例性地,测试服务器130可以根据待测交换机1221的型号标识,确定待测交换机1221为待测交换机A,于是,从预存的各补丁包中获取与待测交换机1221对应的补丁包A。应理解,由于测试服务器130可以和多个型号的待测交换机1221连接,因此在此过程中,测试服务器130还会获取与其他型号的待测交换机1221对应的补丁包。[0063] 步骤203,测试服务器根据补丁包中预置的编译环境中对待测软件包和补丁包进行编译,获得与待测交换机对应的版本包。[0064] 在上述步骤202中获取的补丁包中还包括与待测交换机1221对应的编译环境。例如,补丁包A中可以包括编译环境A。只有在与待测交换机1221对应的编译环境中才可以对与待测交换机1221对应的待测软件包进行编译。[0065] 示例性地,上述待测交换机1221的系列标识和/或型号标识可以存储在系统配置文件中,测试服务器130可以提取出测试触发指令中的交换机的系列标识或型号标识并存储在系统配置文件和测试配置文件中,然后基于系统配置文件,调用所述补丁包对所述待测软件包和所述测试配置文件进行编译,获得与所述待测交换机1221对应的版本包。[0066] 仍以上述步骤202中的示例为例,测试服务器130使用补丁包A中的替换代码A替换待测软件包中的原始代码,获得待测软件包A,在编译环境A中对待测软件包A进行编译,获得与待测交换机1221对应的版本包A。[0067] 步骤204,测试服务器向待测交换机发送版本包以及与待测软件包对应的测试包,测试包用于对待测交换机中运行的版本包进行测试。[0068] 针对步骤204之后的测试过程,一种可实现的方式是测试服务器获取与待测软件包对应的预设测试顺序,并按照预设测试顺序,控制待测交换机1221使用测试包对版本包进行测试。另一种可实现的方式是测试服务器130获取与待测软件包对应的预设测试顺序,将预设测试顺序发送给待测交换机1221,由待测交换机1221的控制单元对待测交换机的测试单元进行测试过程的控制。[0069] 仍以待测交换机A为例,与待测交换机A对应的为测试包A,测试包A中可以包括多个测试文件,一个测试文件可以对软件包A中的一个功能模块进行测试,也可以对多个功能模块进行测试,还可以是多个测试文件对一个功能模块进行测试。[0070] 假设与待测交换机A对应的待测软件包A中包括功能模块一、功能模块二、功能模块三和功能模块四,那么预设测试顺序可以为如下几种:[0071] 预设测试顺序一:按照功能模块一、功能模块二、功能模块三、功能模块四的顺序串行测试;[0072] 预设测试顺序二:并行测试四个功能模块;[0073] 预设测试顺序三:先测试功能模块二,在并行测试功能模块一和功能模块三,最后再测试功能模块四。[0074] 应理解,上述预设测试顺序只是一个示例,凡是能够完成对版本包测试的预设测试顺序均落在本发明的保护范围之内,在此不再一一赘述。[0075] 需要说明的是,在功能模块中有初始化功能模块时,可以优先测试初始化功能模块。因为初始化功能模块是用于对所有功能模块进行初始化的,确保初始化功能模块的正常,有助于其余测试进程的顺利执行。[0076] 假设预设测试服务器130控制待测交换机1221按照上述测试顺序一使用测试包对版本包进行测试,下面介绍具体的测试过程:[0077] 图3示例性示出本申请实施例提供的又一种交换机测试方法的流程示意图;如图3所示,该流程包括:[0078] 步骤301,待测交换机1221使用测试包对版本包进行测试,并生成测试日志。[0079] 仍以上述步骤202中的示例为例,待测交换机A使用测试包A对版本包A按照预设测试顺序一进行测试,首先对功能模块一进行测试,在测试过程中生成日志,日志用于记录每一条逻辑执行的结果和执行失败的逻辑对应的版本包A中的位置,例如使用测试文件一对功能模块一进行测试,日志记录测试文件一中的第一条逻辑执行成功,第二条逻辑执行失败,记录第二条逻辑对应的版本包A中的位置。在测试文件一中,有逻辑执行失败之后,终止测试文件一的执行。继续测试功能模块二,参照测试文件一的执行方式,直至测试完所有的功能模块。[0080] 需要说明的是,在上述示例中,由于测试文件一仅用于测试功能模块一,因此在测试文件一中有执行失败的逻辑之后就终止了对测试文件一的执行,但是这并不表示,一旦有逻辑执行错误,就终止对该功能模块的测试,而是在前一条逻辑执行错误之后,仍然可以继续执行下一条逻辑。[0081] 步骤302,待测交换机1221基于测试日志中的异常日志,生成测试报告。[0082] 在上述步骤301中,异常日志产生于测试功能模块一时,因此在测试报告中显示功能模块一异常。[0083] 步骤303,待测交换机1221将测试报告通过测试服务器130发送至终端。[0084] 步骤304,测试服务器130接收所述终端发送的替换指令;[0085] 步骤305,测试服务器130根据替换指令替换所述中所述待测软件包和/或所述测试包。[0086] 示例性地,替换指令可以是终端110对异常的功能模块进行debug时产生的,替换指令中既可以包括对待测软件包中异常部分的修改指令,还可以包括针对于修改指令对测试包进行的修改指令。[0087] 步骤306,测试服务器130向待测交换机1221发送测试指令;[0088] 步骤307,待测交换机1221根据测试指令重新执行上述步骤301‑304。[0089] 通过上述方式,可以实现自动输出系统配置文件以及测试文件,并根据待测交换机1221的类型实现自动化编译,极大的节省了人力成本。此外还可以实现对待测交换机1221进行批量测试,提高了测试效率,节省了交换机测试的时间成本。[0090] 基于相同的技术构思,本申请实施例还提供了一种交换机测试系统。图4示例性地示出本申请实施例提供的一种交换机测试系统架构示意图,该交换机测试系统100可以用于前述的交换机测试方法的执行,如图4所示,所述系统包括终端110、测试服务器130和待测交换机1221。[0091] 图5示例性示出本申请实施例提供的一种测试服务器的架构示意图,如图5所述,测试服务器130包括收发模块131、配置模块132、编译模块133、部署模块134、服务器控制模块135和存储模块136。[0092] 其中,所述存储模块136用于预存至少一个待测软件包、与所述至少一个待测软件包对应的测试包及对应的预设测试顺序。针对任一待测交换机,所述存储模块136中预存有与所述待测交换机对应的补丁包。[0093] 收发模块131用于接收终端110发送的测试触发指令,测试触发指令用于指示对待测软件包在待测交换机1221中的运行状况进行测试;[0094] 配置模块132用于根据测试触发指令生成系统配置文件和测试配置文件;并基于所述系统配置文件,调用所述补丁包对所述待测软件包和所述测试配置文件进行编译,获得与所述待测交换机对应的版本包,补丁包用于实现待测软件包与待测交换机1221的适配;[0095] 编译模块133,用于根据补丁包中预置的编译环境中对待测软件包和补丁包进行编译,获得与待测交换机1221对应的版本包,发送给部署模块134;[0096] 部署模块134向待测交换机1221发送版本包以及与待测软件包对应的测试包;之后,服务器控制模块135和待测交换机1221的交换机控制模块1226进行远程连接,服务器控制模块135控制待测交换机1221中的交换机控制模块1226,使得测试模块1223使用测试包对版本包进行测试。[0097] 收发模块131还用于将接收的所述待测交换机发送的测试报告发送至所述终端;所述测试报告是所述待测交换机基于测试过程中的测试日志中的异常日志生成的;所述接收模块还用于接收所述终端发送的替换指令;所述替换指令用于替换所述测试服务器中所述待测软件包和/或所述测试包。[0098] 图6示例性示出本申请实施例提供的一种待测交换机的架构示意图,如图6所示,待测交换机1221包括接收模块1227、测试模块1223、日志模块1224、测试报告模块1225及交换机控制模块1226。待测交换机1221在测试过程中,通过交换机控制模块1226实现测试模块1223、日志模块1224和测试报告模块1225之间的交互。测试模块1223按照测设顺序对版本包进行测试,并记录下每一条测试指令执行的结果,以及执行失败的测试指令对应的版本包中的源代码,存储在日志模块1224中。在对版本包测试完成之后,测试报告模块1225根据日志模块1224中的内容生成测试报告,并将测试报告通过服务器130发送给终端110。[0099] 基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,当所述计算机程序产品在处理器上运行时,实现如图2或图3所示意的方法。[0100] 基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:存储器,用于存储程序指令;[0101] 处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如图2或图3所示意的方法。[0102] 基于相同的技术构思,本发明实施例还提供了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现如图2或图3所示意的方法。[0103] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。[0104] 本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0105] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0106] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0107] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
专利地区:陕西
专利申请日期:2022-05-26
专利公开日期:2024-07-26
专利公告号:CN114978938B