基于微服务的工业无线网络设备接入IPv6测试系统及方法


基于微服务的工业无线网络设备接入ipv6测试系统及方法
技术领域
1.本发明属于网络设备测试领域,涉及一种基于微服务的工业无线网络设备接入ipv6测试系统及方法。


背景技术:



2.在工业数据采集领域,各种工业无线网络协议种类繁多。当前存在wia-pa、wirelesshart、6lowpan等多种工业无线协议标准,各个自动化设备生产及集成商还会自己开发各种私有的工业协议,各种协议标准不统一、互不兼容。
3.ipv6的出现为上述问题提供了解决方案。ipv6作为下一代ip协议,为ip网络与工业网络的无缝连接提供了必要的技术支持和广阔的地址资源。将ipv6技术创新应用于工业无线网络领域,可有效的解决海量终端接入问题,为网络化智能化转型升级提供庞大网络空间与数据传输通道,促进异构网络间的互联互通。
4.在工业无线网络设备接入ipv6之前,应对该设备进行相关测试,但如今有关业无线网络设备接入ipv6网络的测试研究较少,并且针对各种网络协议的测试方法多样,传统的单体软件架构测试方法难以满足各种工业无线网络接入ipv6测试服务的融合和扩展需求。


技术实现要素:



5.有鉴于此,本发明的目的在于提供一种基于微服务的工业无线网络设备接入ipv6测试系统及方法。
6.为达到上述目的,本发明提供如下技术方案:
7.一方面,本发明提供一种基于微服务的工业无线网络设备接入ipv6测试系统,包括基于微服务架构的测试管理系统、测试代理、测试环境;
8.所述基于微服务架构的测试管理系统包括交互层、转发层、服务层、数据层以及治理层:
9.交互层:基于web的交互界面,向用户提供人机交互界面;
10.转发层:即服务网关,负责过滤和转发交互层的请求、调用服务层的服务、进行负载均衡功能;
11.服务层:包含各功能模块划分而成的独立微服务,包括:测试资源管理服务模块、测试实施管理服务模块、测试项目管理服务模块、用户管理服务模块、日志管理服务模块;
12.数据层:保存系统正常运行所需要的一切数据;
13.治理层:提高微服务系统的可靠性和容错性,包括:服务注册与发现模块,提供对各个微服务实例进行管理的功能;服务熔断模块,通过故障转移、系统隔离手段防止故障蔓延;服务链路追踪与监控,对微服务调用链路上的性能数据进行采集;服务配置中心,集中管理所有配置属性文件;
14.所述测试代理用于分析来自基于微服务架构的测试管理系统的测试指令,向相应
的测试环境发送数据流,以及接收来自测试环境的数据流,并且对数据流进行处理,将与测试环境交互的数据流处理结果上传给基于微服务架构的测试管理系统;
15.所述测试环境包括网关测试环境、路由器测试环境、终端测试环境,分别为要接入ipv6网络的网关、路由器、终端所搭建的测试环境;测试环境中包含标准的无线路由器、无线终端、ipv6无线边界网关,以及用户提供的被测无线路由器、被测无线终端、被测ipv6无线边界网关。
16.进一步,所述测试代理包括:
17.通信接口:提供与基于微服务架构的测试管理系统的通信功能;
18.协议标准:内嵌与被测工业无线网络相同的协议模块,能与被测工业无线网络进行协议一致性测试;
19.测试代理描述:包含与测试相关的有用信息,包括测试代理的定义信息、驱动测试控制信息,以及相关参数信息;
20.测试驱动:负责与工业无线网络设备接入ipv6测试环境交互测试流。
21.进一步,所述服务层中的各微服务具体包括:
22.所述测试资源管理服务模块包括测试用例管理和测试数据管理,用于对不同协议的无线网络设备接入ipv6测试用例、以及测试所需数据、测试结果数据进行管理;
23.所述测试实施管理服务模块包括无线接入测试管理、测试报告管理、测试用例实施管理;所述无线接入测试管理针对各种协议的无线网络设备接入ipv6测试服务;所述测试报告管理包含针对测试报告的增删查操作功能;所述测试用例实施管理包括测试用例集优化、测试用例执行功能;
24.所述测试项目管理服务模块包括对测试项目进行创建、删除、查看、状态维护功能;
25.所述用户管理服务模块包括对用户信息进行查看、增加、删除和权限分配;
26.所述日志管理服务模块包括记录系统的操作日志和测试用例执行日志。
27.另一方面,本发明提供一种基于微服务的工业无线网络设备接入ipv6测试方法,包括以下步骤:
28.s1:用户登录基于微服务架构的测试管理系统,创建测试项目,填写pics表单,向测试人员提供被测设备;
29.s2:测试人员根据测试项目中的明细将被测设备接入被测网络环境;
30.s3:基于微服务架构的测试管理系统根据用户创建的测试项目,调用相应的内部资源,调用无线接入测试服务,生成测试用例集,并且调用测试用例集优化算法,对测试用例集中的测试用例进行优先级排序;
31.s4:基于微服务架构的测试管理系统根据测试用例集,逐条执行测试用例,向测试代理发送测试指令;
32.s5:测试代理根据操作指令,向工业无线网络设备接入ipv6测试环境发送测试流;
33.s6:工业无线网络设备接入ipv6测试环境中的网络设备对测试流进行转发和响应,最终将测试流响应给测试代理;
34.s7:测试代理对响应的测试流简单处理,并将结果上传给基于微服务架构的测试管理系统;
35.s8:在执行完所有的测试用例后,基于微服务架构的测试管理系统分析测试结果生成测试报告。
36.进一步,测试用例集首次获取时的依据是由用户填写的pics表部分条目,包括device_type_id字段、protocol_type_id字段、requirement_information字段信息;测试用例绑定device_type_id字段、protocol_type_id字段、requirement_information字段信息;
37.测试项目非首次执行,则接入测试服务将该测试项目的测试用例历史执行记录发送给测试用例管理服务,测试用例管理服务根据测试用例历史执行记录的test_case_id字段信息从数据库中调取测试用例基。
38.进一步,对测试用例集进行优化前,对测试用例进行再编号,得到测试用例编号序列;
39.测试用例集优化算法的输入是测试用例编号x
ij
,以及对应的测试用例的测试需求覆盖数测试用例历史执行失败数输出是优化后的测试用例编号序列;测试用例集优化算法包括以下步骤:
40.s31:定义测试用例的测试需求覆盖数、历史失败数;
41.s32:初始化测试用例的测试需求覆盖数、历史失败数;
42.s33:判断是否存在若不存在,则利用普通排序算法根据大小进行降序排序得到优化的测试用例编号序列,若存在,则调用基于改进的多目标布谷鸟搜索算法获取优化的测试用例编号序列。
43.进一步,所述基于改进的多目标布谷鸟搜索算法包括以下步骤:
44.a1:定义种规模、发现概率、结束条件;
45.一个鸟巢代表一个测试用例集所有测试用例的编号序列,代表一个可能解,鸟巢的定义为:
[0046][0047]
式中,n表示所有鸟巢的数量,即种大小;m表示一个测试用例集的测试用例数量,即测试用例编号的数量;tmax表示最大迭代次数;x
ij
表示第i个鸟巢的第j个测试用例编号;表示第i个经过t次迭代的鸟巢;
[0048]
一个种定义为:
[0049][0050]
在执行随机漫步机制时以一定的概率抛弃部分鸟巢,鸟巢的宿主发现布谷鸟蛋的概率为pa,定义结束条件为当前迭代次数是否为最大迭代次数tmax;
[0051]
a2:初始化种,确定适应度函数;
[0052]
a3:判断是否满足结束条件,即是否达到最大迭代次数tmax,若满足,则输出最优鸟巢,否则执行以下循环步骤;
[0053]
a4:通过莱维飞行机制生成新的鸟巢并更新种;
[0054]
a5:通过随机漫步机制生成新鸟巢并更新种;
[0055]
a6:判断是否满足突变决策条件,若满足,则更新迭代次数,返回步骤a4;不满足,
则先过突变机制生成新的鸟巢并更新种,再更新迭代次数,返回步骤a4。
[0056]
突变决策条件为:
[0057][0058]
其中,γ表示突变机制的阈值;u表示要追溯的代数;
[0059]
当第i个鸟巢连续u代的适应度值保持在一个小范围内变化时,触发突变机制,以当前随机漫步机制更新的种当作t+1代种来进行决策;
[0060]
突变机制产生新的鸟巢公式如下:
[0061][0062]
式中,表示处理得到的鸟巢;xθ表示随机突变参数;
[0063]
新鸟巢的测试用例编号进行无性遗传机制修复处理;计算种的各鸟巢适应度值非支配解集合比较和中解的支配关系,更新非支配解集合得
[0064]
在目标空间中,根据到基准点逐对比较与基准点距离和与基准点的距离;保留距离较小的那个鸟巢,得到新的种
[0065]
经过比较和保留操作后的鸟巢记为更新最优鸟巢及其适应度值更新最优鸟巢及其适应度值
[0066]
进一步,步骤a2具体包括以下步骤:
[0067]
将种中的每个鸟巢进行初始化处理:
[0068][0069]
式中,randompermutation(m)为第i个初始鸟巢生成大小为m的随机排列函数,初始种为
[0070]
以最大化测试需求覆盖率和最大化历史执行失败率为排序目标,所述最大化测试需求覆盖率是指测试用例尽快覆盖更多测试需求,所述化历史执行失败率指在历史执行过程中,发现过缺陷的测试用例应具有更高的优先级;
[0071]
所述最大化测试需求覆盖率的目标函数为:
[0072][0073]
式中,m表示一个测试用例集的测试用例数量;x
ij
表示第i个鸟巢的第j个测试用例
编号;表示一个测试用例覆盖的测试需求数;rcs表示所有测试用例覆盖的测试需求数;
[0074]
所述最大化历史执行失败率的目标函数为:
[0075][0076]
式中,表示一个测试用例的历史执行失败数,fcs表示所有测试用例的历史执行失败数;
[0077]
综合最大化测试需求覆盖率和最大化历史执行失败率为排序目标的鸟巢目标函数f(xi)表示为:
[0078]
f(xi)=[f1(xi),f2(xi)]
[0079]
以目标函数作为适应度函数,目标函数的值为适应度值,通过下式得到初始种的非支配解集合nds
(0)

[0080][0081]
其中xa和xb是不同的两个鸟巢,到nds
(0)
中的基准点(max(f1),max(f2)),记为rp
(0)
,计算距离基准点最近的非支配解,作为初始种p
(0)
最优解其适应度值计算距离基准点最远的解,作为初始种p
(0)
最差解其适应度值
[0082]
进一步,所述步骤a5具体包括以下步骤:
[0083]
利用莱维飞行机制对除最优鸟巢以外的其他鸟巢的位置和状态进行更新,初始更新公式为:
[0084][0085]
式中,α表示步长控制量;表示第i个经过t次迭代的鸟巢;表示在经过莱维飞行机制生成新的鸟巢,是临时更新版本的鸟巢,并非t+1代鸟巢;表示点对点乘法;levy(β)表示随机搜索路径,服从levy分布;
[0086]
使用下式产生levy随机数:
[0087][0088]
式中,μ,v服从标准正太分布;
[0089][0090]
适应步长为:
[0091][0092]
式中,表示经过t次迭代种中,第i个鸟巢的步长;表示是经过t次迭代种中,第i个鸟巢的适应度值;表示经过t次迭代种中,最优鸟巢适应度值;表示经过t次迭代种中,最差鸟巢适应度值;
[0093]
改进的莱维飞行更新公式为:
[0094][0095]
对新鸟巢的测试用例编号进行四舍五入,将越界的测试用例编号和重复的编号替换成无关值,记为*;然后新鸟巢中的无关值从旧鸟巢中获取,按照旧鸟巢的值顺序填充新鸟巢的无关值*;通过无性遗传机制修复新的鸟巢最终得到鸟巢
[0096]
计算修复后鸟巢的适应度值得到非支配解集合比较和中解的支配关系,更新非支配解集合得在目标空间中,根据到基准点逐对比较与基准点距离和与基准点的距离;保留距离较小的那个鸟巢,得到新的种经过比较和保留操作后的鸟巢记为更新最优鸟巢及其适应度值更新最优鸟巢及其适应度值
[0097]
进一步,步骤a5具体包括以下步骤:
[0098]
所述随机漫步机制,是模拟鸟巢的宿主一定几率发现布谷鸟蛋后可能放弃鸟巢,在别处生成一个新鸟巢的过程,随机漫步机制产线新鸟巢的表达式如下:
[0099][0100]
其中,表示种中任意不同的3个鸟巢;ε表示属于[0,1]中的随机数;pa表示是发现概率;h(ε-pa)赫维赛德函数,当(ε-pa)≥0时,该函数值为1,否则该函数值为0;
[0101]
对新鸟巢的测试用例编号进行无性遗传机制修复处理,得到种
[0102]
计算种的各鸟巢适应度值非支配解集合比较和中解的支配关系,更新非支配解集合得
[0103]
在目标空间中,根据到基准点逐对比较与基准点
距离和与基准点的距离;保留距离较小的那个鸟巢,得到新的种
[0104]
经过比较和保留操作后的鸟巢记为更新最优鸟巢及其适应度值更新最优鸟巢及其适应度值
[0105]
本发明的有益效果在于:本发明通过基于微服务的ipv6测试系统,有效解决了各种工业无线网络接入ipv6测试服务的融合和扩展需求,每个微服务仅关注一件任务,并且能很好地完成任务,各微服务可以独立部署,微服务之间是松耦合的,各服务之间相互协调、配合。微服务架构可为工业无线网络设备接入ipv6的测试系统的部署提供巨大帮助。
[0106]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0107]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0108]
图1为基于微服务的工业无线网络设备接入ipv6测试拓扑图;
[0109]
图2为基于微服务的工业无线网络设备接入ipv6测试框架图;
[0110]
图3为整体测试工作流程图;
[0111]
图4为基于微服务架构的测试管理系统功能需求组织结构图;
[0112]
图5为测试用例获取的流程图;
[0113]
图6为测试用例集优化服务程序流程图;
[0114]
图7为基于改进的多目标布谷鸟搜索算法的流程图;
[0115]
图8为目标空间图;
[0116]
图9为无性遗传机制修复过程示意图;
[0117]
图10为测试用例执行流程图。
具体实施方式
[0118]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0119]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是
可以理解的。
[0120]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0121]
图1为基于微服务的工业无线网络设备接入ipv6测试拓扑图,如图所示,基于微服务的工业无线网络设备接入ipv6测试拓扑主要包含两个部分:测试服务层和被测网络层。
[0122]
测试服务层由用户及浏览器、互联网路由器、基于微服务架构的测试管理系统等组成:
[0123]
(1)用户通过浏览器访问基于微服务架构的测试管理系统,浏览器会显示用户的人机交互界面。用户根据人机交互界面可以进行注册、登录、选择测试服务、查询测试结果等操作;
[0124]
(2)互联网路由器为用户的浏览器设备、基于微服务架构的测试管理系统与被测网络层之间提供互联网路径,实现信息交互;
[0125]
(3)部署在云服务器的基于微服务架构的测试管理系统能够根据用户提交的测试服务,调用内部的数据库,向被测网络层发送测试指令,并且能够分析测试数据,将测试结果响应给浏览器。
[0126]
被测网络层由测试代理、网关测试环境、路由器测试环境、终端测试环境等组成:
[0127]
(1)测试代理能够分析来自基于微服务架构的测试管理系统的测试指令,向相应的测试环境发送数据流,以及接收来自测试环境的数据流,并且对数据流进行简单的处理。测试代理会将和测试环境交互的数据流处理结果上传给基于微服务架构的测试管理系统;
[0128]
(2)网关测试环境、路由器测试环境、终端测试环境是分别为要接入ipv6网络的网关、路由器、终端所搭建的测试环境。测试环境中包含标准的无线路由器、无线终端、ipv6无线边界网关等设备,以及用户提供的被测无线路由器、被测无线终端、被测ipv6无线边界网关等设备。
[0129]
如图2所示为基于微服务的工业无线网络设备接入ipv6测试框架图,基于微服务架构的测试管理系统包括交互层、转发层、服务层、数据层以及治理层:
[0130]
(1)交互层是基于web的交互界面,向用户提供人机交互界面;
[0131]
(2)转发层,即服务网关,主要负责过滤和转发交互层的请求、调用服务层的服务、进行负载均衡等功能;
[0132]
(3)服务层包含各功能模块划分而成的独立微服务,包括:测试资源管理服务、测试实施管理服务、测试项目管理服务、用户管理服务、日志管理服务模块;
[0133]
(4)数据层保存系统正常运行所需要的一切数据;
[0134]
治理层主要提高微服务系统的可靠性和容错性,包括:服务注册与发现模块,提供对各个微服务实例进行管理的功能;服务熔断模块,通过故障转移、系统隔离等手段防止故障蔓延造成雪崩效应;服务链路追踪与监控对微服务调用链路上的性能数据进行采集;服务配置中心能够集中的管理所有配置属性文件。
[0135]
测试代理是基于微服务架构的测试管理系统与工业无线网络设备接入ipv6测试环境之间的桥梁,主要包括:
[0136]
(1)通信接口,提供与基于微服务架构的测试管理系统的通信功能;
[0137]
(2)协议标准,内嵌与被测工业无线网络相同的协议模块,能与被测工业无线网络进行协议一致性测试;
[0138]
(3)测试代理描述,包含与测试相关的一些有用信息,如测试代理的定义信息、驱动测试控制信息,以及相关参数信息;
[0139]
测试驱动,主要负责与工业无线网络设备接入ipv6测试环境交互测试流。
[0140]
整体测试工作流程如图3所示。
[0141]
(1)用户需要向测试人员提供被测设备,当用户创建好测试项目后,测试人员根据测试项目中的明细将被测设备接入被测网络环境;
[0142]
(2)用户在浏览器上填写协议一致性声明(protocol implementation conformance statement,pics)表,根据被测无线网络设备的实际测试需求,选则要测试的设备类型、协议类型、测试需求等。pics表结构如表1所示,测试需求表结构如表2所示。
[0143]
表1
[0144][0145]
表2
[0146][0147]
(3)基于微服务架构的测试管理系统根据用户创建的测试项目,调用相应的内部资源,调用无线接入测试服务,生成测试用例集,并且调用测试用例集优化算法,对测试用例集中的测试用例进行优先级排序;
[0148]
(4)基于微服务架构的测试管理系统根据测试用例集,逐条执行测试用例,向测试代理发送测试指令;
[0149]
(5)测试代理根据操作指令,向工业无线网络设备接入ipv6测试环境发送测试流;
[0150]
(6)工业无线网络设备接入ipv6测试环境中的网络设备对测试流进行转发和响应,最终会将测试流响应给测试代理;
[0151]
(7)测试代理对响应的测试流简单处理,并将结果上传给基于微服务架构的测试管理系统;
[0152]
(8)在执行完所有的测试用例后,基于微服务架构的测试管理系统会分析测试结果生成测试报告。
[0153]
基于微服务架构的测试管理系统功能需求组织结构如图4所示,包括:
[0154]
(1)测试资源管理功能
[0155]
为了方便管理不同协议的无线网络设备接入ipv6测试用例、以及测试所需数据、测试结果数据,基于微服务架构的测试管理系统需要具备测试资源管理功能,以便测试人员对测试所需资源进行增删改查。
[0156]
(2)测试实施管理功能
[0157]
由于各无线网络协议较多,不同协议的无线网络设备接入ipv6测试有不同的特点以及不同实施过程,并且测试用例相关的实施操作在整个测试中是极其重要且繁琐的一环,因此基于微服务架构的测试管理系统应当具有测试实施管理功能。
[0158]
测试实施管理功能包括:无线接入测试管理,其包括针对各种协议的无线网络设备接入ipv6测试服务,例如wireless hart接入测试、wia-pa接入测试、6lowpan接入测试等;测试报告管理包含针对测试报告的增删查等操作功能;测试用例实施管理有测试用例集优化、测试用例执行等功能。
[0159]
(3)测试项目管理功能
[0160]
用户选择测试服务是通过创建测试项目来完成的,当测试服务执行时,用户也需要从测试项目中去查看测试状态,同时测试完成时生成的测试报告需要从测试项目中获取。因此基于微服务架构的测试管理系统需要测试项目管理功能。测试项目管理功能包括测试项目创建、删除、查看、状态维护等功能。
[0161]
(4)用户管理功能
[0162]
针对实际测试环境中,具有基于微服务架构的测试管理系统使用权限的人员比较多,而且人员复杂,需要设计登录功能,对用户分配的账户和密码进行身份验证,避免无关人员或权限不匹配人员进入系统。通过对用户的账户进行分类和分级进行用户的权限分配,避免普通用户的误操作,在一定程度上保障系统的安全性。用户管理功能包括用户信息查看、用户增加删除、用户权限分配等功能。
[0163]
(5)日志管理功能
[0164]
基于微服务架构的测试管理系统应具备日志管理功能,详细记录系统使用者对系统的操作及操作结果,记录测试用例的执行过程等,便于问题的查和追责,并且及时解决问题。
[0165]
测试用例获取的流程如图5所示,接入测试服务通过调用测试用例管理服务从数据库中调用测试用例,从而获取测试用例集。接入测试服务调用测试用例优化服务,通过优化算法对测试用例集进行优先级排序,然后将优化后的测试用例集返回给接入测试服务。
[0166]
测试用例集首次获取时的依据是由用户填写的pics表部分条目,包括device_type_id字段、protocol_type_id字段、requirement_information字段信息。测试用例在设计时就会绑定device_type_id字段、protocol_type_id字段、requirement_information字段信息。测试用例结构如表3所示。
[0167]
表3
[0168][0169]
若该测试项目并非首次执行,则接入测试服务会将该测试项目的测试用例历史执行记录发送给测试用例管理服务。测试用例历史执行记录结构如表4所示。
[0170]
测试用例管理服务根据测试用例历史执行记录的test_case_id字段信息从数据库中调取测试用例。
[0171]
表4
[0172][0173]
测试用例集优化服务程序在执行之前,基于微服务架构的测试管理系统从数据库中调取的测试用例集,将其中的测试用例进行再编号。再编号即若测试用例集有m个测试用例,则给每个测试用例从1到m进行再编号得到测试用例编号序列。
[0174]
测试用例集优化服务程序的输入是测试用例编号x
ij
,以及对应的测试用例的测试需求覆盖数测试用例历史执行失败数如表5所示。输出则是优化后的测试用例编号序列。
[0175]
表5
[0176][0177][0178]
测试用例集优化服务程序流程如图6所示,程序首先会判断该测试项目是否存在目是否存在若不存在,则利用普通排序算法根据大小进行降序排序得到优化的测试用例编号序列,若存在,则调用基于改进的多目标布谷鸟搜索算法获取优化的测试用例编号序列。
[0179]
基于改进的多目标布谷鸟搜索算法的流程如图7所示,该算法是以最大化测试需求覆盖率和最大化历史执行失败率为排序目标。首先需要构建测试用例与测试目标之间的关系构建适应度函数,并且通过莱维飞行机制全局搜索、随机漫步机制局部搜索、突变机制防止陷入局部最优等手段保障优化结果的质量。具体步骤如下:
[0180]
步骤一:定义种规模、发现概率、结束条件等。
[0181]
一个鸟巢代表一个测试用例集所有测试用例的编号序列,代表一个可能解,鸟巢的定义为:
[0182][0183]
式中,n表示所有鸟巢的数量,即种大小;
[0184]
m表示一个测试用例集的测试用例数量,即测试用例编号的数量;tmax表示最大迭代次数;x
ij
表示第i个鸟巢的第j个测试用例编号;表示第i个经过t次迭代的鸟巢;
[0185]
一个种定义为:
[0186][0187]
算法在执行随机漫步机制时以一定的概率抛弃部分鸟巢,鸟巢的宿主发现布谷鸟蛋的概率为pa。定义结束条件为当前迭代次数是否为最大迭代次数tmax。
[0188]
步骤二:初始化种、确定适应度函数
[0189]
将种中的每个鸟巢进行初始化处理。
[0190][0191]
式中,randompermutation(m)是为第i个初始鸟巢生成大小为m的随机排列函数,那么初始种即为
[0192]
本算法是以最大化测试需求覆盖率和最大化历史执行失败率为排序目标。最大化测试需求覆盖率是指测试用例尽快覆盖更多测试需求,最大化历史执行失败率指在历史执行过程中,发现过缺陷的测试用例应具有更高的优先级。
[0193]
(1)最大化测试需求覆盖率
[0194]
在测试用例集中,一个测试用例的测试需求覆盖的数量越大,其越应排在靠前的位置。最大化测试需求覆盖率的目标函数如表达式4所示。
[0195][0196]
式中,m表示一个测试用例集的测试用例数量;x
ij
表示第i个鸟巢的第j个测试用例编号
[0197]
表示一个测试用例覆盖的测试需求数;rcs表示所有测试用例覆盖的测试需求数。
[0198]
在表达式4中,将测试用例的覆盖需求数乘以该测试用例所处位置的权重,这样可以使测试用例覆盖需求数较大且其位置在序列中较靠前的鸟巢更容易被保留下来。
[0199]
(2)最大化历史执行失败率
[0200]
历史执行失败率越大,代表测试用例在执行历史中,失败的次数越多。一般认为,在历史执行中失败过越多次的测试用例,在新的版本设备中执行时,有更大机会检测到缺陷,因此历史执行失败率越高的测试用例越应排在靠前位置。最大化历史执行失败率的目标函数如表达式5所示。
[0201][0202]
式中,m——表示一个测试用例集的测试用例数量;x
ij
表示第i个鸟巢的第j个测试用例编号;表示一个测试用例的历史执行失败数;fcs表示所有测试用例的历史执行失败数。
[0203]
综合最大化测试需求覆盖率和最大化历史执行失败率为排序目标的鸟巢目标函数表示为f(xi)。
[0204]
f(xi)=[f1(xi),f2(xi)]
ꢀꢀꢀ
(6)
[0205]
(3)pareto最优概念
[0206]
在此引入pareto最优的概念。两个不同鸟巢xa和xb,如果满足表达式7,则称xa支配xb。
[0207][0208]
如果解空间,即所有的鸟巢中不存在能够支配x的解,则称为x是非支配的,这样的解叫做pareto最优解。多目标优化的解通常并不是唯一解,而是包含多个pareto最优解的集合,而这个集合称为pareto前沿。由于本测试用例集优化算法的目标函数是两个,因此可以用二维坐标来表示pareto前沿,如图8所示。
[0209]
本算法以目标函数作为适应度函数,目标函数的值为适应度值。根据表达式7得到初始种的非支配解集合nds
(0)
。到nds
(0)
中的基准点(max(f1),max(f2)),记为rp
(0)
。计算距离基准点最近的非支配解,作为初始种p
(0)
最优解其适应度值计算距离基准点最远的解,作为初始种p
(0)
最差解其适应度值
[0210]
步骤三:是否满足结束条件
[0211]
本测试用例集优化算法每经过一次迭代就要进行判断是否满足结束条件,而结束条件就是最大迭代次数tmax,如果当前迭代次数t达到tmax,那么跳出循环输出最优鸟巢,如果t小于tmax,那么执行循环内容。
[0212]
步骤四:莱维飞行机制生成新的鸟巢并更新种
[0213]
(1)莱维飞行机制生成新鸟巢
[0214]
利用莱维飞行机制对除最优鸟巢以外的其他鸟巢的位置和状态进行更新,算法的初始更新公式如表达式8所示。
[0215][0216]
式中,α表示步长控制量;表示第i个经过t次迭代的鸟巢;表示在经过莱维飞行机制生成新的鸟巢,是临时更新版本的鸟巢,并非t+1代鸟巢;表示点对点乘法;levy(β)表示随机搜索路径,服从levy分布。
[0217]
莱维飞行机制是一种短距离的探索与偶尔较长距离的行走相间的运动形式。利用莱维飞行机制能扩大搜索范围,增加鸟巢的多样性,更容易跳出局部最优点。为方便计算,
使用表达式9产生levy随机数:
[0218][0219]
式中,μ,v表示服从标准正太分布
[0220][0221]
为了将可能解,即各鸟巢朝向当前最优解鸟巢的方向趋近,将表达式8改进为:
[0222][0223]
表达式11中的步长控制量α的取值应慎重选择,因为其控制全局搜索。如果α取值太小,那么可能解将接近当前最优解,会陷于局部最优解。如果α取值太大,结果可能会越界。将α改进为动态的自适应步长,将会扩大最初的搜索范围,并且减小后期迭代的步长,从而提高收敛效率。自适应步长如表达式12所示
[0224][0225]
式中,表示经过t次迭代种中,第i个鸟巢的步长;表示经过t次迭代种中,第i个鸟巢的适应度值;表示经过t次迭代种中,最优鸟巢适应度值;表示经过t次迭代种中,最差鸟巢适应度值。
[0226]
因此改进的莱维飞行更新公式为表达式13。
[0227][0228]
(2)无性遗传机制修复新的鸟巢
[0229]
由于莱维飞行机制生成的新鸟巢会产生无效的或越界的测试用例编号,因此需要对新鸟巢的测试用例编号进行处理。
[0230]
首先对新鸟巢的测试用例编号进行四舍五入,将越界的测试用例编号和重复的编号替换成无关值,记为*。然后新鸟巢中的无关值从旧鸟巢中获取,按照旧鸟巢的值顺序填充新鸟巢的无关值*。无性遗传机制修复新的鸟巢最终得到鸟巢修复过程示意图如图9所示。
[0231]
(3)计算新鸟巢的适应度值、更新种
[0232]
计算修复后鸟巢的适应度值得到非支配解集合比较和nds
(t)
中解的支配关系,更新非支配解集合得
[0233]
在目标空间中,根据到基准点逐对比较与基准点距离和与基准点的距离。保留距离较小的那个鸟巢,即可得到新的种
[0234]
经过比较和保留操作后的鸟巢记为更新最优鸟巢及其适应度值更新最优鸟巢及其适应度值
[0235]
步骤五:随机漫步机制生成新鸟巢并更新种
[0236]
(1)随机漫步机制生成新鸟巢
[0237]
布谷鸟算法的随机漫步机制,是模拟鸟巢的宿主一定几率发现布谷鸟蛋后可能放弃鸟巢,在别处生成一个新鸟巢的过程。随机漫步机制产线新鸟巢的表达式如表达式14所示:
[0238][0239]
其中,表示种中任意不同的3个鸟巢;ε表示属于[0,1]中的随机数;pa表示发现概率;h(ε-pa)表示维赛德函数,当(ε-pa)≥0时,该函数值为1,否则该函数值为0。
[0240]
(2)无性遗传机制修复新的鸟巢
[0241]
由于随机漫步机制生成的新鸟巢会产生无效的或越界的测试用例编号,因此需要对新鸟巢的测试用例编号进行处理。处理过程与步骤四中第(2)步过程类似。所有鸟巢修复后得到种
[0242]
(3)计算新鸟巢的适应度值、更新种
[0243]
计算种的各鸟巢适应度值非支配解集合比较和中解的支配关系,更新非支配解集合得
[0244]
在目标空间中,根据到基准点逐对比较与基准点距离和与基准点的距离。保留距离较小的那个鸟巢,即可得到新的种
[0245]
经过比较和保留操作后的鸟巢记为更新最优鸟巢及其适应度值更新最优鸟巢及其适应度值
[0246]
步骤六:判断是否满足突变决策条件。
[0247]
当算法进入后期阶段时,莱维飞行机制和随机漫步机制产生的鸟巢会与旧鸟巢接近,随着迭代次数的增加,所有鸟巢都会彼此接近,那么鸟巢的适应度平均差异并没有太大变化,表明解陷入了局部最优。此方案利用突变机制解决后期阶段的局部最优问题。
[0248]
为了防止突变机制生成与旧鸟巢相去甚远的新鸟巢,导致错过高质量的鸟巢。因此增设突变决策条件。
[0249][0250]
其中,γ表示突变机制的阈值;u表示要追溯的代数。
[0251]
当第i个鸟巢连续u代的适应度值保持在一个小范围内变化时,就会触发突变机制。注意以当前随机漫步机制更新的种当作t+1代种来进行决策。
[0252]
步骤七:突变机制生成新的鸟巢并更新种
[0253]
(1)突变机制生成新的鸟巢
[0254]
突变机制产生新的鸟巢公式如表达式16所示。
[0255][0256]
式中,为步骤五中处理得到的鸟巢;xθ表示随机突变参数。
[0257]
(2)无性遗传机制修复新的鸟巢
[0258]
由于突变机制生成的新鸟巢会产生无效的或越界的测试用例编号,因此需要对新鸟巢的测试用例编号进行处理。处理过程步骤四中第(2)步过程类似。所有鸟巢修复后得到种
[0259]
(3)计算新鸟巢的适应度值、更新种
[0260]
计算种的各鸟巢适应度值非支配解集合比较和中解的支配关系,更新非支配解集合得
[0261]
在目标空间中,根据到基准点逐对比较与基准点距离和与基准点的距离。保留距离较小的那个鸟巢,即可得到新的种
[0262]
经过比较和保留操作后的鸟巢记为更新最优鸟巢及其适应度值更新最优鸟巢及其适应度值
[0263]
步骤八:更新迭代次数
[0264]
如果没有满足突变决策条件,则步骤五中的种作为迭代了t+1次的种p
(t+1)
,如果满足突变决策条件,则步骤七中的种作为迭代了t+1次的种p
(t+1)

[0265]
步骤九:输出最优鸟巢
[0266]
当迭代次数达到tmax时,输出最优鸟巢基于改进的多目标布谷鸟搜索算法算法结束。
[0267]
接入测试服务获取优化后的测试用例集后,便开始执行各条测试用例,其流程如图10所示。接入测试服务解析测试用例集中的测试用例得到数条测试指令,并且将测试指
令通过服务网关转发给测试代理;测试代理接收测试指令后向工业无线网络设备接入ipv6测试环境发送测试流;测试流被工业无线网络设备接入ipv6测试环境中的设备转发和处理,最终响应测试流会被测试代理接收;测试代理对响应测试流简单处理,将测试指令执行结果通过服务网关上传给接入测试服务。当前测试用例的测试指令都执行完成后,开始解析下一条测试用例并开始执行,直到测试用例集中的所有测试用例执行完成。然后接入测试服务调用测试报告管理服务生成测试报告,并且测试报告会保存到数据库。
[0268]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

技术特征:


1.一种基于微服务的工业无线网络设备接入ipv6测试系统,其特征在于:包括基于微服务架构的测试管理系统、测试代理、测试环境;所述基于微服务架构的测试管理系统包括交互层、转发层、服务层、数据层以及治理层:交互层:基于web的交互界面,向用户提供人机交互界面;转发层:即服务网关,负责过滤和转发交互层的请求、调用服务层的服务、进行负载均衡功能;服务层:包含各功能模块划分而成的独立微服务,包括:测试资源管理服务模块、测试实施管理服务模块、测试项目管理服务模块、用户管理服务模块、日志管理服务模块;数据层:保存系统正常运行所需要的一切数据;治理层:提高微服务系统的可靠性和容错性,包括:服务注册与发现模块,提供对各个微服务实例进行管理的功能;服务熔断模块,通过故障转移、系统隔离手段防止故障蔓延;服务链路追踪与监控,对微服务调用链路上的性能数据进行采集;服务配置中心,集中管理所有配置属性文件;所述测试代理用于分析来自基于微服务架构的测试管理系统的测试指令,向相应的测试环境发送数据流,以及接收来自测试环境的数据流,并且对数据流进行处理,将与测试环境交互的数据流处理结果上传给基于微服务架构的测试管理系统;所述测试环境包括网关测试环境、路由器测试环境、终端测试环境,分别为要接入ipv6网络的网关、路由器、终端所搭建的测试环境;测试环境中包含标准的无线路由器、无线终端、ipv6无线边界网关,以及用户提供的被测无线路由器、被测无线终端、被测ipv6无线边界网关。2.根据权利要求1所述的基于微服务的工业无线网络设备接入ipv6测试系统,其特征在于:所述测试代理包括:通信接口:提供与基于微服务架构的测试管理系统的通信功能;协议标准:内嵌与被测工业无线网络相同的协议模块,能与被测工业无线网络进行协议一致性测试;测试代理描述:包含与测试相关的有用信息,包括测试代理的定义信息、驱动测试控制信息,以及相关参数信息;测试驱动:负责与工业无线网络设备接入ipv6测试环境交互测试流。3.根据权利要求1所述的基于微服务的工业无线网络设备接入ipv6测试系统,其特征在于:所述服务层中的各微服务具体包括:所述测试资源管理服务模块包括测试用例管理和测试数据管理,用于对不同协议的无线网络设备接入ipv6测试用例、以及测试所需数据、测试结果数据进行管理;所述测试实施管理服务模块包括无线接入测试管理、测试报告管理、测试用例实施管理;所述无线接入测试管理针对各种协议的无线网络设备接入ipv6测试服务;所述测试报告管理包含针对测试报告的增删查操作功能;所述测试用例实施管理包括测试用例集优化、测试用例执行功能;所述测试项目管理服务模块包括对测试项目进行创建、删除、查看、状态维护功能;所述用户管理服务模块包括对用户信息进行查看、增加、删除和权限分配;
所述日志管理服务模块包括记录系统的操作日志和测试用例执行日志。4.一种基于微服务的工业无线网络设备接入ipv6测试方法,其特征在于:包括以下步骤:s1:用户登录基于微服务架构的测试管理系统,创建测试项目,填写pics表单,向测试人员提供被测设备;s2:测试人员根据测试项目中的明细将被测设备接入被测网络环境;s3:基于微服务架构的测试管理系统根据用户创建的测试项目,调用相应的内部资源,调用无线接入测试服务,生成测试用例集,并且调用测试用例集优化算法,对测试用例集中的测试用例进行优先级排序;s4:基于微服务架构的测试管理系统根据测试用例集,逐条执行测试用例,向测试代理发送测试指令;s5:测试代理根据操作指令,向工业无线网络设备接入ipv6测试环境发送测试流;s6:工业无线网络设备接入ipv6测试环境中的网络设备对测试流进行转发和响应,最终将测试流响应给测试代理;s7:测试代理对响应的测试流简单处理,并将结果上传给基于微服务架构的测试管理系统;s8:在执行完所有的测试用例后,基于微服务架构的测试管理系统分析测试结果生成测试报告。5.根据权利要求4所述的基于微服务的工业无线网络设备接入ipv6测试方法,其特征在于:测试用例集首次获取时的依据是由用户填写的pics表部分条目,包括device_type_id字段、protocol_type_id字段、requirement_information字段信息;测试用例绑定device_type_id字段、protocol_type_id字段、requirement_information字段信息;测试项目非首次执行,则接入测试服务将该测试项目的测试用例历史执行记录发送给测试用例管理服务,测试用例管理服务根据测试用例历史执行记录的test_case_id字段信息从数据库中调取测试用例基。6.根据权利要求4所述的基于微服务的工业无线网络设备接入ipv6测试方法,其特征在于:对测试用例集进行优化前,对测试用例进行再编号,得到测试用例编号序列;测试用例集优化算法的输入是测试用例编号x
ij
,以及对应的测试用例的测试需求覆盖数测试用例历史执行失败数输出是优化后的测试用例编号序列;测试用例集优化算法包括以下步骤:s31:定义测试用例的测试需求覆盖数、历史失败数;s32:初始化测试用例的测试需求覆盖数、历史失败数;s33:判断是否存在若不存在,则利用普通排序算法根据大小进行降序排序得到优化的测试用例编号序列,若存在,则调用基于改进的多目标布谷鸟搜索算法获取优化的测试用例编号序列。7.根据权利要求6所述的基于微服务的工业无线网络设备接入ipv6测试方法,其特征在于:所述基于改进的多目标布谷鸟搜索算法包括以下步骤:a1:定义种规模、发现概率、结束条件;
一个鸟巢代表一个测试用例集所有测试用例的编号序列,代表一个可能解,鸟巢的定义为:式中,n表示所有鸟巢的数量,即种大小;m表示一个测试用例集的测试用例数量,即测试用例编号的数量;tmax表示最大迭代次数;x
ij
表示第i个鸟巢的第j个测试用例编号;表示第i个经过t次迭代的鸟巢;一个种定义为:在执行随机漫步机制时以一定的概率抛弃部分鸟巢,鸟巢的宿主发现布谷鸟蛋的概率为pa,定义结束条件为当前迭代次数是否为最大迭代次数tmax;a2:初始化种,确定适应度函数;a3:判断是否满足结束条件,即是否达到最大迭代次数tmax,若满足,则输出最优鸟巢,否则执行以下循环步骤;a4:通过莱维飞行机制生成新的鸟巢并更新种;a5:通过随机漫步机制生成新鸟巢并更新种;a6:判断是否满足突变决策条件,若满足,则更新迭代次数,返回步骤a4;不满足,则先过突变机制生成新的鸟巢并更新种,再更新迭代次数,返回步骤a4。突变决策条件为:其中,γ表示突变机制的阈值;u表示要追溯的代数;当第i个鸟巢连续u代的适应度值保持在一个小范围内变化时,触发突变机制,以当前随机漫步机制更新的种当作t+1代种来进行决策;突变机制产生新的鸟巢公式如下:式中,表示处理得到的鸟巢;xθ表示随机突变参数;新鸟巢的测试用例编号进行无性遗传机制修复处理;计算种的各鸟巢适应度值非支配解集合比较和中解的支配关系,更新非支配解集合得在目标空间中,根据到基准点逐对比较与基准点距离和与基准点的距离;保留距离较小的那个鸟巢,得到新的种经过比较和保留操作后的鸟巢记为更新最优鸟巢及其适应度值
更新最优鸟巢及其适应度值8.根据权利要求7所述的基于微服务的工业无线网络设备接入ipv6测试方法,其特征在于:步骤a2具体包括以下步骤:将种中的每个鸟巢进行初始化处理:式中,randompermutation(m)为第i个初始鸟巢生成大小为m的随机排列函数,初始种为以最大化测试需求覆盖率和最大化历史执行失败率为排序目标,所述最大化测试需求覆盖率是指测试用例尽快覆盖更多测试需求,所述化历史执行失败率指在历史执行过程中,发现过缺陷的测试用例应具有更高的优先级;所述最大化测试需求覆盖率的目标函数为:式中,m表示一个测试用例集的测试用例数量;x
ij
表示第i个鸟巢的第j个测试用例编号;表示一个测试用例覆盖的测试需求数;rcs表示所有测试用例覆盖的测试需求数;所述最大化历史执行失败率的目标函数为:式中,表示一个测试用例的历史执行失败数,fcs表示所有测试用例的历史执行失败数;综合最大化测试需求覆盖率和最大化历史执行失败率为排序目标的鸟巢目标函数f(x
i
)表示为:f(x
i
)=[f1(x
i
),f2(x
i
)]以目标函数作为适应度函数,目标函数的值为适应度值,通过下式得到初始种的非支配解集合nds
(0)
:其中x
a
和x
b
是不同的两个鸟巢,到nds
(0)
中的基准点(max(f1),max(f2)),记为rp
(0)
,计算距离基准点最近的非支配解,作为初始种p
(0)
最优解其适应度值计算距离基准点最远的解,作为初始种p
(0)
最差解其适应度值9.根据权利要求8所述的基于微服务的工业无线网络设备接入ipv6测试方法,其特征在于:所述步骤a4具体包括以下步骤:利用莱维飞行机制对除最优鸟巢以外的其他鸟巢的位置和状态进行更新,初始更新公式为:
式中,α表示步长控制量;表示第i个经过t次迭代的鸟巢;表示在经过莱维飞行机制生成新的鸟巢,是临时更新版本的鸟巢,并非t+1代鸟巢;表示点对点乘法;levy(β)表示随机搜索路径,服从levy分布;使用下式产生levy随机数:式中,μ,v服从标准正太分布;适应步长为:式中,表示经过t次迭代种中,第i个鸟巢的步长;表示是经过t次迭代种中,第i个鸟巢的适应度值;表示经过t次迭代种中,最优鸟巢适应度值;表示经过t次迭代种中,最差鸟巢适应度值;改进的莱维飞行更新公式为:对新鸟巢的测试用例编号进行四舍五入,将越界的测试用例编号和重复的编号替换成无关值,记为*;然后新鸟巢中的无关值从旧鸟巢中获取,按照旧鸟巢的值顺序填充新鸟巢的无关值*;通过无性遗传机制修复新的鸟巢最终得到鸟巢计算修复后鸟巢的适应度值得到非支配解集合比较和nds
(t)
中解的支配关系,更新非支配解集合得在目标空间中,根据到基准点逐对比较与基准点距离和与基准点的距离;保留距离较小的那个鸟巢,得到新的种经过比较和保留操作后的鸟巢记为更新最优鸟巢及其适应度值更新最优鸟巢及其适应度值10.根据权利要求9所述的基于微服务的工业无线网络设备接入ipv6测试方法,其特征在于:所述步骤a5具体包括以下步骤:
所述随机漫步机制,是模拟鸟巢的宿主一定几率发现布谷鸟蛋后可能放弃鸟巢,在别处生成一个新鸟巢的过程,随机漫步机制产线新鸟巢的表达式如下:其中,表示种中任意不同的3个鸟巢;ε表示属于[0,1]中的随机数;pa表示是发现概率;h(ε-pa)赫维赛德函数,当(ε-pa)≥0时,该函数值为1,否则该函数值为0;对新鸟巢的测试用例编号进行无性遗传机制修复处理,得到种计算种的各鸟巢适应度值非支配解集合比较和中解的支配关系,更新非支配解集合得在目标空间中,根据到基准点逐对比较与基准点距离和与基准点的距离;保留距离较小的那个鸟巢,得到新的种经过比较和保留操作后的鸟巢记为更新最优鸟巢及其适应度值更新最优鸟巢及其适应度值

技术总结


本发明涉及一种基于微服务的工业无线网络设备接入IPv6测试系统及方法,属于网络设备测试领域,用户登录测试管理系统,创建测试项目,填写PICS表单,向测试人员提供被测设备;测试人员将被测设备接入被测网络环境;测试管理系统生成测试用例集,并对测试用例集中的测试用例进行优先级排序;测试管理系统逐条执行测试用例,向测试代理发送测试指令;测试代理根据操作指令,向工业无线网络设备接入IPv6测试环境发送测试流;工业无线网络设备接入IPv6测试环境中的网络设备对测试流进行转发和响应给测试代理;测试代理将结果上传给基于微服务架构的测试管理系统;在执行完所有的测试用例后,测试管理系统分析测试结果生成测试报告。测试管理系统分析测试结果生成测试报告。测试管理系统分析测试结果生成测试报告。


技术研发人员:

魏旻 方堃 杨帆 洪承镐

受保护的技术使用者:

重庆邮电大学

技术研发日:

2022.08.11

技术公布日:

2022/11/25

本文发布于:2024-09-20 14:37:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/6638.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   鸟巢   种群   管理系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议