陳功平,王 紅
(1.六安職業(yè)技術(shù)學(xué)院,安徽 六安 237158;2.中國科學(xué)技術(shù)大學(xué),安徽 合肥 230026)
移動(dòng)通信網(wǎng)絡(luò)技術(shù)更新周期越來越短,用戶對于網(wǎng)絡(luò)的需求越來越多,因此通信公司需要開發(fā)的新功能也越來越多[1].由于通信產(chǎn)品的特殊性,在產(chǎn)品正式交付給客戶之前,必須模擬真實(shí)場景進(jìn)行性能測試和系統(tǒng)測試,避免正式部署之后出現(xiàn)問題影響用戶的使用體驗(yàn)[2].同時(shí),電信客戶對于產(chǎn)品的交付周期要求也越來越短[3],因此,傳統(tǒng)的手動(dòng)測試已經(jīng)不能完全滿足現(xiàn)今的需求,高效率的自動(dòng)化測試是整個(gè)通信行業(yè)所迫切需要的量[4].
胡京徽[5]等人提出一種面向自動(dòng)測試機(jī)載設(shè)備測試需求描述的信號模型,通過將機(jī)載設(shè)備測試需求中所涉及到的信號進(jìn)行分類,以及將測試設(shè)備和被測設(shè)備之間傳送的信號視作帶有一組參數(shù)的動(dòng)作,建立適用于自動(dòng)測試機(jī)載設(shè)備需求描述的信號模型.楊宏宇[6]等人提出一種基于增強(qiáng)低功耗自適應(yīng)集簇分層路由協(xié)議信譽(yù)機(jī)制的惡意節(jié)點(diǎn)檢測模型.在無線傳感器網(wǎng)絡(luò)中使用增強(qiáng)LEACH路由協(xié)議選取簇首節(jié)點(diǎn),其余節(jié)點(diǎn)選擇對應(yīng)簇首形成各簇集群并確定網(wǎng)絡(luò)數(shù)據(jù)包傳遞路徑.節(jié)點(diǎn)在數(shù)據(jù)包內(nèi)添加節(jié)點(diǎn)編號,信譽(yù)評價(jià)等信息并按傳遞路徑將數(shù)據(jù)包發(fā)送至匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)解析獲取數(shù)據(jù)包內(nèi)節(jié)點(diǎn)編號并與源節(jié)點(diǎn)編號比較判定,形成可疑節(jié)點(diǎn)列表,計(jì)算節(jié)點(diǎn)信譽(yù)值并與閾值比較判定網(wǎng)絡(luò)中的惡意節(jié)點(diǎn).
上述兩種方法并未提升自動(dòng)化測試效率,為此研究移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)自動(dòng)化測試性建模,縮短自動(dòng)化測試時(shí)間,提升移動(dòng)通信服務(wù)質(zhì)量.
移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)自動(dòng)化測試性模型包含CATS Repository,D-JCAT Framework與JCAT三部分,其總體結(jié)構(gòu)如圖1所示.
圖1 移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)自動(dòng)化測試性模型結(jié)構(gòu)圖
CATS Repository模塊主要包含F(xiàn)eature Files,Test Step與Commom Test Step Definitions三個(gè)單元,具備Java Step Defintions編寫與自動(dòng)化測試步驟腳本定義兩種功能.Feature Files單元為利用Gherkin語言編寫的腳本,具備定義自動(dòng)化測試執(zhí)行步驟與策略的功能[7];Test Step單元利用Java代碼完成自動(dòng)化測試步驟.CATS Repository模塊內(nèi)的Java Step并未真正實(shí)現(xiàn),僅以JCAT Framework為基礎(chǔ),對其實(shí)施二次開發(fā),說明CATS Repository模塊僅僅調(diào)用D-JCAT Framework模塊內(nèi)的代碼與邏輯,以此實(shí)現(xiàn)CATS Repository模塊中對應(yīng)的自動(dòng)化測試步驟.
D-JCAT Framework模塊內(nèi)Confix單元屬于腳本生成器,Confix單元按照用戶需求的移動(dòng)通信節(jié)點(diǎn)機(jī)類型形成有關(guān)Dallas的軟件配置以及MKK的硬件配置[8];啟動(dòng)Confix后會(huì)形成Dallas的重要配置文件,利用這些重要配置文件安裝Dallas;啟動(dòng)Confix后還會(huì)形成Shell腳本,利用Shell腳本可獲取MKX硬件的所有配置.
JCAT模塊匯聚了自動(dòng)化測試必不可少的能效性檢測數(shù)據(jù)輸出與監(jiān)聽等全部功能的啟動(dòng)接口,包含能效性檢測單元、啟動(dòng)日志記錄模塊與日志記錄打印接口單元等.
1.2.1 移動(dòng)通信網(wǎng)絡(luò)覆蓋率指標(biāo)與通信能耗指標(biāo)
網(wǎng)絡(luò)覆蓋率表示一定范圍內(nèi)被檢測概率占據(jù)閾值概率的比值,檢測概率通過網(wǎng)格中心是否被檢測表示[9].計(jì)算公式如下:
(1)
其中,覆蓋到節(jié)點(diǎn)機(jī)(xi,yi)的節(jié)點(diǎn)機(jī)集為χ={si,i=1,2,…,k};節(jié)點(diǎn)機(jī)為si.
移動(dòng)通信網(wǎng)絡(luò)的覆蓋率為被檢測概率超過閾值概率的網(wǎng)絡(luò)中心點(diǎn)數(shù)和總的中心點(diǎn)數(shù)的比值Q.
移動(dòng)通信網(wǎng)絡(luò)通信能量消耗主要包含兩個(gè)方面,分別是運(yùn)行能耗與傳送能耗.網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)無線花費(fèi)表示為Eelec=50 nJ/bit,最終允許發(fā)送放大器放大倍率的無線花費(fèi)是Eamp=100 PJ/bit/m2.在節(jié)點(diǎn)機(jī)i發(fā)送長度是kbit的數(shù)據(jù)包至節(jié)點(diǎn)機(jī)j的過程中,發(fā)送節(jié)點(diǎn)機(jī)i的能耗計(jì)算公式如下:
(2)
其中,節(jié)點(diǎn)機(jī)i與節(jié)點(diǎn)機(jī)j的坐標(biāo)分別是(xi,yi)與(xj,yj);兩個(gè)節(jié)點(diǎn)機(jī)間的距離是d,計(jì)算公式如下:
(3)
節(jié)點(diǎn)機(jī)j接收kbit數(shù)據(jù)包的能耗計(jì)算公式如下:
ERx(k)=ERx-elec(k)=Eelec×k
(4)
節(jié)點(diǎn)機(jī)i發(fā)送kbit數(shù)據(jù)包至節(jié)點(diǎn)機(jī)j過程中移動(dòng)通信網(wǎng)絡(luò)的總能量消耗計(jì)算公式如下:
(5)
通過Dijkstra算法優(yōu)化移動(dòng)通信網(wǎng)絡(luò),移動(dòng)通信網(wǎng)絡(luò)通信能耗指標(biāo)由E表示,E中包含全部節(jié)點(diǎn)機(jī)發(fā)送單位比特?cái)?shù)據(jù)至中心節(jié)點(diǎn)機(jī)過程中的移動(dòng)通信網(wǎng)絡(luò)總能耗.
1.2.2 移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)能效性測量優(yōu)化目標(biāo)函數(shù)
利用指數(shù)乘法加權(quán)處理上述兩個(gè)指標(biāo)指數(shù),獲取優(yōu)化目標(biāo)函數(shù),表達(dá)公式如下:
f(X)=Q-(1-a)×Ea
(6)
其中,兩個(gè)指標(biāo)的調(diào)節(jié)權(quán)值是a;節(jié)點(diǎn)機(jī)的布置情況是X;目標(biāo)函數(shù)中兩個(gè)指標(biāo)的比例取決于調(diào)節(jié)權(quán)值a.
1.2.3 遺傳禁忌搜索算法優(yōu)化節(jié)點(diǎn)機(jī)的布置
移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)檢測目標(biāo)與其余節(jié)點(diǎn)機(jī)間距離的變化直接影響目標(biāo)節(jié)點(diǎn)機(jī)能效性被檢測概率;利用遺傳禁忌搜索算法優(yōu)化移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)的布置,可提升節(jié)點(diǎn)機(jī)能效性檢測的準(zhǔn)確性[10].遺傳禁忌搜索算法的主要思想當(dāng)遺傳算法運(yùn)行時(shí)種群適應(yīng)度函數(shù)值大于一定代數(shù)且固定后,以記錄表的形式,獲取搜索過的解[11],禁忌搜索的破禁水平是種群適應(yīng)度函數(shù)值的平均值,將其和鄰域搜索結(jié)果實(shí)施對比分析,若搜索結(jié)果較好,那么需要破禁;反之,若不需要破禁,那么接受結(jié)果,否則,不接受.
對于移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)布置優(yōu)化問題,為禁忌搜索算法設(shè)計(jì)一個(gè)鄰域移動(dòng)機(jī)制,鄰域移動(dòng)機(jī)制如圖2所示.
圖2 鄰域移動(dòng)機(jī)制
令移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)初始位置是X,以迭代步長是k的正方形為鄰域,該鄰域內(nèi)共包含8個(gè)頂點(diǎn),計(jì)算初始點(diǎn)與這些頂點(diǎn)的適應(yīng)度函數(shù)值,選取適應(yīng)度函數(shù)值最低的點(diǎn)為新解[12],記錄于禁忌表內(nèi).實(shí)施禁忌搜索過程中,禁忌搜索算法不能共同優(yōu)化6個(gè)移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)的布置,僅能逐個(gè)禁忌搜索6個(gè)移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)的位置.需要結(jié)合遺傳算法互相彌補(bǔ)兩個(gè)算法的不足,提升移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)布置優(yōu)化的精準(zhǔn)性[13].
1.2.3.1 節(jié)點(diǎn)機(jī)優(yōu)化布置的數(shù)學(xué)模型
優(yōu)化移動(dòng)通信節(jié)點(diǎn)機(jī)的布置即組合優(yōu)化問題,數(shù)學(xué)模型表達(dá)公式如下:
(7)
其中,節(jié)點(diǎn)機(jī)布置數(shù)量是m;第i個(gè)節(jié)點(diǎn)不可觀是Ui;移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量是N.
1.2.3.2 染色體編碼
1.2.3.3 適應(yīng)度函數(shù)和約束條件處理
移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)優(yōu)化布置的約束條件為Va=0,代表確保整個(gè)移動(dòng)通信網(wǎng)絡(luò)可觀[14].在出現(xiàn)不符合約束條件的解情況下,通過啟發(fā)性修復(fù)進(jìn)行處理,具體步驟如下所示:
步驟1:在不可觀節(jié)點(diǎn)內(nèi)選取支路最多的節(jié)點(diǎn),在該節(jié)點(diǎn)處布置一個(gè)節(jié)點(diǎn)機(jī),說明與這個(gè)節(jié)點(diǎn)相應(yīng)的染色體基因位置是1;
步驟2:判斷染色體是否符合Va=0,若染色體不符合Va=0,那么重復(fù)步驟1,在全部染色體符合Va=0為止.
經(jīng)過不可行解的啟發(fā)性修復(fù)方法處理后,該解便被更改為符合約束條件的可行解范圍中.
利用不可行解的啟發(fā)性修復(fù)方法處理全部染色體后,全部染色體均符合約束條件[15],適應(yīng)度函數(shù)的計(jì)算公式如下:
(8)
其中,為確保適應(yīng)度函數(shù)值在0之內(nèi),Cmax表示一個(gè)較大的正數(shù),比例系數(shù)是Cl.
1.2.3.4 節(jié)點(diǎn)機(jī)布置優(yōu)化流程
a:設(shè)置初始種群規(guī)模、最大迭代次數(shù)、交叉概率與變異概率.
d:在種群內(nèi)選取m個(gè)個(gè)體當(dāng)成下一代的父本點(diǎn),各個(gè)個(gè)體被選取的概率計(jì)算公式如下:
(9)
將上一代中以概率為1的最優(yōu)個(gè)體存儲到下一代中.
e:利用交換概率交換求解種群內(nèi)的個(gè)體.
f:利用變異概率變異求解種群內(nèi)的個(gè)體,形成新一代種群.
h:分析可觀測性與不可行解的啟發(fā)性修復(fù).
j:若t
由于被測試移動(dòng)通信網(wǎng)絡(luò)在遠(yuǎn)端,同時(shí)具備共用的特性,因此一定要登錄移動(dòng)通信網(wǎng)絡(luò)遠(yuǎn)程的Linux服務(wù)器,實(shí)現(xiàn)測試環(huán)境的部署.在實(shí)際應(yīng)用過程中利用Citrix Receiver完成遠(yuǎn)程連接.進(jìn)行測試工作過程中,需要利用自己的終端電腦在Citrix Receiver內(nèi)輸入用戶名與密碼登錄服務(wù)器,控制被測試移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī),節(jié)點(diǎn)機(jī)布置完成后,在終端打開Eclipse,將Maven項(xiàng)目內(nèi)CATS與D-JCAT的Java包放進(jìn)Eclipse中,這樣就能夠遠(yuǎn)程控制布置在實(shí)驗(yàn)室的節(jié)點(diǎn)機(jī),在測試終端內(nèi)利用本文模型對被測移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)實(shí)施自動(dòng)化測試.
利用本文模型在布置好的實(shí)驗(yàn)環(huán)境內(nèi)實(shí)施移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)自動(dòng)化測試,節(jié)點(diǎn)機(jī)的自動(dòng)化測試包括2G,3G與4G的性能測試.利用節(jié)點(diǎn)機(jī)升級測試描繪本文模型的全部自動(dòng)化測試流程,用于驗(yàn)證節(jié)點(diǎn)機(jī)是否成功升級、升級過程中每個(gè)評價(jià)參數(shù)是否標(biāo)準(zhǔn)與節(jié)點(diǎn)機(jī)升級成功后移動(dòng)通信網(wǎng)絡(luò)能否恢復(fù)正常,為虛擬用戶提供通信服務(wù).
測試過程中是否出現(xiàn)告警信息的參數(shù)FM Alarms屬于測試本文模型獲取測試結(jié)果有效性的主要評價(jià)參數(shù).AP CPU使用量表示測試節(jié)點(diǎn)機(jī)AP CPU使用量,標(biāo)準(zhǔn)情況是穩(wěn)定后處于75左右;DP CPU使用量表示測試節(jié)點(diǎn)機(jī)DP CPU使用量,標(biāo)準(zhǔn)情況是穩(wěn)定后處于50左右;FM Alarms表示測試時(shí)出現(xiàn)的告警信息,按照實(shí)際應(yīng)用判斷告警信息是否合理.
以移動(dòng)通信網(wǎng)絡(luò)內(nèi)升級某個(gè)節(jié)點(diǎn)機(jī)為實(shí)驗(yàn)對象描繪本文模型的使用流程,移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)的硬件設(shè)備為MKX,利用日志隨時(shí)記錄AP CPU使用量與DP CPU使用量,在自動(dòng)化測試過程中如果出現(xiàn)不被允許的FM Alarms,那么便認(rèn)為該節(jié)點(diǎn)機(jī)存在問題.
利用本文模型對移動(dòng)通信網(wǎng)絡(luò)內(nèi)某個(gè)節(jié)點(diǎn)機(jī)升級實(shí)施自動(dòng)化測試,分別實(shí)施7種不同指定移動(dòng)通信用戶設(shè)備類型的自動(dòng)化測試,測試結(jié)果如表1所示.
表1 測試結(jié)果
分析表1可知,本文模型能夠自動(dòng)化測試不同接入類型的移動(dòng)通信網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)機(jī)升級過程,最終顯示結(jié)果均為通過.
為保證自動(dòng)化測試的精準(zhǔn)性,需要手動(dòng)查看自動(dòng)化測試后的測試結(jié)果評價(jià)參數(shù),評價(jià)參數(shù)包括AP CPU使用量、DP CPU使用量、FM alarms以及測試時(shí)間.本文模型測試結(jié)果穩(wěn)定后,AP CPU使用量處于75左右,DP CPU使用量處于50左右,自動(dòng)識別沒有出現(xiàn)不允許出現(xiàn)的alarms,測試時(shí)間在5 h左右;專家手動(dòng)測試結(jié)果穩(wěn)定后,AP CPU使用量處于75左右,DP CPU使用量處于50左右,人工對比結(jié)果未出現(xiàn)不允許出現(xiàn)的alarms,測試時(shí)間36 h左右.
本文模型自動(dòng)化測試移動(dòng)通信網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)機(jī)升級過程中評價(jià)參數(shù)與專家手動(dòng)測試結(jié)果完全一致,符合評價(jià)參數(shù)測試結(jié)果,但本文模型自動(dòng)化測試時(shí)間明顯低于專家手動(dòng)測試時(shí)間.實(shí)驗(yàn)證明:本文模型具有較優(yōu)的自動(dòng)化測試效果.
將文獻(xiàn)[5]的信號自動(dòng)化測試模型與文獻(xiàn)[6]的惡意節(jié)點(diǎn)檢測模型作為本文模型的對比模型,在該移動(dòng)通信網(wǎng)絡(luò)內(nèi)隨機(jī)選取20個(gè)節(jié)點(diǎn)機(jī),并對這20個(gè)節(jié)點(diǎn)機(jī)進(jìn)行升級,利用三種模型對這20個(gè)節(jié)點(diǎn)機(jī)升級過程實(shí)施自動(dòng)化測試,測試三種模型的自動(dòng)化測試效率,測試結(jié)果如圖3所示.
圖3 三種模型自動(dòng)化測試效率對比結(jié)果
分析圖3可知,隨著節(jié)點(diǎn)機(jī)數(shù)量的不斷增加,三種模型的自動(dòng)化測試時(shí)間均呈現(xiàn)不同程度的增長趨勢,本文模型的增長趨勢明顯低于其余兩種模型,當(dāng)節(jié)點(diǎn)機(jī)數(shù)量為12個(gè)時(shí),本文模型的自動(dòng)化測試時(shí)間不再發(fā)生改變,穩(wěn)定于590 min.實(shí)驗(yàn)證明:本文模型自動(dòng)化測試效率最高.
利用三種模型對該移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)升級過程中的能效性實(shí)施自動(dòng)化測試,以覆蓋率與通信能耗為測試指標(biāo),測試三種模型在不同迭代次數(shù)時(shí)的覆蓋率與通信能耗,測試結(jié)果如圖4所示.
圖4 對比測試結(jié)果
分析圖4(a)可知,隨著迭代次數(shù)的逐漸提升,三種模型的覆蓋率均呈現(xiàn)提升趨勢,在迭代次數(shù)為40次時(shí),文獻(xiàn)[5]模型結(jié)束迭代,迭代時(shí)間過早易于陷入局部最優(yōu);文獻(xiàn)[6]模型前期覆蓋率提升速度較慢,后期提升速度顯著提升,但迭代終止時(shí)間太晚,收斂性較差;本文模型的覆蓋率提升幅度明顯高于其余兩種模型且精度高.分析圖4(b)可知,迭代次數(shù)的不斷改變,本文模型的通信能耗始終低于其余兩種模型.綜上所述,本文模型自動(dòng)化測試移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)升級過程中的能效性高,其網(wǎng)絡(luò)覆蓋率最高、通信能耗最低.
移動(dòng)通信網(wǎng)絡(luò)服務(wù)的更新周期不斷縮短,傳統(tǒng)的節(jié)點(diǎn)機(jī)測試已無法滿足人們的需求,還會(huì)浪費(fèi)大量時(shí)間與金錢.為確保移動(dòng)通信軟件的質(zhì)量,縮短節(jié)點(diǎn)機(jī)測試時(shí)間,需要研究一個(gè)自動(dòng)化測試模型取代傳統(tǒng)的節(jié)點(diǎn)機(jī)測試方法.為此研究移動(dòng)通信網(wǎng)絡(luò)節(jié)點(diǎn)機(jī)自動(dòng)化測試性建模,縮短自動(dòng)化測試時(shí)間.本文模型在實(shí)際項(xiàng)目中具有較好的應(yīng)用效果,可提升移動(dòng)通信服務(wù)質(zhì)量.該模型雖已全部覆蓋2G,3G,4G網(wǎng)絡(luò)的測試用例,但日后運(yùn)營商還會(huì)提出各種各樣的需求,因此后續(xù)的主要工作是以該模型為基礎(chǔ),研發(fā)用于測試的服務(wù)器與配置文件的編寫等擴(kuò)展功能,提升模型的穩(wěn)定性.