CN114401211B - 一种工业无线网络设备接入IPv6网络的测试系统及测试方法 - Google Patents
一种工业无线网络设备接入IPv6网络的测试系统及测试方法 Download PDFInfo
- Publication number
- CN114401211B CN114401211B CN202210050050.5A CN202210050050A CN114401211B CN 114401211 B CN114401211 B CN 114401211B CN 202210050050 A CN202210050050 A CN 202210050050A CN 114401211 B CN114401211 B CN 114401211B
- Authority
- CN
- China
- Prior art keywords
- test
- management server
- individual
- network
- population
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种工业无线网络设备接入IPv6网络的测试系统,属于工业无线网络领域,基于该系统,用户可以对工业无线网络设备接入IPv6网络的可行性进行有效测试,并且,针对本测试系统,提出基于需求分析和改进遗传算法的测试用例优化方法,可以优化测试用例序列,准确覆盖所有测试需求,提高测试能力,本方法使用测试用例与测试需求之间的覆盖关系构建适应度函数,并根据个体适应度函数差异和典型特征对遗传算法的选择操作、交叉操作、变异操作进行改进,并采用爬山算法设计群体爬山优化操作。
Description
技术领域
本发明属于工业无线网络领域,涉及一种工业无线网络设备接入IPv6网络的测试系统及测试方法。
背景技术
在当前时代背景下,将工业无线网络设备接入IPv6网络是发展的必然趋势。但在工业无线网络种类繁多、协议复杂的前提下,这些工业无线网络设备在接入IPv6网络之前,应该通过相关的测试。目前,亟需设计工业无线网络设备接入IPv6网络的测试系统,对无线设备进行有效测试。
同时,在测试系统下,测试用例是关键。测试用例是测试执行的基本依据,测试用例的执行效率直接或间接影响整个测试过程的测试效率。如何针对工业无线网络设备接入IPv6网络的测试需求,针对不同的情况动态生成测试用例,也是目前亟需解决的问题。
经过研究发现,启发式算法中的遗传算法可以针对不同的测试需求,对测试过程进行优化。但如何将遗传算法与测试系统进行良好的结合是一个亟需解决的难题。
发明内容
有鉴于此,本发明的目的在于提供一种工业无线网络设备接入IPv6网络的测试系统及测试方法,基于该系统,用户可以对工业无线网络设备接入IPv6网络的可行性进行有效测试,并且,针对本测试系统,提出基于需求分析和改进遗传算法的测试用例优化方法,可以优化测试用例序列,准确覆盖所有测试需求,提高测试能力。
为达到上述目的,本发明提供如下技术方案:
一方面,本发明提供一种工业无线网络设备接入IPv6网络的测试系统,包括后端测试平台和前端测试网络;所述后端测试平台包括测试客户端、IPv6交换机、有线路由器、测试管理服务器、测试仪、行业测试数据库;所述前端测试网络包括三种测试形式:测试网络1:对被测网关进行测试的网络;测试网络2:对被测无线路由器进行测试的网络;测试网络3:对被测无线终端进行测试的网络;
所述测试客户端作为人机交互的接口,为用户提供测试入口;用户通过测试客户端提交测试需求集TRS(Test Requirements Set),TRS={TR[a],TR[b],…,TR[k],…,TR[m],…}和测试配置信息表TCIT(Test Configuration Information Table);在测试完成后,用户通过测试客户端从测试管理服务器查询测试结果,并获取测试报告;
所述IPv6交换机和有线路由器提供前端测试网络和后端测试平台的网络路径,所述IPv6交换机实现前端测试网络和后端测试平台的信息交互,后端测试平台通过有线路由器转发测试指令,前端测试网络通过有线路由器传输测试响应;
所述测试管理服务器为用户提供多个测试服务项,用户自由选择测试服务项;所述测试管理服务器具备数据分析功能,能够根据测试配置信息,调用测试用例序列TCS(Test Case Set),TCS={TC[a],TC[b],...,TC[k],...,TC[m],...},测试仪生成部分测试指令;
所述行业测试数据库由若干子数据库组成,用集合H={H行业1,H行业2,H行业3,...,H行业i,…}表示,子数据库H行业i包含面向行业i的测试用例。
另一方面,本发明提供一种工业无线网络设备接入IPv6网络的测试方法,包括以下步骤:
S1:用户user注册并登录测试管理服务器,选择k个测试服务项,形成测试需求表TRSuser,并提交TCITuser表,TCITuser表信息包括工程名称Pn、测试类型Tt、样品名称Sn、样品类型St、样品协议Sp、行业信息Ii;
S2:测试管理服务器根据TCITuser表中的信息,向行业测试数据库中的子数据库请求测试配置信息对应的表;测试管理服务器定义编码规则,对TCITuser表中的St、Sp、Ii信息进行特征编码;测试管理服务器利用编码规则得到用户对应的特征编码集合Fi={NumSt,NumSp,NumIi},测试管理服务器得到用户特征编码集合Fi之后,根据Fi中的NumIi定位到对应的子数据库H行业i,并根据Fi中的NumSt和NumSp对H行业i中的测试用例进行筛选,对于H行业i中的测试用例TC[i]而言,当TC[i]同时包含Fi中的特征编码NumSt,NumSp时,表示TC[i]属于
S4:测试管理服务器利用基于需求分析和改进遗传算法的测试用例优化方法对中的测试用例进行优先级排序;使用测试用例与测试需求之间的覆盖关系构建适应度函数,并根据个体适应度函数差异和典型特征对遗传算法的选择操作、交叉操作、变异操作进行改进,并采用爬山算法设计群体爬山优化操作;
S5:测试管理服务器或测试仪下发测试指令
S6:对于测试网络1,由被测网关向无线路由器下发测试指令;
对于测试网络2,由IPv6边界网关向被测无线路由器下发测试指令;
对于测试网络3,由IPv6边界网关向无线路由器下发测试指令;
S7:对于测试网络1,由无线路由器向无线终端下发测试指令;
对于测试网络2,由被测无线路由器向无线终端下发测试指令;
对于测试网络3,由无线路由器向被测无线终端下发测试指令;
S8:
对于测试网络1,由无线终端向无线路由器返回测试响应;
对于测试网络2,由无线终端向被测无线路由器返回测试响应;
对于测试网络3,由被测无线终端向无线路由器返回测试响应;
S9:对于测试网络1,由无线路由器向被测网关返回测试响应;
对于测试网络2,由被测无线路由器向IPv6边界网关返回测试响应;
对于测试网络3,由无线路由器向IPv6边界网关返回测试响应;
S10:对于测试网络1,被测网关上传测试响应;
对于测试网络2,IPv6边界网关上传测试响应;
对于测试网络3,IPv6边界网关上传测试响应;
S11:测试管理服务器向用户返回测试响应信息与测试报告,生成测试日志。
进一步,步骤S4具体包括以下步骤:
S42:测试管理服务器确定初始种群并编码;测试管理服务器从多组测试用例序列中找出一组满足优化目标的测试用例序列;一共有m个测试用例及k个测试需求,设定种群为Nj,其中j∈{1,2,…},当j=1时,当前种群为初始种群,定义为Nst,当j>1时,当前种群非初始种群;Nj包含的个体数量为k;测试管理服务器根据测试用例的序号进行特定编码,将个体的基因编码用nj={a,b,...i,...,p}表示,其中i表示TC[i]中的序号i,个体nj中基因个数为m,初始种群Nst中任意两个个体ni和nj之间存在关系ni≠nj;
S43:测试管理服务器进行需求分析并确定适应度函数;测试管理服务器得到测试需求表TRSuser和测试信息配置表对应的表之后,分析得到测试需求与测试用例之间的覆盖关系,表中每个单元格的值为Cov(i,j)∈{0,1},Cov(i,j)表示测试用例TC[i]对测试需求TR[j]的覆盖情况,Cov(i,j)等于1表示测试用例TC[i]覆盖了测试需求TR[j];如果Cov(i,j)等于0,则表示测试用例TC[i]没有覆盖测试需求TR[j],以平均测试需求覆盖度与测试需求优先级覆盖关系来构建适应度函数,个体nj的适应度函数为:
F(nj)=α*We(nj)+β*Cover(nj) (1)
式中,We(nj)表示个体nj对测试需求优先级覆盖率,Cover(nj)表示个体nj的平均测试需求覆盖率,α和β分别代表We(nj)和Cover(nj)的权重,根据测试实际需求进行调整,并且满足α+β=1;
Cov(i,j)表示测试用例TC[i]对测试需求TR[j]的覆盖情况,则与测试需求TR[j]相关联的测试用例数量TRNj表示为:
TRNj=Cov(a,j)+Cov(b,j)+,…,+Cov(i,j)+,…,+Cov(p,j) (2)
在TRSuser中,与测试需求TR[j]相关联的测试用例越多,则表示测试需求TR[j]的重要性越高,以此评价测试需求TR[j]的优先级TRWj表示为:
对于个体nj,优先满足的测试需求TR[j]的优先级越高,则We(nj)越大;个体nj对应的测试用例序列中的每个测试用例TC[i]对整个测试需求的覆盖率TCWi表示为:
TCWi=TRWa*Cov(i,a)+TRWb*Cov(i,b)+,…,+TRWj*Cov(i,j)+,…,+TRWn*Cov(i,n) (4)
利用差值累积法得到个体的nj的We(nj)表示为:
We(nj)=γ*(TCWfst-TCWend)+δ*posnum (5)
式中,TCWfst表示个体nj所对应的测试用例序列中第一个测试用例对整个测试需求的覆盖率,TCWend表示个体nj所对应的测试用例序列中最后一个测试用例对整个测试需求的覆盖率,posnum表示个体nj中TCWi正增长的次数,对于个体nj所对应的测试用例序列中相邻的两个测试用例TC[i]和TC[j],TC[i]在前,TC[j]在后;当TCWi-TCWj≥0时,当前posnum的值加1,当TCWi-TCWj<0时,当前posnum的值不变;γ和δ分别表示(TCWfst-TCWend)和posnum的权重,根据测试实际需求进行调整,并且满足γ+δ=1;个体nj对应的平均测试需求覆盖度Cover(nj)表示为:
其中Tbj表示个体nj所对应的测试用例序列中第一个用于测试需求TR[j]的测试用例在整个nj中的序号;
S44:测试管理服务器计算初始种群的个体适应度和种群平均适应度值;测试管理服务器根据适应度函数定义种群平均适应度函数对于种群Ni而言,种群中个体数量为k,个体为nj,则Ni的种群平均适应度函数表示为:
S45:测试管理服务器判断当前最优个体是否满足终止条件;
测试管理服务器采用“种群中最优个体适应度值与种群平均适应度值之差小于等于正数ε”作为方法终止条件,其中ε根据测试实际需求进行设定;测试管理服务器确定终止条件后,计算步骤S44中得到的ncur的适应度值F(ncur)与Nst的种群平均适应度值之差是否小于等于正数ε,如果符合终止条件,则表示已获得最优个体,最终输出的最优个体定义为nres,此时,nres=ncur;测试管理服务器执行步骤S411操作;如果不符合终止条件,测试管理服务器进入迭代操作,测试管理服务器完成一次步骤S46-S49操作即为一轮迭代操作;
S46:测试管理服务器执行家族淘汰选择操作;对于种群Nj中的个体nj,We(nj)是个体nj对测试需求优先级覆盖的评价指标,We(nj)越大则表示个体nj对先满足高目标的测试需求的欲望越强烈,根据We(nj)的大小将种群中的个体划分为三个家族:高欲望家族、中欲望家族、低欲望家族;对于同一个家族里面的个体,计算所有个体的适应度值,保留适应度值较高的一半个体,淘汰适应度值较低的另一半个体,若成员数量为奇数,则被保留成员加1,形成新的家族,三个家族的个体之间存在一定的距离;
S47:测试管理服务器执行相似性约束交叉操作;对于步骤S46生成的种群N′j中的个体ni和nj,Cover(ni)表示个体ni对应的测试用例序列中的测试用例对完整测试需求的平均覆盖度,Cover(nj)表示个体nj对应的测试用例序列中的测试用例对完整测试需求的平均覆盖度;利用Cover(ni)和Cover(nj)构造个体相似度函数
个体ni和nj对应的相似度Sim(i,j)越小,表示两个个体的基因差异越大,产生新个体的概率越大,当Sim(i,j)小于交叉概率阈值p时,个体ni和nj才能进行交叉替换;同时利用有效交叉点约束条件对交叉操作进行改进;
S48:测试管理服务器执行竞争突变操作,对同一个个体采用μ阶变异措施,产生μ个变异个体,并采用变异竞争机制,挑选适应度值最大的个体作为突变个体;
S49:测试管理服务器采用成对基因互换方法实施群体爬山优化操作;
S410:测试管理服务器计算当前种群最优个体适应度值和种群平均适应度值;测试管理服务器计算步骤S49生成的种群Nj+1中个体适应度值,找出适应度值最高的个体nrt作为当前最优个体,nrt的适应度函数值为F(nrt),并计算Nj+1的平均适应度值测试管理服务器进一步计算F(nrt)和之差,如果则满足终止条件,测试管理服务器终止计算,得到最优个体nres,此时nres=nrt;如果则测试管理服务器进入下一轮迭代;
S411:测试管理服务器对最优个体执行解码
测试管理服务器对最优个体nres进行解码得到一个最优测试用例序列n′res={TC[a],TC[b],…,TC[i],…,TC[j]};
进一步,步骤S46具体包括以下步骤:
S461:测试管理服务器按照种群Nj中每个个体的We(nj)由高到低排序;
S462:测试管理管理服务器设置欲望值判定参数∈和θ,将满足We(nj)>∈的个体划分到高欲望家族,满足∈≥We(nj)≥θ的个体划分到中欲望家族,满足θ>We(nj)的个体划分到低欲望家族;
S463:测试管理服务器计算三个家族中个体的适应度值F(nj),并按从高到低排序;
S464:测试管理服务器淘汰三个家族中适应度值较低的一半个体,保留适应度值较高的一半个体;
S465:将三个家族的剩余个体合并生成子种群N′j。
进一步,步骤S47所述利用有效交叉点约束条件对交叉操作进行改进,包括以下步骤:
S471:测试管理服务器对父个体ni和nj进行异或操作,得到ncom;
S472:测试管理服务器对ncom中存在的最长连续为0的区域,将其定义为父个体ni和nj的最长公共区域,父个体ni和nj中最长公共区域对应的元素区域将其定义为无效交叉区域uv,父个体ni和nj中的其余元素区域定义为有效交叉区域val;
S473:测试管理服务器在有效交叉区域内选择随机选择一个交叉点q,对父个体ni和nj进行交叉替换,得到子个体n′i和n′j。
进一步,步骤S48具体包括以下步骤:
S481:测试管理服务器在当前种群N′j中随机选择一个父个体nr并随机选择两个变异点g和h;
S484:测试管理服务器计算μ个变异子个体的适应度值,将适应度值最高的个体作为突变个体n′r。
进一步,步骤S49具体包括:
S491:测试管理服务器对当前种群N′j中的每个个体nt,随机选择两个点u和v;
S492:测试管理服务器将nt中第u+1个测试用例序号与其下一个测试用例序号互换,其中u<u+1<v,得到新个体n′t;
S493:测试管理服务器比较nt和n′t的适应度函数值,如果n′t的适应度大于nt的适应度,则用n′t替换nt,否则保留nt;
S494:测试管理服务器产生新的种群Nj+1。
本发明的有益效果在于:基于本发明,用户可以对工业无线网络设备接入IPv6网络进行有效测试,并且,针对本测试系统,提出基于需求分析和改进遗传算法的测试用例优化方法,可以优化测试用例序列,准确覆盖所有测试需求,提高测试能力。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为工业无线网络设备接入IPv6网络的测试系统拓扑结构图;
图2为测试网络1的工作流程图;
图3为测试网络2的工作流程图;
图4为测试网络3的工作流程图;
图5为基于需求分析和改进遗传算法的测试用例优化方法流程图;
图6为家族淘汰选择操作图;
图7为相似性约束交叉操作图;
图8为竞争突变操作图;
图9为群体爬山优化操作图;
图10为交叉父代示意图;
图11为交叉子代示意图;
图12为变异结果示意图;
图13为爬山结果示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
如图1所示,本方案提出一种工业无线网络设备接入IPv6网络的测试系统,用户可以直接通过浏览器远程接入测试系统,提出测试需求。
测试系统主要包含两个部分:后端测试平台和前端测试网络。
后端测试平台由用户、测试客户端、IPv6交换机、有线路由器、测试管理服务器、测试仪、行业测试数据库(包含多个子数据库)等组成。
(1)测试客户端作为人机交互的接口,为用户提供测试入口。用户通过测试客户端可以提交测试需求集TRS(Test Requirements Set),TRS={TR[a],TR[b],…,TR[k],…,TR[m],…}和测试配置信息表TCIT(Test Configuration Information Table)。在测试完成后,用户通过测试客户端从测试管理服务器查询测试结果,并获取测试报告。
(2)IPv6交换机和有线路由器提供前端测试网络和后端测试平台的网络路径,IPv6交换机实现前端测试网络和后端测试平台的信息交互,后端测试平台通过有线路由器转发测试指令,前端测试网络通过有线路由器传输测试响应;
(3)测试管理服务器可以为用户提供多个测试服务项,用户自由选择测试服务项,保障测试多样性和扩展性。并且测试管理服务器具备数据分析功能,能够根据测试配置信息,来调用测试用例序列TCS(Test Case Set),TCS={TC[a],TC[b],...,TC[k],...,TC[m],...},测试仪可以生成部分测试指令;
(4)行业测试数据库主要起到数据存储功能。行业测试数据库由若干子数据库组成,用集合H={H行业1,H行业2,H行业3,...,H行业i,…}表示,子数据库H行业i包含着面向行业i的测试用例。
行业测试数据库中存有的信息如表1所示。
表1信息表
前端测试网络支持三种测试形式:
1)测试网络1对被测网关进行测试;
2)测试网络2对被测无线路由器进行测试;
3)测试网络3对被测无线终端进行测试;
图中,所涉及到的网元包括测试工具和被测设备。
(1)测试工具由测试人员提供,包括IPv6边界网关、无线终端和无线路由器等三种类型的测试工具。
(2)被测设备由被测方提供,包括被测无线终端、被测无线路由器、被测网关等三种类型的待测设备。
测试系统的测试工作流程如图2、3、4所示。
第一步:用户登录
任意用户user通过输入用户名、密码、邮箱等用户信息注册测试管理服务器。用户user注册完成后登录测试管理服务器,选择k个测试服务项,测试服务项由测试管理服务器提供,一个测试服务项即为一个测试需求,可以形成测试需求表TRSuser,如表2所示。
表2测试需求表TRSuser
序号 | 测试需求 |
1 | TR[a] |
2 | TR[b] |
… | … |
i | TR[j] |
… | … |
k | TR[n] |
用户user还需要提交TCITuser表,TCITuser表需要用户填写的信息包括工程名称(Project name)、测试类型(Test type)、样品名称(Sample name)、样品类型(sampletype)、样品协议(Sample protocol)、行业信息(Industry information)等详细信息。
用户填写的TCITuser表如表3所示。
表3用户填写的TCITuser表
Test information | content |
Project name | Pn |
Test type | Tt |
Sample name | Sn |
Sample type | St |
Sample protocol | Sp |
Industry information | Ii |
注:Pn对应用户输入的Project name、Tt对应用户输入的Test type、Sn对应用户输入的Sample name、St对应用户输入的Sample type、Sp对应用户输入的Sampleprotocol、Ii对应用户输入的Industry information等相关描述信息。
第二步:测试管理服务器解析TCITuser表
测试管理服务器定义一种编码规则,对TCITuser中的St、Sp、Ii等信息进行特征编码,编码规则如表4所示。
表4关键信息编码规则表
关键信息 | 特征编码 |
St | <![CDATA[Num<sub>St</sub>(Num<sub>St</sub>∈{1,2,3,…})]]> |
Sp | <![CDATA[Num<sub>Sp</sub>(Num<sub>Sp</sub>∈{1,2,3,…})]]> |
Ii | <![CDATA[Num<sub>Ii</sub>(Num<sub>Ii</sub>∈{1,2,3,…})]]> |
测试管理服务器利用编码规则得到用户对应的特征编码集合Fi={NumSt,NumSp,NumIi},测试管理服务器得到用户特征编码集合Fi之后,根据Fi中的NumIi定位到对应的子数据库H行业i,并根据Fi中的NumSt和NumSp对H行业i中的测试用例进行筛选,对于H行业i中的测试用例TC[i]而言,当TC[i]同时包含Fi中的特征编码NumSt,NumSp时,表示TC[i]属于
第三步:子数据库响应测试管理服务器的请求
序号 | 测试用例 |
1 | TC[a] |
2 | TC[b] |
… | … |
j | TC[i] |
… | … |
m | TC[p] |
第四步:测试管理服务器优化测试用例集
本方法使用测试用例与测试需求之间的覆盖关系构建适应度函数,并根据个体适应度函数差异和典型特征对遗传算法的选择操作、交叉操作、变异操作进行适当改进,并采用爬山算法设计群体爬山优化操作。这些改进使遗传算法在原有的全局搜索能力的基础上,增强了局部搜索能力,避免方法陷入局部最优问题,从而提高测试用例优化效率,保障优化结果的质量。方法流程图如图5所示。
具体步骤如下所示:
4.1测试管理服务器确定优化目标
4.2测试管理服务器确定初始种群并编码
测试管理服务器需要从多组测试用例序列中找出一组满足优化目标的测试用例序列。在表5中,一共有m个测试用例,表2中一共有k个测试需求,k个测试需求可以使用num(1≤num≤m!,num∈N)种测试用例序列实现完全覆盖,考虑到种群大小的合理性和筛选成本,设定种群为Nj,其中j∈{1,2,…},当j=1时,当前种群为初始种群,定义为Nst,当j>1时,当前种群非初始种群。Nj包含的个体数量为k。
测试管理服务器根据表5中测试用例的序号进行特定编码,将个体的基因编码用nj={a,b,...i,...,p}表示,其中i表示在表5中TC[i]中的序号i,个体nj中基因个数为m,初始种群Nst中任意两个个体ni和nj之间存在关系ni≠nj。
4.3测试管理服务器进行需求分析并确定适应度函数
测试管理服务器以“以最快覆盖所有测试需求”作为测试用例优化的目标,故适应度函数需要和测试用例与测试需求密切相关。测试管理服务器得到测试需求表TRSuser和测试信息配置表对应的表之后,分析得到测试需求与测试用例之间的覆盖关系如表6所示。表中一共有m个测试用例,k个测试需求,表中的每个单元格的值为Cov(i,j)∈{0,1},Cov(i,j)表示测试用例TC[i]对测试需求TR[j]的覆盖情况,Cov(i,j)等于1表示测试用例TC[i]覆盖了测试需求TR[j]。如果Cov(i,j)等于0,则表示测试用例TC[i]没有覆盖测试需求TR[j]。
表6测试需求与测试用例覆盖关系表
本方案以平均测试需求覆盖度与测试需求优先级覆盖关系来构建适应度函数。个体nj的适应度函数为:
F(nj)=α*We(nj)+β*Cover(nj) (1)
式中,We(nj)表示个体nj对测试需求优先级覆盖率,Cover(nj)表示个体nj的平均测试需求覆盖率,α和β分别代表We(nj)和Cover(nj)的权重,根据测试实际需求进行调整,并且满足α+β=1。
在表6中,Cov(i,j)表示测试用例TC[i]对测试需求TR[j]的覆盖情况,则与测试需求TR[j]相关联的测试用例数量TRNj表示为:
TRNj=Cov(a,j)+Cov(b,j)+,…,+Cov(i,j)+,…,+Cov(p,j) (2)
在TRSuser中,与测试需求TR[j]相关联的测试用例越多,则表示测试需求TR[j]的重要性越高,以此评价测试需求TR[j]的优先级TRWj可以表示为:
对于个体nj,优先满足的测试需求TR[j]的优先级越高,则We(nj)越大。个体nj对应的测试用例序列中的每个测试用例TC[i]对整个测试需求的覆盖率TCWi可以表示为:
TCWi=TRWa*Cov(i,a)+TRWb*Cov(i,b)+,…,+TRWj*Cov(i,j)+,…,+TRWn*Cov(i,n) (4)
此时利用差值累积法可以得到个体的nj的We(nj)表示为:
We(nj)=γ*(TCWfst-TCWend)+δ*posnum (5)
式中,TCWfst表示个体nj所对应的测试用例序列中第一个测试用例对整个测试需求的覆盖率,TCWend表示个体nj所对应的测试用例序列中最后一个测试用例对整个测试需求的覆盖率,posnum表示个体nj中TCWi正增长的次数,对于个体nj所对应的测试用例序列中相邻的两个测试用例TC[i]和TC[j],TC[i]在前,TC[j]在后。当TCWi-TCWj≥0时,当前posnum的值加1,当TCWi-TCWj<0时,当前posnum的值不变。γ和δ分别表示(TCWfst-TCWend)和posnum的权重,根据测试实际需求进行调整,并且满足γ+δ=1。
表6中有m个测试用例,k个测试需求,则个体nj对应的平均测试需求覆盖度Cover(nj)可以表示为:
其中Tbj表示个体nj所对应的测试用例序列中第一个用于测试需求TR[j]的测试用例在整个nj中的序号,即如果测试需求TR[j]是由测试用例TC[i]第一个进行测试,TC[i]在nj所对应的测试用例序列中是第3个测试用例,则Tbj=3。
4.4测试管理服务器计算初始种群的个体适应度和种群平均适应度值
4.5测试管理服务器判断当前最优个体是否满足终止条件
测试管理服务器采用“种群中最优个体适应度值与种群平均适应度值之差小于等于正数ε”作为方法终止条件,其中ε根据测试实际需求进行设定。测试管理服务器确定终止条件后,计算4.4中得到的ncur的适应度值F(ncur)与Nst的种群平均适应度值之差是否小于等于正数ε,如果符合终止条件,则表示已获得方法的最优个体,方法最终输出的最优个体定义为nres,此时,nres=ncur。测试管理服务器执行4.11操作。如果不符合终止条件,测试管理服务器进入迭代操作,测试管理服务器完成一次4.6到4.9操作即为一轮迭代操作。
4.6测试管理服务器执行家族淘汰选择操作
本方案针对大规模种群的特性,利用个体之间的共性进行选择优化,减少种群之间个体密集度。
对于种群Nj中的个体nj,We(nj)是个体nj对测试需求优先级覆盖的评价指标,We(nj)越大则表示个体nj对先满足高目标的测试需求的欲望越强烈,根据We(nj)的大小可以将种群中的个体划分为三个家族,高欲望家族、中欲望家族、低欲望家族,对于同一个家族里面的个体,计算所有个体的适应度值,保留适应度值较高的一半个体,淘汰适应度值较低的另一半个体(若成员数量为奇数,则被保留成员加1),形成新的家族,三个家族的个体之间存在一定的距离,提高种群个体分布多样性。
具体操作如下:
4.6.1:测试管理服务器按照种群Nj中每个个体的We(nj)由高到低排序;
4.6.2:测试管理管理服务器设置欲望值判定参数∈和θ,将满足We(nj)>∈的个体划分到高欲望家族,满足∈≥We(nj)≥θ的个体划分到中欲望家族,满足θ>We(nj)的个体划分到低欲望家族;
4.6.3:测试管理服务器计算三个家族中个体的适应度值F(nj),并按从高到低排序;
4.6.4:测试管理服务器淘汰三个家族中适应度值较低的一半个体,保留适应度值较高的一半个体;
4.6.5:将三个家族的剩余个体合并生成子种群N′j。
操作流程如图6所示。
4.7测试管理服务器执行相似性约束交叉操作
本方案对交叉操作进行改进,根据个体相似性来约束交叉操作,增大了优化概率,提高种群多样性。
对于种群N′j中的个体ni和nj,Cover(ni)表示个体ni对应的测试用例序列中的测试用例对完整测试需求的平均覆盖度,Cover(nj)表示个体nj对应的测试用例序列中的测试用例对完整测试需求的平均覆盖度。利用Cover(ni)和Cover(nj)构造个体相似度函数
个体ni和nj对应的相似度Sim(i,j)越小,表示两个个体的基因差异越大,产生新个体的概率越大,故当Sim(i,j)小于交叉概率阈值p时,个体ni和nj才能进行交叉替换。同时,为了提高个体基因的迭代效率,本方案利用有效交叉点约束条件对交叉操作进行改进。具体操作如下:
4.7.1:测试管理服务器对父个体ni和nj进行异或操作,得到ncom;
4.7.2:测试管理服务器对ncom中存在的最长连续为0的区域,将其定义为父个体ni和nj的最长公共区域,父个体ni和nj中最长公共区域对应的元素区域将其定义为无效交叉区域uv,父个体ni和nj中的其余元素区域定义为有效交叉区域val;
4.7.3:测试管理服务器在有效交叉区域内选择随机选择一个交叉点q,对父个体ni和nj进行交叉替换,得到子个体n′i和n′j。操作如图7所示。
4.8测试管理服务器执行竞争突变操作
本方案对变异操作进行改进,对同一个个体采用μ阶变异措施,产生μ个变异个体,并采用变异竞争机制,挑选适应度值最大的个体作为突变个体。具体操作如下:
4.8.1:测试管理服务器在当前种群N′j中随机选择一个父个体nr并随机选择两个变异点g和h;
4.8.4:测试管理服务器计算μ个变异子个体的适应度值,将适应度值最高的个体作为突变个体n′r。操作如图8所示。
4.9测试管理服务器执行群体爬山优化操作
对于采用上述方法得到的种群,利用爬山算法增加群体爬山优化操作,进一步增强方法的局部搜索能力。本方案采用成对基因互换方法实施群体爬山优化操作。具体操作如下:
4.9.1:测试管理服务器对当前种群N′j中的每个个体nt,随机选择两个点u和v。
4.9.2:测试管理服务器将nt中第u+1个测试用例序号与其下一个测试用例序号互换,其中u<u+1<v,得到新个体n′t;
4.9.3:测试管理服务器比较nt和n′t的适应度函数值,如果n′t的适应度大于nt的适应度,则用n′t替换nt,否则保留nt;
4.9.4:测试管理服务器产生新的种群Nj+1。
群体爬山优化操作如图9所示。
4.10测试管理服务器计算当前种群最优个体适应度值和种群平均适应度值
测试管理服务器对计算当前种群Nj+1中个体适应度值,找出适应度值最高的个体nrt作为当前最优个体,nrt的适应度函数值为F(nrt),并计算Nj+1的平均适应度值测试管理服务器进一步计算F(nrt)和之差,如果则满足终止条件,测试管理服务器终止计算,得到最优个体nres,此时nres=nrt。如果 则测试管理服务器进入下一轮迭代。
4.11测试管理服务器对最优个体执行解码
测试管理服务器对最优个体nres进行解码得到一个最优测试用例序列n′res={TC[a],TC[b],…,TC[i],…,TC[j]}。
4.12测试管理服务器输出结果
第五步测试管理服务器或测试仪下发测试指令
第六步:
对于测试网络1,由被测网关向无线路由器下发测试指令;
对于测试网络2,由IPv6边界网关向被测无线路由器下发测试指令;
对于测试网络3,由IPv6边界网关向无线路由器下发测试指令。
第七步:
对于测试网络1,由无线路由器向无线终端下发测试指令;
对于测试网络2,由被测无线路由器向无线终端下发测试指令;
对于测试网络3,由无线路由器向被测无线终端下发测试指令。
第八步:
对于测试网络1,由无线终端向无线路由器返回测试响应;
对于测试网络2,由无线终端向被测无线路由器返回测试响应;
对于测试网络3,由被测无线终端向无线路由器返回测试响应。
第九步:
对于测试网络1,由无线路由器向被测网关返回测试响应;
对于测试网络2,由被测无线路由器向IPv6边界网关返回测试响应;
对于测试网络3,由无线路由器向IPv6边界网关返回测试响应。
第十步:
对于测试网络1,被测网关上传测试响应;
对于测试网络2,IPv6边界网关上传测试响应;
对于测试网络3,IPv6边界网关上传测试响应。
第十一步:测试管理服务器返回测试报告
测试管理服务器向用户返回测试响应信息与测试报告,生成测试日志。
具体实施例:假设一个用户A提交的测试需求表TRSA如表7所示。
表7 TRSA表
序号 | 测试需求 |
1 | TR[1] |
2 | TR[2] |
3 | TR[3] |
4 | TR[4] |
假设用户A提交的TCITA表如表8所示。
表8 TCITA表
序号 | 测试用例 |
1 | TC[1] |
2 | TC[2] |
3 | TC[3] |
4 | TC[4] |
5 | TC[5] |
6 | TC[6] |
7 | TC[7] |
8 | TC[8] |
9 | TC[9] |
(1)测试管理服务器确定优化目标
测试管理服务器以“以最快覆盖所有测试需求”作为优化目标。
(2)测试管理服务器确定初始种群并编码
表7中一共有4项测试需求,表9一共有9个测试用例,测试管理服务器随机生成4组测试用例序列,将这个4组测试用例序列作为初始种群,种群设为NA={n1,n2,n3,n4}。
测试管理服务器根据表9中测试用例的符号进行编码,在表9中共有9个测试用例,生成的4个个体基因编码,假设对应的基因编码如表10所示。
表10基因编码表
个体 | 基因编码 |
<![CDATA[n<sub>1</sub>]]> | {7,3,1,4,9,2,8,5,6} |
<![CDATA[n<sub>2</sub>]]> | {1,2,3,4,5,6,7,8,9} |
<![CDATA[n<sub>3</sub>]]> | {2,8,4,3,1,6,9,7,5} |
<![CDATA[n<sub>4</sub>]]> | {9,8,4,5,7,6,2,1,3} |
(3)测试管理服务器分析测试需求并确定适应度函数
以平均测试需求覆盖度与测试需求优先级覆盖关系来构建适应度函数:
F(nj)=0.5*We(nj)+0.5*Cover(nj) (9)
与测试需求TR[j]相关联的测试用例数量TRNj为:
TRNj=Cov(1,j)+Cov(2,j)+Cov(3,j)+Cov(4,j)+Cov(5,j)+Cov(6,j)+Cov(7,j)+Cov(8,j)+Cov(9,j) (10)
评价测试需求TR[j]的优先级TRWj为:
个体nj对应的测试用例序列中的每个测试用例TC[i]对整个测试需求的覆盖率TCWi为:
TCWi=TRW1*Cov(i,1)+TRW2*Cov(i,2)+TRW3*Cov(i,3)+TRW4*Cov(i,4) (12)
故We(nj)表示为:
We(nj)=0.3*(TCWfst-TCWend)+0.7*posnum (13)
个体nj的平均测试需求覆盖度可以表示为:
(4)测试管理服务器计算初始种群的个体适应度和种群平均适应度值
测试管理服务器计算NA中每个个体nj的适应度函数值F(nj),由公式(9)可得,F(n1)=1.485,F(n2)=1.365,F(n3)=1.019,F(n4)=1.965。同时计算NA的种群平均适应度值找出适应度值最高的个体n4。
(5)测试管理服务器确定当前迭代次数是否满足终止条件
(6)测试管理服务器执行家族淘汰选择操作
测试管理服务器对种群NA执行家族淘汰选择操作,设欲望值判定参数∈=3和θ=2,此时由公式(13)可知,We(n1)=2.33,We(n2)=1.95,We(n3)=1.317,We(n4)=3.27,则高欲望家族中包含个体n4,中欲望家族包含个体n1,低欲望家族包含个体n2和n3,计算三个家族中的个体适应度值F(n4)=1.965,F(n1)=1.485,F(n2)=1.365,F(n3)=1.019,则筛选出新的种群N′A如下
N′A={n4,n1,n2} (15)
(7)测试管理服务器执行相似性约束交叉操作
测试管理服务器对种群N′A进行相似性约束交叉操作,在种群N′A中选择n1和其中一个n4作为交叉父代,生成两个新的个体n′1和n′4并替换n1和n4。
设交叉点选择为7,操作如图10、11所示。则最后结果如图11所示。
(8)测试管理服务器执行竞争突变操作
测试管理服务器对种群N′A进行竞争突变操作。测试管理服务器随机选择n2作为变异父代,设置变异阶段μ=3,初始变异点为3和7,最终生成突变个体n′2替换n2。结果如图12所示。
(9)测试管理服务器执行群体爬山优化操作
测试管理服务器对种群N′A进行群体爬山优化操作。测试管理服务器随机选择n′4作为父代个体,进行群体爬山优化操作,生成新个体n″4,若n″4的适应度值高于n′4,则用n″4替换n′4,否则保留n′4。测试管理服务器继续选择N′A中的剩余个体,直到覆盖所有个体,此时形成新的种群NB。设爬山变化点为2和7,则对于个体n′4的操作结果如图13所示。
(10)测试管理服务器计算当前种群最优个体适应度值和种群平均适应度值
测试管理服务器计算种群NB中所有个体的适应度函数值,由公式(9)可知,F(n′1)=2.03,F(n′2)=2.01,F(n′4)=1.945,F(n4)=1.965。
(11)测试管理服务器将nres解码,得到最优测试用例序列n′res={TC[7],TC[5],TC[6],TC[4],TC[9],TC[2],TC[8],TC[1],TC[3]}。
(12)测试管理服务器最终得到
测试管理服务器解析测试用例序列由测试管理服务器或测试仪生成测试指令,通过IPv6边界网关、无线路由器等设备向用户A提供的无线终端下发测试指令。无线终端运行测试指令,并返回相应的测试响应。无线路由器、IPv6边界网关提供测试响应的上传通道,测试响应最终返回到测试管理服务器,测试管理服务器分析测试响应、生成测试报告,并向用户A返回测试报告。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种工业无线网络设备接入IPv6网络的测试系统,其特征在于:包括后端测试平台和前端测试网络;所述后端测试平台包括测试客户端、IPv6交换机、有线路由器、测试管理服务器、测试仪、行业测试数据库;所述前端测试网络包括三种测试形式:测试网络1:对被测网关进行测试的网络;测试网络2:对被测无线路由器进行测试的网络;测试网络3:对被测无线终端进行测试的网络;
所述测试客户端作为人机交互的接口,为用户提供测试入口;用户通过测试客户端提交测试需求表TRS(Test RequirementsSet),TRS={TR[a],TR[b],…,TR[k],…,TR[m],…}和测试配置信息表TCIT(Test Configuration Information Table);在测试完成后,用户通过测试客户端从测试管理服务器查询测试结果,并获取测试报告;
所述IPv6交换机和有线路由器提供前端测试网络和后端测试平台的网络路径,所述IPv6交换机实现前端测试网络和后端测试平台的信息交互,后端测试平台通过有线路由器转发测试指令,前端测试网络通过有线路由器传输测试响应;
所述测试管理服务器为用户提供多个测试服务项,用户自由选择测试服务项;所述测试管理服务器具备数据分析功能,能够根据测试配置信息,调用测试用例序列TCS(TestCase Set),TCS={TC[a],TC[b],...,TC[k],...,TC[m],...},所述测试仪用于生成部分测试指令;
所述行业测试数据库由若干子数据库组成,用集合H={H行业1,H行业2,H行业3,...,H行业i,…}表示,子数据库H行业i包含面向行业i的测试用例;
包括以下步骤:
S1:用户user注册并登录测试管理服务器,选择k个测试服务项,形成测试需求表TRSuser,并提交测试配置信息表TCITuser,TCITuser表信息包括工程名称Pn、测试类型Tt、样品名称Sn、样品类型St、样品协议Sp、行业信息Ii;
S2:测试管理服务器根据TCITuser表中的信息,向行业测试数据库中的子数据库请求测试配置信息对应的测试用例序列测试管理服务器定义编码规则,对TCITuser表中的St、Sp、Ii信息进行特征编码;测试管理服务器利用编码规则得到用户对应的特征编码集合Fi={NumSt,NumSp,NumIi},测试管理服务器得到用户特征编码集合Fi之后,根据Fi中的NumIi定位到对应的子数据库H行业i,并根据Fi中的NumSt和NumSp对H行业i中的测试用例进行筛选,对于H行业i中的测试用例TC[i]而言,当TC[i]同时包含Fi中的特征编码NumSt,NumSp时,表示TC[i]属于
S4:测试管理服务器利用基于需求分析和改进遗传算法的测试用例优化方法对中的测试用例进行优先级排序;使用测试用例与测试需求之间的覆盖关系构建适应度函数,并根据个体适应度函数差异和典型特征对遗传算法的选择操作、交叉操作、变异操作进行改进,并采用爬山算法设计群体爬山优化操作;
S5:测试管理服务器或测试仪下发测试指令
S6:对于测试网络1,由被测网关向无线路由器下发测试指令;
对于测试网络2,由IPv6边界网关向被测无线路由器下发测试指令;
对于测试网络3,由IPv6边界网关向无线路由器下发测试指令;
S7:对于测试网络1,由无线路由器向无线终端下发测试指令;
对于测试网络2,由被测无线路由器向无线终端下发测试指令;
对于测试网络3,由无线路由器向被测无线终端下发测试指令;
S8:对于测试网络1,由无线终端向无线路由器返回测试响应;
对于测试网络2,由无线终端向被测无线路由器返回测试响应;
对于测试网络3,由被测无线终端向无线路由器返回测试响应;
S9:对于测试网络1,由无线路由器向被测网关返回测试响应;
对于测试网络2,由被测无线路由器向IPv6边界网关返回测试响应;
对于测试网络3,由无线路由器向IPv6边界网关返回测试响应;
S10:对于测试网络1,被测网关上传测试响应;
对于测试网络2,IPv6边界网关上传测试响应;
对于测试网络3,IPv6边界网关上传测试响应;
S11:测试管理服务器向用户返回测试响应信息与测试报告,生成测试日志;
步骤S4具体包括以下步骤:
S42:测试管理服务器确定初始种群并编码;测试管理服务器从多组测试用例序列中找出一组满足优化目标的测试用例序列;一共有m个测试用例及k个测试需求,设定种群为Nj,其中j∈{1,2,…},当j=1时,当前种群为初始种群,定义为Nst,当j>1时,当前种群非初始种群;Nj包含的个体数量为k;测试管理服务器根据测试用例的序号进行特定编码,将个体的基因编码用nj={a,b,...i,...,p}表示,其中i表示TC[i]中的序号i,个体nj中基因个数为m,初始种群Nst中任意两个个体ni和nj之间存在关系ni≠nj;
S43:测试管理服务器进行需求分析并确定适应度函数;测试管理服务器得到测试需求表TRSuser和测试信息配置表对应的表之后,分析得到测试需求与测试用例之间的覆盖关系表,表中每个单元格的值为Cov(i,j)∈{0,1},Cov(i,j)表示测试用例TC[i]对测试需求TR[j]的覆盖情况,Cov(i,j)等于1表示测试用例TC[i]覆盖了测试需求TR[j];如果Cov(i,j)等于0,则表示测试用例TC[i]没有覆盖测试需求TR[j],以平均测试需求覆盖度与测试需求优先级覆盖关系来构建适应度函数,个体nj的适应度函数为:
F(nj)=α*We(nj)+β*Cover(nj) (1)
式中,We(nj)表示个体nj对测试需求优先级覆盖率,Cover(nj)表示个体nj的平均测试需求覆盖率,α和β分别代表We(nj)和Cover(nj)的权重,根据测试实际需求进行调整,并且满足α+β=1;
Cov(i,j)表示测试用例TC[i]对测试需求TR[j]的覆盖情况,与测试需求TR[j]相关联的测试用例数量TRNj表示为:
TRNj=Cov(a,j)+Cov(b,j)+,...,+Cov(i,j)+,...,+Cov(p,j) (2)
在TRSuser中,与测试需求TR[j]相关联的测试用例越多,则表示测试需求TR[j]的重要性越高,以此评价测试需求TR[j]的优先级TRWj表示为:
对于个体nj,优先满足的测试需求TR[j]的优先级越高,则We(nj)越大;个体nj对应的测试用例序列中的每个测试用例TC[i]对整个测试需求的覆盖率TCWi表示为:
TCWi=TRWa*Cov(i,a)+TRWb*Cov(i,b)+,...,+TRWj*Cov(i,j)+,...,+TRWn*Cov(i,n) (4)
利用差值累积法得到个体的nj的We(nj)表示为:
We(nj)=γ*(TCWfst-TCWend)+δ*posnum (5)
式中,TCWfst表示个体nj所对应的测试用例序列中第一个测试用例对整个测试需求的覆盖率,TCWend表示个体nj所对应的测试用例序列中最后一个测试用例对整个测试需求的覆盖率,posnum表示个体nj中TCWi正增长的次数,对于个体nj所对应的测试用例序列中相邻的两个测试用例TC[i]和TC[j]而言,TC[i]在前,TC[j]在后;当TCWi-TCWj≥0时,当前posnum的值加1,当TCWi-TCWj<0时,当前posnum的值不变;γ和δ分别表示(TCWfst-TCWend)和posnum的权重,根据测试实际需求进行调整,并且满足γ+δ=1;个体nj对应的平均测试需求覆盖度Cover(nj)表示为:
其中Tbj表示个体nj所对应的测试用例序列中第一个用于测试需求TR[j]的测试用例在整个nj中的序号;
S44:测试管理服务器计算初始种群的个体适应度和种群平均适应度值;测试管理服务器根据适应度函数定义种群平均适应度函数对于种群Ni而言,种群中个体数量为k,个体为nj,则Ni的种群平均适应度函数表示为:
S45:测试管理服务器判断当前最优个体是否满足终止条件;
测试管理服务器采用“种群中最优个体适应度值与种群平均适应度值之差小于等于正数ε”作为方法终止条件,其中ε根据测试实际需求进行设定;测试管理服务器确定终止条件后,计算步骤S44中得到的ncur的适应度值F(ncur)与Nst的种群平均适应度值之差是否小于等于正数ε,如果符合终止条件,则表示已获得最优个体,最终输出的最优个体定义为nres,此时,nres=ncur;测试管理服务器执行步骤S411操作;如果不符合终止条件,测试管理服务器进入迭代操作,测试管理服务器完成一次步骤S46-S410操作即为一轮迭代操作;
S46:测试管理服务器执行家族淘汰选择操作;对于种群Nj中的个体nj,We(nj)是个体nj对测试需求优先级覆盖的评价指标,We(nj)越大则表示个体nj对先满足高目标的测试需求的欲望越强烈,根据We(nj)的大小将种群中的个体划分为三个家族:高欲望家族、中欲望家族、低欲望家族;对于同一个家族里面的个体,计算所有个体的适应度值,保留适应度值较高的一半个体,淘汰适应度值较低的另一半个体,若成员数量为奇数,则被保留成员加1,原家族剩余个体形成新的家族,三个家族的个体之间存在一定的距离;
S47:测试管理服务器执行相似性约束交叉操作;对于步骤S46生成的种群N′j中的个体ni和nj,Cover(ni)表示个体ni对应的测试用例序列中的测试用例对完整测试需求的平均覆盖度,Cover(nj)表示个体nj对应的测试用例序列中的测试用例对完整测试需求的平均覆盖度;利用Cover(ni)和Cover(nj)构造个体相似度函数
个体ni和nj对应的相似度Sim(i,j)越小,表示两个个体的基因差异越大,产生新个体的概率越大,当Sim(i,j)小于交叉概率阈值p时,个体ni和nj才能进行交叉替换;同时利用有效交叉点约束条件对交叉操作进行改进;
S48:测试管理服务器执行竞争突变操作,对同一个个体采用μ阶变异措施,产生μ个变异个体,并采用变异竞争机制,挑选适应度值最大的个体作为突变个体;
S49:测试管理服务器采用成对基因互换方法实施群体爬山优化操作;
S410:测试管理服务器计算当前种群最优个体适应度值和种群平均适应度值;测试管理服务器计算步骤S49生成的种群Nj+1中个体适应度值,找出适应度值最高的个体nrt作为当前最优个体,nrt的适应度函数值为F(nrt),并计算Nj+1的平均适应度值测试管理服务器进一步计算F(nrt)和之差,如果 则满足终止条件,测试管理服务器终止计算,得到最优个体nres,此时nres=nrt;如果 则返回步骤S45;
S411:测试管理服务器对最优个体执行解码
测试管理服务器对最优个体nres进行解码得到一个最优测试用例序列n′res={TC[a],TC[b],...,TC[i],...,TC[j]};
2.一种工业无线网络设备接入IPv6网络的测试方法,其特征在于:包括以下步骤:
S1:用户user注册并登录测试管理服务器,选择k个测试服务项,形成测试需求表TRSuser,并提交测试配置信息表TCITuser,TCITuser表信息包括工程名称Pn、测试类型Tt、样品名称Sn、样品类型St、样品协议Sp、行业信息Ii;
S2:测试管理服务器根据TCITuser表中的信息,向行业测试数据库中的子数据库请求测试配置信息对应的测试用例序列测试管理服务器定义编码规则,对TCITuser表中的St、Sp、Ii信息进行特征编码;测试管理服务器利用编码规则得到用户对应的特征编码集合Fi={NumSt,NumSp,NumIi},测试管理服务器得到用户特征编码集合Fi之后,根据Fi中的NumIi定位到对应的子数据库H行业i,并根据Fi中的NumSt和NumSp对H行业i中的测试用例进行筛选,对于H行业i中的测试用例TC[i]而言,当TC[i]同时包含Fi中的特征编码NumSt,NumSp时,表示TC[i]属于
S4:测试管理服务器利用基于需求分析和改进遗传算法的测试用例优化方法对中的测试用例进行优先级排序;使用测试用例与测试需求之间的覆盖关系构建适应度函数,并根据个体适应度函数差异和典型特征对遗传算法的选择操作、交叉操作、变异操作进行改进,并采用爬山算法设计群体爬山优化操作;
S5:测试管理服务器或测试仪下发测试指令
S6:对于测试网络1,由被测网关向无线路由器下发测试指令;
对于测试网络2,由IPv6边界网关向被测无线路由器下发测试指令;
对于测试网络3,由IPv6边界网关向无线路由器下发测试指令;
S7:对于测试网络1,由无线路由器向无线终端下发测试指令;
对于测试网络2,由被测无线路由器向无线终端下发测试指令;
对于测试网络3,由无线路由器向被测无线终端下发测试指令;
S8:对于测试网络1,由无线终端向无线路由器返回测试响应;
对于测试网络2,由无线终端向被测无线路由器返回测试响应;
对于测试网络3,由被测无线终端向无线路由器返回测试响应;
S9:对于测试网络1,由无线路由器向被测网关返回测试响应;
对于测试网络2,由被测无线路由器向IPv6边界网关返回测试响应;
对于测试网络3,由无线路由器向IPv6边界网关返回测试响应;
S10:对于测试网络1,被测网关上传测试响应;
对于测试网络2,IPv6边界网关上传测试响应;
对于测试网络3,IPv6边界网关上传测试响应;
S11:测试管理服务器向用户返回测试响应信息与测试报告,生成测试日志;
步骤S4具体包括以下步骤:
S42:测试管理服务器确定初始种群并编码;测试管理服务器从多组测试用例序列中找出一组满足优化目标的测试用例序列;一共有m个测试用例及k个测试需求,设定种群为Nj,其中j∈{1,2,...},当j=1时,当前种群为初始种群,定义为Nst,当j>1时,当前种群非初始种群;Nj包含的个体数量为k;测试管理服务器根据测试用例的序号进行特定编码,将个体的基因编码用nj={a,b,...i,...,p}表示,其中i表示TC[i]中的序号i,个体nj中基因个数为m,初始种群Nst中任意两个个体ni和nj之间存在关系ni≠nj;
S43:测试管理服务器进行需求分析并确定适应度函数;测试管理服务器得到测试需求表TRSuser和测试信息配置表对应的表之后,分析得到测试需求与测试用例之间的覆盖关系表,表中每个单元格的值为Cov(i,j)∈{0,1},Cov(i,j)表示测试用例TC[i]对测试需求TR[j]的覆盖情况,Cov(i,j)等于1表示测试用例TC[i]覆盖了测试需求TR[j];如果Cov(i,j)等于0,则表示测试用例TC[i]没有覆盖测试需求TR[j],以平均测试需求覆盖度与测试需求优先级覆盖关系来构建适应度函数,个体nj的适应度函数为:
F(nj)=α*We(nj)+β*Cover(nj) (1)
式中,We(nj)表示个体nj对测试需求优先级覆盖率,Cover(nj)表示个体nj的平均测试需求覆盖率,α和β分别代表We(nj)和Cover(nj)的权重,根据测试实际需求进行调整,并且满足α+β=1;
Cov(i,j)表示测试用例TC[i]对测试需求TR[j]的覆盖情况,与测试需求TR[j]相关联的测试用例数量TRNj表示为:
TRNj=Cov(a,j)+Cov(b,j)+,...,+Cov(i,j)+,...,+Cov(p,j) (2)
在TRSuser中,与测试需求TR[j]相关联的测试用例越多,则表示测试需求TR[j]的重要性越高,以此评价测试需求TR[j]的优先级TRWj表示为:
对于个体nj,优先满足的测试需求TR[j]的优先级越高,则We(nj)越大;个体nj对应的测试用例序列中的每个测试用例TC[i]对整个测试需求的覆盖率TCWi表示为:
TCWi=TRWa*Cov(i,a)+TRWb*Cov(i,b)+,...,+TRWj*Cov(i,j)+,...,+TRWn*Cov(i,n) (4)
利用差值累积法得到个体的nj的We(nj)表示为:
We(nj)=γ*(TCWfst-TCWend)+δ*posnum (5)
式中,TCWfst表示个体nj所对应的测试用例序列中第一个测试用例对整个测试需求的覆盖率,TCWend表示个体nj所对应的测试用例序列中最后一个测试用例对整个测试需求的覆盖率,posnum表示个体nj中TCWi正增长的次数,对于个体nj所对应的测试用例序列中相邻的两个测试用例TC[i]和TC[j]而言,TC[i]在前,TC[j]在后;当TCWi-TCWj≥0时,当前posnum的值加1,当TCWi-TCWj<0时,当前posnum的值不变;γ和δ分别表示(TCWfst-TCWend)和posnum的权重,根据测试实际需求进行调整,并且满足γ+δ=1;
个体nj对应的平均测试需求覆盖度Cover(nj)表示为:
其中Tbj表示个体nj所对应的测试用例序列中第一个用于测试需求TR[j]的测试用例在整个nj中的序号;
S44:测试管理服务器计算初始种群的个体适应度和种群平均适应度值;测试管理服务器根据适应度函数定义种群平均适应度函数对于种群Ni而言,种群中个体数量为k,个体为nj,则Ni的种群平均适应度函数表示为:
S45:测试管理服务器判断当前最优个体是否满足终止条件;
测试管理服务器采用“种群中最优个体适应度值与种群平均适应度值之差小于等于正数ε”作为方法终止条件,其中ε根据测试实际需求进行设定;测试管理服务器确定终止条件后,计算步骤S44中得到的ncur的适应度值F(ncur)与Nst的种群平均适应度值之差是否小于等于正数ε,如果符合终止条件,则表示已获得最优个体,最终输出的最优个体定义为nres,此时,nres=ncur;测试管理服务器执行步骤S411操作;如果不符合终止条件,测试管理服务器进入迭代操作,测试管理服务器完成一次步骤S46-S410操作即为一轮迭代操作;
S46:测试管理服务器执行家族淘汰选择操作;对于种群Nj中的个体nj,We(nj)是个体nj对测试需求优先级覆盖的评价指标,We(nj)越大则表示个体nj对先满足高目标的测试需求的欲望越强烈,根据We(nj)的大小将种群中的个体划分为三个家族:高欲望家族、中欲望家族、低欲望家族;对于同一个家族里面的个体,计算所有个体的适应度值,保留适应度值较高的一半个体,淘汰适应度值较低的另一半个体,若成员数量为奇数,则被保留成员加1,原家族剩余个体形成新的家族,三个家族的个体之间存在一定的距离;
S47:测试管理服务器执行相似性约束交叉操作;对于步骤S46生成的种群N′j中的个体ni和nj,Cover(ni)表示个体ni对应的测试用例序列中的测试用例对完整测试需求的平均覆盖度,Cover(nj)表示个体nj对应的测试用例序列中的测试用例对完整测试需求的平均覆盖度;利用Cover(ni)和Cover(nj)构造个体相似度函数
个体ni和nj对应的相似度Sim(i,j)越小,表示两个个体的基因差异越大,产生新个体的概率越大,当Sim(i,j)小于交叉概率阈值p时,个体ni和nj才能进行交叉替换;同时利用有效交叉点约束条件对交叉操作进行改进;
S48:测试管理服务器执行竞争突变操作,对同一个个体采用μ阶变异措施,产生μ个变异个体,并采用变异竞争机制,挑选适应度值最大的个体作为突变个体;
S49:测试管理服务器采用成对基因互换方法实施群体爬山优化操作;
S410:测试管理服务器计算当前种群最优个体适应度值和种群平均适应度值;测试管理服务器计算步骤S49生成的种群Nj+1中个体适应度值,找出适应度值最高的个体nrt作为当前最优个体,nrt的适应度函数值为F(nrt),并计算Nj+1的平均适应度值测试管理服务器进一步计算F(nrt)和之差,如果 则满足终止条件,测试管理服务器终止计算,得到最优个体nres,此时nres=nrt;如果 则返回步骤S45;
S411:测试管理服务器对最优个体执行解码
测试管理服务器对最优个体nres进行解码得到一个最优测试用例序列n′res={TC[a],TC[b],...,TC[i],...,TC[j]};
3.根据权利要求2所述的工业无线网络设备接入IPv6网络的测试方法,其特征在于:步骤S46具体包括以下步骤:
S461:测试管理服务器按照种群Nj中每个个体的We(nj)由高到低排序;
S462:测试管理管理服务器设置欲望值判定参数∈和θ,将满足We(nj)>∈的个体划分到高欲望家族,满足∈≥We(nj)≥θ的个体划分到中欲望家族,满足θ>We(nj)的个体划分到低欲望家族;
S463:测试管理服务器计算三个家族中个体的适应度值F(nj),并按从高到低排序;
S464:测试管理服务器淘汰三个家族中适应度值较低的一半个体,保留适应度值较高的一半个体;
S465:将三个家族的剩余个体合并生成子种群N′j。
4.根据权利要求2所述的工业无线网络设备接入IPv6网络的测试方法,其特征在于:步骤S47所述利用有效交叉点约束条件对交叉操作进行改进,包括以下步骤:
S471:测试管理服务器对父个体ni和nj进行异或操作,得到ncom;
S472:测试管理服务器对ncom中存在的最长连续为0的区域,将其定义为父个体ni和nj的最长公共区域,父个体ni和nj中最长公共区域对应的元素区域将其定义为无效交叉区域uv,父个体ni和nj中的其余元素区域定义为有效交叉区域val;
S473:测试管理服务器在有效交叉区域内选择随机选择一个交叉点q,对父个体ni和nj进行交叉替换,得到子个体n′i和n′j。
6.根据权利要求2所述的工业无线网络设备接入IPv6网络的测试方法,其特征在于:步骤S49具体包括:
S491:测试管理服务器对当前种群N′j中的每个个体nt,随机选择两个点u和v;
S492:测试管理服务器将nt中第u+1个测试用例序号与其下一个测试用例序号互换,其中u<u+1<v,得到新个体n′t;
S493:测试管理服务器比较nt和n′t的适应度函数值,如果n′t的适应度大于nt的适应度,则用n′t替换nt,否则保留nt;
S494:测试管理服务器产生新的种群Nj+1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210050050.5A CN114401211B (zh) | 2022-01-17 | 2022-01-17 | 一种工业无线网络设备接入IPv6网络的测试系统及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210050050.5A CN114401211B (zh) | 2022-01-17 | 2022-01-17 | 一种工业无线网络设备接入IPv6网络的测试系统及测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114401211A CN114401211A (zh) | 2022-04-26 |
CN114401211B true CN114401211B (zh) | 2023-05-12 |
Family
ID=81231446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210050050.5A Active CN114401211B (zh) | 2022-01-17 | 2022-01-17 | 一种工业无线网络设备接入IPv6网络的测试系统及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114401211B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396335B (zh) * | 2022-08-11 | 2023-05-16 | 重庆邮电大学 | 基于微服务的工业无线网络设备接入IPv6测试系统及方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605611A (zh) * | 2013-12-10 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种基于遗传算法的测试用例优化方法 |
CN105117326A (zh) * | 2015-07-01 | 2015-12-02 | 湖州师范学院 | 一种基于组合混沌序列的测试用例集生成方法 |
CN106502908A (zh) * | 2016-11-07 | 2017-03-15 | 牡丹江师范学院 | 基于统计分析的可执行基础路径进化生成方法 |
CN107193739A (zh) * | 2017-05-23 | 2017-09-22 | 张泽祎 | 一种黑盒回归测试方法 |
CN107229972A (zh) * | 2017-03-10 | 2017-10-03 | 东莞理工学院 | 一种基于拉马克获得性遗传原理的全局优化、搜索和机器学习方法 |
CN107392399A (zh) * | 2017-08-30 | 2017-11-24 | 桂林电子科技大学 | 一种基于改进遗传算法的svm卷烟感官质量预测方法 |
CN107544905A (zh) * | 2017-08-22 | 2018-01-05 | 中国农业银行股份有限公司 | 回归测试用例集的优化方法和系统 |
CN108509335A (zh) * | 2018-01-31 | 2018-09-07 | 浙江理工大学 | 基于遗传算法优化的软件测试数据生成方法 |
CN109120627A (zh) * | 2018-08-29 | 2019-01-01 | 重庆邮电大学 | 一种基于改进KNN的6LoWPAN网络入侵检测方法 |
CN109152065A (zh) * | 2018-10-31 | 2019-01-04 | 重庆邮电大学 | 一种基于IPv6的工业无线网络多节点安全入网方法 |
CN111045953A (zh) * | 2019-12-31 | 2020-04-21 | 郑州信大捷安信息技术股份有限公司 | 一种基于分布式的测试用例执行系统及方法 |
CN111082971A (zh) * | 2019-11-25 | 2020-04-28 | 南京航空航天大学 | 一种面向云负载测试的共享式资源分配方法 |
CN111666209A (zh) * | 2020-05-20 | 2020-09-15 | 牡丹江师范学院 | 一种基于多目标优化的测试用例优先级排序方法 |
CN111782544A (zh) * | 2020-07-22 | 2020-10-16 | 中国人民解放军国防科技大学 | 一种基于多种群遗传算法的软件无线电符合性测试方法 |
CN111881654A (zh) * | 2020-08-01 | 2020-11-03 | 牡丹江师范学院 | 一种基于多目标优化的刑罚测试数据扩增方法 |
-
2022
- 2022-01-17 CN CN202210050050.5A patent/CN114401211B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605611A (zh) * | 2013-12-10 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种基于遗传算法的测试用例优化方法 |
CN105117326A (zh) * | 2015-07-01 | 2015-12-02 | 湖州师范学院 | 一种基于组合混沌序列的测试用例集生成方法 |
CN106502908A (zh) * | 2016-11-07 | 2017-03-15 | 牡丹江师范学院 | 基于统计分析的可执行基础路径进化生成方法 |
CN107229972A (zh) * | 2017-03-10 | 2017-10-03 | 东莞理工学院 | 一种基于拉马克获得性遗传原理的全局优化、搜索和机器学习方法 |
CN107193739A (zh) * | 2017-05-23 | 2017-09-22 | 张泽祎 | 一种黑盒回归测试方法 |
CN107544905A (zh) * | 2017-08-22 | 2018-01-05 | 中国农业银行股份有限公司 | 回归测试用例集的优化方法和系统 |
CN107392399A (zh) * | 2017-08-30 | 2017-11-24 | 桂林电子科技大学 | 一种基于改进遗传算法的svm卷烟感官质量预测方法 |
CN108509335A (zh) * | 2018-01-31 | 2018-09-07 | 浙江理工大学 | 基于遗传算法优化的软件测试数据生成方法 |
CN109120627A (zh) * | 2018-08-29 | 2019-01-01 | 重庆邮电大学 | 一种基于改进KNN的6LoWPAN网络入侵检测方法 |
CN109152065A (zh) * | 2018-10-31 | 2019-01-04 | 重庆邮电大学 | 一种基于IPv6的工业无线网络多节点安全入网方法 |
CN111082971A (zh) * | 2019-11-25 | 2020-04-28 | 南京航空航天大学 | 一种面向云负载测试的共享式资源分配方法 |
CN111045953A (zh) * | 2019-12-31 | 2020-04-21 | 郑州信大捷安信息技术股份有限公司 | 一种基于分布式的测试用例执行系统及方法 |
CN111666209A (zh) * | 2020-05-20 | 2020-09-15 | 牡丹江师范学院 | 一种基于多目标优化的测试用例优先级排序方法 |
CN111782544A (zh) * | 2020-07-22 | 2020-10-16 | 中国人民解放军国防科技大学 | 一种基于多种群遗传算法的软件无线电符合性测试方法 |
CN111881654A (zh) * | 2020-08-01 | 2020-11-03 | 牡丹江师范学院 | 一种基于多目标优化的刑罚测试数据扩增方法 |
Non-Patent Citations (1)
Title |
---|
基于GATS算法的面向对象测试用例自动生成;王倩;张锦华;;郑州轻工业学院学报(自然科学版)(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114401211A (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Incentive mechanism for multiple cooperative tasks with compatible users in mobile crowd sensing via online communities | |
CN108460101B (zh) | 面向位置社交网络基于地理位置正则化的兴趣点推荐方法 | |
CN102668457B (zh) | 用于确定社区内的连接性的系统和方法 | |
Zou et al. | A new evolutionary algorithm for solving many-objective optimization problems | |
CN111866954B (zh) | 一种基于联邦学习的用户选择和资源分配方法 | |
CN110462604A (zh) | 基于设备使用关联互联网设备的数据处理系统和方法 | |
CN109800910B (zh) | 一种基于禁忌搜索的超启发式算法的车辆路径优化方法 | |
CN103034963B (zh) | 一种基于相关性的服务选择系统及选择方法 | |
CN108470075A (zh) | 一种面向排序预测的社会化推荐方法 | |
CN110222838B (zh) | 文档排序方法、装置、电子设备及存储介质 | |
CN114401211B (zh) | 一种工业无线网络设备接入IPv6网络的测试系统及测试方法 | |
CN111312334A (zh) | 一种影响细胞间通讯的受体-配体系统分析方法 | |
Gu et al. | Application of fuzzy decision tree algorithm based on mobile computing in sports fitness member management | |
CN115115389A (zh) | 一种基于价值细分和集成预测的快递客户流失预测方法 | |
CN111340069A (zh) | 基于交替学习的不完整数据精细建模及缺失值填补方法 | |
CN116170328A (zh) | 图形编码的使用带宽预测方法及装置 | |
CN110287269A (zh) | 一种基于复合层次分析的数据处理分类方法和装置 | |
Li et al. | Network topology optimization via deep reinforcement learning | |
CN112836794B (zh) | 一种图像神经架构的确定方法、装置、设备及存储介质 | |
CN111368910B (zh) | 一种物联网设备协同感知方法 | |
CN112270047B (zh) | 基于数据驱动的群体智能计算的城市车辆路径优化方法 | |
CN111125541B (zh) | 面向多用户的可持续多云服务组合的获取方法 | |
CN104778636B (zh) | 船舶装备维修保障信息服务推荐方法 | |
CN113536109A (zh) | 一种基于神经网络和移动上下文的兴趣点推荐方法 | |
Su et al. | Point-of-Interest recommendation based on spatial clustering in LBSN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |