徐嘯濤,梁方英,胡蕊莉
(1 浙江機電職業(yè)技術學院,杭州 310053;2 浙江恒生電子證券事業(yè)部,杭州 310053)
TD-LTE是一種相對于3G有更高服務質量,更高傳輸速率的第四代移動通信技術標準之一。其中吞吐量是eNode B(TD-LTE基站)傳輸性能的重要技術指標之一。由于吞吐量的測試需要考慮到多種配置參數(shù)的組合,既需要頻繁的回歸測試也需要大量穩(wěn)定性測試。因此當研發(fā)版本快速發(fā)布的時候,手工測試無法滿足其大量的測試需求。測試自動化是一種測試技術,它通過自動化測試工具或者其它手段可以充分的增加測試覆蓋范圍,完成大量的重復測試,體現(xiàn)軟件性能優(yōu)劣。不僅能夠大大減輕測試人員的工作量,還能夠幫助完成許多手工測試難以完成的任務。因此對于TD-LTE系統(tǒng)吞吐量測試自動化的研究具有很高的現(xiàn)實意義。
目前通用的Robot自動化測試框架能滿足TDLTE吞吐量自動化測試需求。基于某公司TD-LTE測試平臺搭建了吞吐量自動化測試環(huán)境,基本的硬件環(huán)境設計框圖如圖1所示。
(1)測試對象為eNode B,UE為仿真設備,它們和各自相應的control PC都連在同一個L2交換機上,這是為了盡量避免吞吐量的耗損。
(2)Power breaker是一個自動電源開關,通過關鍵詞語句的軟件調用,Robot工具能夠自動控制整個系統(tǒng)的電源開和關。
(3)可編程衰減器是一種能夠對信號衰減自動控制的設備,在此設計方案中,它連接在UE仿真器和RRU模塊之間,用來調節(jié)空口上信號的無線衰減特性。同Power breaker類似,Robot測試工具通過一個控制模塊對衰減器的應用服務器進行自動控制,進而能夠自動調節(jié)信號的無線衰減量。
(4)Hudson server是一臺自動化測試執(zhí)行控制終端。能夠控制整個自動化系統(tǒng)的執(zhí)行、log記錄、報告的輸入輸出等。
圖1 測試環(huán)境硬件連接框圖
在圖1所示的測試環(huán)境平臺上,通過Robot自動化測試工具,設計了一個簡單的TM3吞吐量測試用例(腳本)。如下所示,基本的用例(腳本)框架可以分成4個部分,包括用例頭模塊、用例變量、用例步驟和用例關鍵詞。
Documentation TM1 throughput Case
Test Setup Initial Connection With BTS ControlPC And TM500 Control PC
Test Teardown Disconnect All Hosts
……
${Throughput_Time} 300 sec
${TM500_LogList} L1THROUGHPUT
${UL_theory_rate1&7} 11250
……
${DL_theory_rate1&7_Txdiv&SISO} 32000
TM3 ThroughPut [Documentation]
Tx mode is close loop MIMO
TMx_throughput 20M_MIMO
${SCF_config1&7_MIMO}... MIMO 100
${TM500_LogList}…MIMO 18
${UL_theory_rate1&7}
${DL_theory_rate1&7_MIMO}
TMx_throughput [Documentation] steps to start throughput and check value
[Arguments] ${BTS_Configured} ${SCF_configuration}${TM500_LogList}
${configuration} ${DL_bandwith} ${UL_bandwith}
${UL_theory_rate} ${DL_theory_rate}
Restart_BTS_until_On air ${BTS_Configured} ${SCF_configuration}
Attach&Start_PPPOE ${TM500_LogList} ${configuration} ${DL_bandwith}
…… ${UL_bandwith}
Check_Throughput_Value ${UL_theory_rate} ${DL_theory_rate}
……
在Robot測試工具中調用上述測試用例,并且在圖1的測試環(huán)境上進行自動化測試,可以看到運行結果將輸出到一個專有的文件夾中,該文件夾中包括report、log等子文件,可以以HTML格式顯示。這些結果文件包含測試運行的具體信息,比如開始結束時間,用例總數(shù),用例通過/失敗率等。點擊其中某個用例的鏈接,如圖2所示,則可以看到一系列的詳細測試用例步驟信息。并且點擊其中任意的某個測試步驟的鏈接,也可以顯示相對應的log信息。
如圖2所示,該次測試結果為pass。在Robot測試平臺上,根據(jù)具體的需求,也可植入代碼從終端側的log信息中得出吞吐量的最大/最小/平均值。以TM3模式為例,可以從log信息中得出下行吞吐量均值為80.2 Mbit/s,上行吞吐量均值為15.04 Mbit/s。由此得出達到基站設計吞吐量需求。
圖2 吞吐量詳細測試結果文件
def get_TM500_max_min_average_value_and_contrast_base(tm500_log, columnName, base_value, filter_data=1000):
try:
file_handle = file('%s' % (tm500_log), 'r')
except:
raise Exception, "TM500 log '%s' open failed"% tm500_log
lines = file_handle.readlines()data_list = []
data_ave=0
base_value=float(base_value)
filter_data = float(filter_data)
try:
for line in lines:
items = line.split(',')
if columnName in items:
position = items.index(columnName)
if re.match('^d.*d+:d+:d+:d+,d+,d+',line):
# exclude value which is not integer or low than filter
if items[position] == '-' or items[position]== '- ' or int(items[position]) <= filter_data :
continue
else:
data_value =int(items[position])
data_list.append(data_value)
data_ave=round(float(sum(data_list))/float(len(data_list)), 3)
finally:
print data_list
file_handle.close()
print data_ave
if data_ave >= base_value :
return True
else :
return False
傳統(tǒng)的軟件測試是采用手工測試的方法,勞動強度高,并且很單調,浪費大量的資源,消耗了測試人員大量的時間和精力。測試自動化使得軟件測試進入了一個新的發(fā)展時期,是軟件測試未來發(fā)展的必然趨勢之一。但自動化測試目前并不能解決所有問題。例如自動化測試現(xiàn)階段沒有辦法實現(xiàn)網(wǎng)絡模式的選擇,而傳統(tǒng)的手工測試則可以彌補這一缺點。另外如果很多測試需要人為的在控制臺上干涉,這樣的測試也不適合用于自動化測試。因此在大力發(fā)展自動化測試的同時,在測試策略上如何更好的進行平衡選擇,把自動化測試和手工測試有效的結合使得最大效能的達到測試目的是一項值得研究的課題。
[1] 彭木根,孫卓,王文博. WiMAX與3G LTE網(wǎng)絡互聯(lián)與融合技術研究[J]. 電信科學,2007,(1).
[2] 李新. TD-LTE無線網(wǎng)絡覆蓋特性淺析[J]. 電信科學,2009,(1).
[3] 沈嘉,索士強等編著. 3GPP長期演進(LTE)技術原理與系統(tǒng)設計[M]. 北京:人民郵電出版社,2008.
[4] IEEE 802.16. Broadband Wireless Access Working Group. IEEE 802.16m Evaluation Methodology Document[S]. 2009,1.
[5] 謝顯中,雷維嘉. IMT-Adanced標準發(fā)展分析[J]. 信息與通信技術,2010,(12).