一种自动化测试方法及装置、电子设备及存储介质
技术领域
本发明涉及计算机
技术领域
,尤其涉及一种自动化测试方法及装置、电子设备及存储介质。背景技术
在进行交换机和路由器等数通设备的测试时,需要用到测试仪,由于测试仪端口有限,在进行不同设备的测试或者需要增加设备与测试仪相连的端口时,需要人工插拔线缆,将测试仪端口和被测设备相连。无论是人工测试还是自动化测试,在测试仪端口受限的情况下,都需要人为评估测试仪端口的使用情况和频繁更换测试拓扑,浪费了大量时间和精力,造成工作效率低下,并且在测试时需要用到的测试仪端口数量也是动态变化的,一般会过多占用测试仪端口,造成测试仪端口资源浪费,未能实现端口的灵活分配。
发明内容
本发明提供一种自动化测试方法及装置,用以解决现有技术中人为评估测试仪端口的使用情况和频繁更换测试拓扑的缺陷,实现测试仪端口的灵活分配。
本发明提供一种自动化测试方法,用于测试系统,所述测试系统包括被测设备、测试仪以及中间交换机;
所述方法包括:
确定目标被测设备、所需的测试仪的端口数量以及空闲测试仪端口;
基于所述目标被测设备、所需的测试仪的端口数量、空闲测试仪端口、测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系、不同中间交换机之间端口的第三映射关系以及预设规则,确定测试路径;其中,所述测试路径包括所述空闲测试仪端口中的目标测试仪端口、目标被测设备端口以及目标中间交换机端口;
对所述目标中间交换机端口进行配置以用于测试所述目标被测设备,并将所述目标测试仪端口设置为使用状态;
当所述目标被测设备测试完毕后,释放所述目标测试仪端口并将所述目标测试仪端口设置为空闲状态,清除所述目标中间交换机端口的配置。
根据本发明提供的一种自动化测试方法,所述基于所述目标被测设备、所需的测试仪的端口数量、空闲测试仪端口、测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系、不同中间交换机之间端口的第三映射关系以及预设规则,确定测试路径,包括:
确定所述空闲测试仪端口到所述目标被测设备之间的候选路径;
对于每条所述候选路径,确定所述候选路径包含的目标中间交换机的级联通路以及每条级联通路对应的权重系数;
基于所述级联通路以及权重系数确定所述候选路径对应的加权跳数;
选择所述加权跳数最小的候选路径作为测试路径,并将所述测试路径中的空闲测试仪端口作为所述目标测试仪端口。
根据本发明提供的一种自动化测试方法,所述基于所述级联通路以及权重系数确定所述候选路径对应的加权跳数包括:
将所述候选路径中的级联通路对应的权重系数求和得到所述候选路径对应的加权跳数;其中,所述权重系数为级联通路的空闲端口数量的平方数的倒数。
根据本发明提供的一种自动化测试方法,所述确定所述空闲测试仪端口包括:
定时轮询所述测试仪端口的状态,如果所述测试仪端口处于空闲状态,清空所述测试仪端口的配置,并将所述测试仪端口加入空闲列表;
基于所述空闲列表确定所述空闲测试仪端口。
根据本发明提供的一种自动化测试方法,所述对所述目标中间交换机端口进行配置以用于测试,包括:
对每条所述测试路径中的目标中间交换机端口分别进行配置,以使同一测试路径的目标中间交换机端口处于同一虚拟局域网中。
根据本发明提供的一种自动化测试方法,所述方法还包括:
将连接到同一中间交换机的所述测试仪端口分为一组;
若存在多条加权跳数最小的候选路径,则选择同组内空闲端口最多的测试仪端口以及对应的候选路径作为所述目标测试仪端口以及对应的测试路径;
若所述同组内空闲端口的数量相同,则从所述候选路径中随机选择一条候选路径作为测试路径,并将所述测试路径中的空闲测试仪端口作为所述目标测试仪端口。
本发明还提供一种自动化测试装置,用于测试系统,所述测试系统包括被测设备、测试仪以及中间交换机;
所述装置包括:
测试准备单元,用于确定目标被测设备、所需的测试仪的端口数量以及空闲测试仪端口;
确定测试路径单元,基于所述目标被测设备、所需的测试仪的端口数量、空闲测试仪端口、测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系、不同中间交换机之间端口的第三映射关系以及预设规则,确定测试路径;其中,所述测试路径包括所述空闲测试仪端口中的目标测试仪端口、目标被测设备端口以及目标中间交换机端口;
端口配置单元,用于对所述目标中间交换机端口进行配置以用于测试所述目标被测设备,并将所述目标测试仪端口设置为使用状态;
清除配置单元,用于当所述目标被测设备测试完毕后,释放所述目标测试仪端口并将所述目标测试仪端口设置为空闲状态,清除所述目标中间交换机端口的配置。
根据本发明提供的一种自动化测试装置,所述确定测试路径单元还用于:
确定所述空闲测试仪端口到所述目标被测设备之间的候选路径;
对于每条所述候选路径,确定所述候选路径包含的目标中间交换机的级联通路以及每条级联通路对应的权重系数;
基于所述级联通路以及权重系数确定所述候选路径对应的加权跳数;
选择所述加权跳数最小的候选路径作为测试路径,并将所述测试路径中的空闲测试仪端口作为所述目标测试仪端口。
根据本发明提供的一种自动化测试装置,所述确定测试路径单元还用于:
将所述候选路径中的级联通路对应的权重系数求和得到所述候选路径对应的加权跳数;其中,所述权重系数为级联通路的空闲端口数量的平方数的倒数。
根据本发明提供的一种自动化测试装置,所述测试准备单元还用于:
定时轮询所述测试仪端口的状态,如果所述测试仪端口处于空闲状态,清空所述测试仪端口的配置,并将所述测试仪端口加入空闲列表;
基于所述空闲列表确定所述空闲测试仪端口。
根据本发明提供的一种自动化测试装置,所述端口配置单元还用于:
对每条所述测试路径中的目标中间交换机端口分别进行配置,以使同一测试路径的目标中间交换机端口处于同一虚拟局域网中。
根据本发明提供的一种自动化测试装置,所述确定测试路径单元还用于:
将连接到同一中间交换机的所述测试仪端口分为一组;
若存在多条加权跳数最小的候选路径,则选择同组内空闲端口最多的测试仪端口以及对应的候选路径作为所述目标测试仪端口以及对应的测试路径;
若所述同组内空闲端口的数量相同,则从所述候选路径中随机选择一条候选路径作为测试路径,并将所述测试路径中的空闲测试仪端口作为所述目标测试仪端口。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述自动化测试方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述自动化测试方法的步骤。
本发明提供的自动化测试方法及装置、电子设备及存储介质,通过在测试仪和被测设备之前连接多台中间交换机以实现逻辑上扩展测试仪端口,同时自动评估测试仪端口的使用情况,选择最优的空闲测试仪端口并规划逻辑通路,然后对中间交换机下发相应配置使得测试仪和被测设备的链路层相通,进而实现测试仪端口的灵活分配。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的自动化测试方法的流程示意图之一;
图2是本发明实施例提供的测试单元拓扑示意图之一;
图3是本发明实施例提供的自动化测试方法的流程示意图之二;
图4是本发明实施例提供的测试单元拓扑示意图之二;
图5是本发明实施例提供的自动化测试方法的流程示意图之三;
图6是本发明实施例提供的自动化测试方法的流程示意图之四;
图7是本发明实施例提供的自动化测试装置的结构示意图;
图8是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图8描述本发明各实施例提供的技术方案。
图1为本发明一实施例提供的自动化测试方法的流程示意图,该方法包括:
步骤110、确定目标被测设备、所需的测试仪的端口数量以及空闲测试仪端口。
步骤120、基于目标被测设备、所需的测试仪的端口数量、空闲测试仪端口、测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系、不同中间交换机之间端口的第三映射关系以及预设规则,确定测试路径;其中,测试路径包括空闲测试仪端口中的目标测试仪端口、目标被测设备端口以及目标中间交换机端口。
步骤130、对目标中间交换机端口进行配置以用于测试目标被测设备,并将目标测试仪端口设置为使用状态。
步骤140、当所述目标被测设备测试完毕后,释放所述目标测试仪端口并将所述目标测试仪端口设置为空闲状态,清除所述目标中间交换机端口的配置。
需要说明的是,首先需要搭建如图2所示的测试单元拓扑以实现测试仪端口的自动化灵活调度。具体来说,将测试仪的全部端口根据中间交换机的数量进行平均分配,并与中间交换机相连,中间交换机与中间交换机之间连接6条线缆作为级联通路,所有被测设备上架时,便与其中一台中间交换机相连,由与行测试单元ip可达的PC控制单元执行测试仪端口的调度,使目标被测设备可以随时接入测试仪进行测试。
根据上述测试单元拓扑可以建立各设备端口之间的映射关系,并将测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系以及不同中间交换机之间端口的第三映射关系存储在数据库中,并以测试仪端口的端口名和被测设备的设备名为索引。
基于设备端口之间的映射关系,根据预设规则可以自动化选择最优的空闲测试仪端口以及对应的测试路径用于测试目标被测设备。如果需要连续测试多台被测设备,可以依次输入被测设备的设备名,根据设备名可以确定对应的目标被测设备进行测试。测试方式包括自动化测试和手工测试,如需手工测试,则可以直接登录测试仪和目标被测设备进行测试;如需自动化测试,则进行被测设备功能的自动化测试,测试完成后释放测试仪端口,将测试仪端口设置为空闲状态,以及清除中间交换机的配置,如需测试多台,则继续执行选择测试路径步骤以建立测试仪与被测设备的链路层通路。
本发明提供的自动化测试方法,通过在测试仪和被测设备之前连接多台中间交换机以实现逻辑上扩展测试仪端口,同时自动评估测试仪端口的使用情况,选择最优的空闲测试仪端口并规划逻辑通路,然后对中间交换机下发相应配置使得测试仪和被测设备的链路层相通,进而实现测试仪端口的灵活分配。
进一步地,在本发明一实施例中,步骤120具体包括:
步骤310、确定空闲测试仪端口到目标被测设备之间的候选路径。
步骤320、对于每条候选路径,确定候选路径包含的目标中间交换机的级联通路以及每条级联通路对应的权重系数。
步骤330、基于级联通路以及权重系数确定候选路径对应的加权跳数。
步骤340、选择加权跳数最小的候选路径作为测试路径,并将测试路径中的空闲测试仪端口作为目标测试仪端口。
下面结合图4说明确定测试路径的过程,如图4所示,被测设备1需要接入测试,通过查询测试仪端口的使用状态发现只有与中间交换机2相连的端口为空闲端口,此时在空闲端口与被测设备1之间存在以下两条候选路径,候选路径1:测试仪-中间交换机2-中间交换机1-被测设备1、测试仪-中间交换机2-中间交换机3-中间交换机1-被测试设备,本实施例根据中间交换机的负载均衡原则以及最少使用中间交换机原则确定每条候选路径的中间交换机级联通路对应的权重系数以及候选路径的加权跳数,比如假设权重系数为级联通路的空闲端口数量的平方数的倒数,将候选路径中的级联通路对应的权重系数求和得到候选路径对应的加权跳数。已知中间交换机2和中间交换机1之间的空闲端口有2个,中间交换机2和中间交换机3之间的空闲端口有4个,中间交换机3和中间交换机1之间的空闲端口有3个,此时,候选路径1和候选路径2的加权跳数分别为0.25和0.17,候选路径2的加权跳数值最小,因此选择候选路径2作为测试路径。
进一步地,在本发明一实施例中,通过以下方式确定空闲测试仪端口:
步骤510、定时轮询测试仪端口的状态,如果测试仪端口处于空闲状态,清空测试仪端口的配置,并将测试仪端口加入空闲列表。
步骤520基于空闲列表确定空闲测试仪端口。
本实施例通过定时轮询测试仪端口的状态并维护空闲端口列表以提高测试仪端口的利用率。
进一步地,在本发明一实施例中,步骤130具体包括:
对每条测试路径中的目标中间交换机端口分别进行配置,以使同一测试路径的目标中间交换机端口处于同一虚拟局域网中,进而测试仪与目标被测设备的链路层相通。
进一步地,在本发明一实施例中,考虑到可能存在多条加权跳数最小的候选路径,需要进一步设置筛选规则以确定最终的测试路径,具体步骤如下:
步骤610、将连接到同一中间交换机的测试仪端口分为一组。
步骤620、若存在多条加权跳数最小的候选路径,则选择同组内空闲端口最多的测试仪端口以及对应的候选路径作为目标测试仪端口以及对应的测试路径。
步骤630、若同组内空闲端口的数量相同,则从候选路径中随机选择一条候选路径作为测试路径,并将测试路径中的空闲测试仪端口作为目标测试仪端口。
需要说明的是,选择同组内空闲端口最多的测试仪端口以及对应的候选路径作为目标测试仪端口以及对应的测试路径,可以实现中间交换机的负载均衡,避免部分中间交换机负载过重,而其他中间交换机长期处于空闲状态的情况。
下面对本发明提供的自动化测试装置进行描述,下文描述的自动化测试装置与上文描述的自动化测试方法可相互对应参照。
图7为本发明一实施例提供的自动化测试装置的结构示意图,该装置用于包括被测设备、测试仪以及中间交换机的测试系统,如图7所示,该装置包括:
测试准备单元710,用于确定目标被测设备、所需的测试仪的端口数量以及空闲测试仪端口;
确定测试路径单元720,基于目标被测设备、所需的测试仪的端口数量、空闲测试仪端口、测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系、不同中间交换机之间端口的第三映射关系以及预设规则,确定测试路径;其中,测试路径包括空闲测试仪端口中的目标测试仪端口、目标被测设备端口以及目标中间交换机端口;
端口配置单元730,用于对目标中间交换机端口进行配置以用于测试目标被测设备,并将目标测试仪端口设置为使用状态;
清除配置单元740,用于当目标被测设备测试完毕后,释放目标测试仪端口并将目标测试仪端口设置为空闲状态,清除目标中间交换机端口的配置。
需要说明的是,首先需要搭建如图2所示的测试单元拓扑以实现测试仪端口的自动化灵活调度。具体来说,将测试仪的全部端口根据中间交换机的数量进行平均分配,并与中间交换机相连,中间交换机与中间交换机之间连接6条线缆作为级联通路,所有被测设备上架时,便与其中一台中间交换机相连,由与行测试单元ip可达的PC控制单元执行测试仪端口的调度,使目标被测设备可以随时接入测试仪进行测试。
根据上述测试单元拓扑可以建立各设备端口之间的映射关系,并将测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系以及不同中间交换机之间端口的第三映射关系存储在数据库中,并以测试仪端口的端口名和被测设备的设备名为索引。
基于设备端口之间的映射关系,根据预设规则可以自动化选择最优的空闲测试仪端口以及对应的测试路径用于测试目标被测设备。如果需要连续测试多台被测设备,可以依次输入被测设备的设备名,根据设备名可以确定对应的目标被测设备进行测试。测试方式包括自动化测试和手工测试,如需手工测试,则可以直接登录测试仪和目标被测设备进行测试;如需自动化测试,则进行被测设备功能的自动化测试,测试完成后释放测试仪端口,将测试仪端口设置为空闲状态,以及清除中间交换机的配置,如需测试多台,则继续执行选择测试路径步骤以建立测试仪与被测设备的链路层通路。
本发明提供的自动化测试装置,通过在测试仪和被测设备之前连接多台中间交换机以实现逻辑上扩展测试仪端口,同时自动评估测试仪端口的使用情况,选择最优的空闲测试仪端口并规划逻辑通路,然后对中间交换机下发相应配置使得测试仪和被测设备的链路层相通,进而实现测试仪端口的灵活分配。
进一步地,在本发明一实施例中,确定测试路径单元720还用于:
确定空闲测试仪端口到目标被测设备之间的候选路径;
对于每条候选路径,确定候选路径包含的目标中间交换机的级联通路以及每条级联通路对应的权重系数;
基于级联通路以及权重系数确定候选路径对应的加权跳数;
选择加权跳数最小的候选路径作为测试路径,并将测试路径中的空闲测试仪端口作为目标测试仪端口。
进一步地,在本发明一实施例中,确定测试路径单元720还用于:
将候选路径中的级联通路对应的权重系数求和得到候选路径对应的加权跳数;其中,权重系数为级联通路的空闲端口数量的平方数的倒数。
进一步地,在本发明一实施例中,测试准备单元710还用于:
定时轮询测试仪端口的状态,如果测试仪端口处于空闲状态,清空测试仪端口的配置,并将测试仪端口加入空闲列表;
基于空闲列表确定空闲测试仪端口。
进一步地,在本发明一实施例中,端口配置单元730还用于:
对每条测试路径中的目标中间交换机端口分别进行配置,以使同一测试路径的目标中间交换机端口处于同一虚拟局域网中。
进一步地,在本发明一实施例中,确定测试路径单元720还用于:
将连接到同一中间交换机的测试仪端口分为一组;
若存在多条加权跳数最小的候选路径,则选择同组内空闲端口最多的测试仪端口以及对应的候选路径作为目标测试仪端口以及对应的测试路径;
若同组内空闲端口的数量相同,则从候选路径中随机选择一条候选路径作为测试路径,并将测试路径中的空闲测试仪端口作为目标测试仪端口。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行自动化测试方法,用于测试系统,测试系统包括被测设备、测试仪以及中间交换机,该方法包括:确定目标被测设备、所需的测试仪的端口数量以及空闲测试仪端口;基于目标被测设备、所需的测试仪的端口数量、空闲测试仪端口、测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系、不同中间交换机之间端口的第三映射关系以及预设规则,确定测试路径;其中,测试路径包括空闲测试仪端口中的目标测试仪端口、目标被测设备端口以及目标中间交换机端口;对目标中间交换机端口进行配置以用于测试目标被测设备,并将目标测试仪端口设置为使用状态;当目标被测设备测试完毕后,释放目标测试仪端口并将目标测试仪端口设置为空闲状态,清除目标中间交换机端口的配置。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例所提供的自动化测试方法,该方法包括:确定目标被测设备、所需的测试仪的端口数量以及空闲测试仪端口;基于目标被测设备、所需的测试仪的端口数量、空闲测试仪端口、测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系、不同中间交换机之间端口的第三映射关系以及预设规则,确定测试路径;其中,测试路径包括空闲测试仪端口中的目标测试仪端口、目标被测设备端口以及目标中间交换机端口;对目标中间交换机端口进行配置以用于测试目标被测设备,并将目标测试仪端口设置为使用状态;当目标被测设备测试完毕后,释放目标测试仪端口并将目标测试仪端口设置为空闲状态,清除目标中间交换机端口的配置。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的自动化测试方法,该方法包括:确定目标被测设备、所需的测试仪的端口数量以及空闲测试仪端口;基于目标被测设备、所需的测试仪的端口数量、空闲测试仪端口、测试仪端口与中间交换机端口的第一映射关系、中间交换机端口与被测设备端口的第二映射关系、不同中间交换机之间端口的第三映射关系以及预设规则,确定测试路径;其中,测试路径包括空闲测试仪端口中的目标测试仪端口、目标被测设备端口以及目标中间交换机端口;对目标中间交换机端口进行配置以用于测试目标被测设备,并将目标测试仪端口设置为使用状态;当目标被测设备测试完毕后,释放目标测试仪端口并将目标测试仪端口设置为空闲状态,清除目标中间交换机端口的配置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:SSD的自动化测试系统及方法