陈功平,王 红
(1.六安职业技术学院,安徽 六安 237158;2.中国科学技术大学,安徽 合肥 230026)
移动通信网络技术更新周期越来越短,用户对于网络的需求越来越多,因此通信公司需要开发的新功能也越来越多[1].由于通信产品的特殊性,在产品正式交付给客户之前,必须模拟真实场景进行性能测试和系统测试,避免正式部署之后出现问题影响用户的使用体验[2].同时,电信客户对于产品的交付周期要求也越来越短[3],因此,传统的手动测试已经不能完全满足现今的需求,高效率的自动化测试是整个通信行业所迫切需要的量[4].
胡京徽[5]等人提出一种面向自动测试机载设备测试需求描述的信号模型,通过将机载设备测试需求中所涉及到的信号进行分类,以及将测试设备和被测设备之间传送的信号视作带有一组参数的动作,建立适用于自动测试机载设备需求描述的信号模型.杨宏宇[6]等人提出一种基于增强低功耗自适应集簇分层路由协议信誉机制的恶意节点检测模型.在无线传感器网络中使用增强LEACH路由协议选取簇首节点,其余节点选择对应簇首形成各簇集群并确定网络数据包传递路径.节点在数据包内添加节点编号,信誉评价等信息并按传递路径将数据包发送至汇聚节点,汇聚节点解析获取数据包内节点编号并与源节点编号比较判定,形成可疑节点列表,计算节点信誉值并与阈值比较判定网络中的恶意节点.
上述两种方法并未提升自动化测试效率,为此研究移动通信网络节点机自动化测试性建模,缩短自动化测试时间,提升移动通信服务质量.
移动通信网络节点机自动化测试性模型包含CATS Repository,D-JCAT Framework与JCAT三部分,其总体结构如图1所示.
图1 移动通信网络节点机自动化测试性模型结构图
CATS Repository模块主要包含Feature Files,Test Step与Commom Test Step Definitions三个单元,具备Java Step Defintions编写与自动化测试步骤脚本定义两种功能.Feature Files单元为利用Gherkin语言编写的脚本,具备定义自动化测试执行步骤与策略的功能[7];Test Step单元利用Java代码完成自动化测试步骤.CATS Repository模块内的Java Step并未真正实现,仅以JCAT Framework为基础,对其实施二次开发,说明CATS Repository模块仅仅调用D-JCAT Framework模块内的代码与逻辑,以此实现CATS Repository模块中对应的自动化测试步骤.
D-JCAT Framework模块内Confix单元属于脚本生成器,Confix单元按照用户需求的移动通信节点机类型形成有关Dallas的软件配置以及MKK的硬件配置[8];启动Confix后会形成Dallas的重要配置文件,利用这些重要配置文件安装Dallas;启动Confix后还会形成Shell脚本,利用Shell脚本可获取MKX硬件的所有配置.
JCAT模块汇聚了自动化测试必不可少的能效性检测数据输出与监听等全部功能的启动接口,包含能效性检测单元、启动日志记录模块与日志记录打印接口单元等.
1.2.1 移动通信网络覆盖率指标与通信能耗指标
网络覆盖率表示一定范围内被检测概率占据阈值概率的比值,检测概率通过网格中心是否被检测表示[9].计算公式如下:
(1)
其中,覆盖到节点机(xi,yi)的节点机集为χ={si,i=1,2,…,k};节点机为si.
移动通信网络的覆盖率为被检测概率超过阈值概率的网络中心点数和总的中心点数的比值Q.
移动通信网络通信能量消耗主要包含两个方面,分别是运行能耗与传送能耗.网络节点机无线花费表示为Eelec=50 nJ/bit,最终允许发送放大器放大倍率的无线花费是Eamp=100 PJ/bit/m2.在节点机i发送长度是kbit的数据包至节点机j的过程中,发送节点机i的能耗计算公式如下:
(2)
其中,节点机i与节点机j的坐标分别是(xi,yi)与(xj,yj);两个节点机间的距离是d,计算公式如下:
(3)
节点机j接收kbit数据包的能耗计算公式如下:
ERx(k)=ERx-elec(k)=Eelec×k
(4)
节点机i发送kbit数据包至节点机j过程中移动通信网络的总能量消耗计算公式如下:
(5)
通过Dijkstra算法优化移动通信网络,移动通信网络通信能耗指标由E表示,E中包含全部节点机发送单位比特数据至中心节点机过程中的移动通信网络总能耗.
1.2.2 移动通信网络节点机能效性测量优化目标函数
利用指数乘法加权处理上述两个指标指数,获取优化目标函数,表达公式如下:
f(X)=Q-(1-a)×Ea
(6)
其中,两个指标的调节权值是a;节点机的布置情况是X;目标函数中两个指标的比例取决于调节权值a.
1.2.3 遗传禁忌搜索算法优化节点机的布置
移动通信网络节点机检测目标与其余节点机间距离的变化直接影响目标节点机能效性被检测概率;利用遗传禁忌搜索算法优化移动通信网络节点机的布置,可提升节点机能效性检测的准确性[10].遗传禁忌搜索算法的主要思想当遗传算法运行时种群适应度函数值大于一定代数且固定后,以记录表的形式,获取搜索过的解[11],禁忌搜索的破禁水平是种群适应度函数值的平均值,将其和邻域搜索结果实施对比分析,若搜索结果较好,那么需要破禁;反之,若不需要破禁,那么接受结果,否则,不接受.
对于移动通信网络节点机布置优化问题,为禁忌搜索算法设计一个邻域移动机制,邻域移动机制如图2所示.
图2 邻域移动机制
令移动通信网络节点机初始位置是X,以迭代步长是k的正方形为邻域,该邻域内共包含8个顶点,计算初始点与这些顶点的适应度函数值,选取适应度函数值最低的点为新解[12],记录于禁忌表内.实施禁忌搜索过程中,禁忌搜索算法不能共同优化6个移动通信网络节点机的布置,仅能逐个禁忌搜索6个移动通信网络节点机的位置.需要结合遗传算法互相弥补两个算法的不足,提升移动通信网络节点机布置优化的精准性[13].
1.2.3.1 节点机优化布置的数学模型
优化移动通信节点机的布置即组合优化问题,数学模型表达公式如下:
(7)
其中,节点机布置数量是m;第i个节点不可观是Ui;移动通信网络节点数量是N.
1.2.3.2 染色体编码
1.2.3.3 适应度函数和约束条件处理
移动通信网络节点机优化布置的约束条件为Va=0,代表确保整个移动通信网络可观[14].在出现不符合约束条件的解情况下,通过启发性修复进行处理,具体步骤如下所示:
步骤1:在不可观节点内选取支路最多的节点,在该节点处布置一个节点机,说明与这个节点相应的染色体基因位置是1;
步骤2:判断染色体是否符合Va=0,若染色体不符合Va=0,那么重复步骤1,在全部染色体符合Va=0为止.
经过不可行解的启发性修复方法处理后,该解便被更改为符合约束条件的可行解范围中.
利用不可行解的启发性修复方法处理全部染色体后,全部染色体均符合约束条件[15],适应度函数的计算公式如下:
(8)
其中,为确保适应度函数值在0之内,Cmax表示一个较大的正数,比例系数是Cl.
1.2.3.4 节点机布置优化流程
a:设置初始种群规模、最大迭代次数、交叉概率与变异概率.
d:在种群内选取m个个体当成下一代的父本点,各个个体被选取的概率计算公式如下:
(9)
将上一代中以概率为1的最优个体存储到下一代中.
e:利用交换概率交换求解种群内的个体.
f:利用变异概率变异求解种群内的个体,形成新一代种群.
h:分析可观测性与不可行解的启发性修复.
j:若t
由于被测试移动通信网络在远端,同时具备共用的特性,因此一定要登录移动通信网络远程的Linux服务器,实现测试环境的部署.在实际应用过程中利用Citrix Receiver完成远程连接.进行测试工作过程中,需要利用自己的终端电脑在Citrix Receiver内输入用户名与密码登录服务器,控制被测试移动通信网络节点机,节点机布置完成后,在终端打开Eclipse,将Maven项目内CATS与D-JCAT的Java包放进Eclipse中,这样就能够远程控制布置在实验室的节点机,在测试终端内利用本文模型对被测移动通信网络节点机实施自动化测试.
利用本文模型在布置好的实验环境内实施移动通信网络节点机自动化测试,节点机的自动化测试包括2G,3G与4G的性能测试.利用节点机升级测试描绘本文模型的全部自动化测试流程,用于验证节点机是否成功升级、升级过程中每个评价参数是否标准与节点机升级成功后移动通信网络能否恢复正常,为虚拟用户提供通信服务.
测试过程中是否出现告警信息的参数FM Alarms属于测试本文模型获取测试结果有效性的主要评价参数.AP CPU使用量表示测试节点机AP CPU使用量,标准情况是稳定后处于75左右;DP CPU使用量表示测试节点机DP CPU使用量,标准情况是稳定后处于50左右;FM Alarms表示测试时出现的告警信息,按照实际应用判断告警信息是否合理.
以移动通信网络内升级某个节点机为实验对象描绘本文模型的使用流程,移动通信网络节点机的硬件设备为MKX,利用日志随时记录AP CPU使用量与DP CPU使用量,在自动化测试过程中如果出现不被允许的FM Alarms,那么便认为该节点机存在问题.
利用本文模型对移动通信网络内某个节点机升级实施自动化测试,分别实施7种不同指定移动通信用户设备类型的自动化测试,测试结果如表1所示.
表1 测试结果
分析表1可知,本文模型能够自动化测试不同接入类型的移动通信网络内节点机升级过程,最终显示结果均为通过.
为保证自动化测试的精准性,需要手动查看自动化测试后的测试结果评价参数,评价参数包括AP CPU使用量、DP CPU使用量、FM alarms以及测试时间.本文模型测试结果稳定后,AP CPU使用量处于75左右,DP CPU使用量处于50左右,自动识别没有出现不允许出现的alarms,测试时间在5 h左右;专家手动测试结果稳定后,AP CPU使用量处于75左右,DP CPU使用量处于50左右,人工对比结果未出现不允许出现的alarms,测试时间36 h左右.
本文模型自动化测试移动通信网络内节点机升级过程中评价参数与专家手动测试结果完全一致,符合评价参数测试结果,但本文模型自动化测试时间明显低于专家手动测试时间.实验证明:本文模型具有较优的自动化测试效果.
将文献[5]的信号自动化测试模型与文献[6]的恶意节点检测模型作为本文模型的对比模型,在该移动通信网络内随机选取20个节点机,并对这20个节点机进行升级,利用三种模型对这20个节点机升级过程实施自动化测试,测试三种模型的自动化测试效率,测试结果如图3所示.
图3 三种模型自动化测试效率对比结果
分析图3可知,随着节点机数量的不断增加,三种模型的自动化测试时间均呈现不同程度的增长趋势,本文模型的增长趋势明显低于其余两种模型,当节点机数量为12个时,本文模型的自动化测试时间不再发生改变,稳定于590 min.实验证明:本文模型自动化测试效率最高.
利用三种模型对该移动通信网络节点机升级过程中的能效性实施自动化测试,以覆盖率与通信能耗为测试指标,测试三种模型在不同迭代次数时的覆盖率与通信能耗,测试结果如图4所示.
图4 对比测试结果
分析图4(a)可知,随着迭代次数的逐渐提升,三种模型的覆盖率均呈现提升趋势,在迭代次数为40次时,文献[5]模型结束迭代,迭代时间过早易于陷入局部最优;文献[6]模型前期覆盖率提升速度较慢,后期提升速度显著提升,但迭代终止时间太晚,收敛性较差;本文模型的覆盖率提升幅度明显高于其余两种模型且精度高.分析图4(b)可知,迭代次数的不断改变,本文模型的通信能耗始终低于其余两种模型.综上所述,本文模型自动化测试移动通信网络节点机升级过程中的能效性高,其网络覆盖率最高、通信能耗最低.
移动通信网络服务的更新周期不断缩短,传统的节点机测试已无法满足人们的需求,还会浪费大量时间与金钱.为确保移动通信软件的质量,缩短节点机测试时间,需要研究一个自动化测试模型取代传统的节点机测试方法.为此研究移动通信网络节点机自动化测试性建模,缩短自动化测试时间.本文模型在实际项目中具有较好的应用效果,可提升移动通信服务质量.该模型虽已全部覆盖2G,3G,4G网络的测试用例,但日后运营商还会提出各种各样的需求,因此后续的主要工作是以该模型为基础,研发用于测试的服务器与配置文件的编写等扩展功能,提升模型的稳定性.