摘要:針對(duì)5GNR物理層配置場(chǎng)景多、信道參數(shù)靈活可配置以及協(xié)議持續(xù)演進(jìn)的特點(diǎn),為了提高物理層測(cè)試效率,設(shè)計(jì)開發(fā)了一套5GNR物理層自動(dòng)化測(cè)試平臺(tái)。本文首先介紹了自動(dòng)化平臺(tái)的軟件架構(gòu)、各模塊功能以及不同測(cè)試階段的硬件拓?fù)溥B接圖,其次詳述了業(yè)務(wù)實(shí)現(xiàn)邏輯、控制接口以及測(cè)試用例執(zhí)行的實(shí)現(xiàn)細(xì)節(jié),最后通過(guò)測(cè)試實(shí)驗(yàn)結(jié)果對(duì)比和測(cè)試時(shí)間對(duì)比,驗(yàn)證了該平臺(tái)在5GNR物理層測(cè)試的可靠性和有效性。實(shí)驗(yàn)結(jié)果表明,該平臺(tái)能有效發(fā)現(xiàn)物理層問(wèn)題,提高了測(cè)試效率。
關(guān)鍵詞:5GNR;物理層;測(cè)試;自動(dòng)化
一、 研究現(xiàn)狀
第五代移動(dòng)通信網(wǎng)絡(luò)(The Fifth Generation Mobile Communication Network, 5G)[1-2]是具有高速率、海量連接和低時(shí)延高可靠特點(diǎn)的新一代移動(dòng)通信技術(shù),5G通信設(shè)施是實(shí)現(xiàn)人、機(jī)、物互聯(lián)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。在5G移動(dòng)通信系統(tǒng)中,物理層[3-7]從學(xué)術(shù)界的理論、技術(shù)吸取養(yǎng)料,實(shí)現(xiàn)最核心的技術(shù)創(chuàng)新,而接入網(wǎng)高層則通過(guò)巧妙的信令、流程設(shè)計(jì)體現(xiàn)通信系統(tǒng)的邏輯創(chuàng)新。
隨著5G網(wǎng)絡(luò)的快速部署,移動(dòng)通信技術(shù)產(chǎn)品的開發(fā)迭代也面臨著越來(lái)越復(fù)雜的技術(shù)挑戰(zhàn)。在無(wú)線通信系統(tǒng)開發(fā)過(guò)程中,針對(duì)關(guān)鍵技術(shù)的測(cè)試和驗(yàn)證是十分必要的,而物理層作為基礎(chǔ)層,承載了大量的數(shù)據(jù)傳輸和通信功能,也是每代移動(dòng)通信技術(shù)中最受大家關(guān)注、參與人數(shù)最多、知識(shí)產(chǎn)權(quán)最為集中的協(xié)議族[8],因此對(duì)5GNR物理層各種功能、功能組合、性能和互操作性測(cè)試是非常有必要的。針對(duì)5G通信終端設(shè)備的測(cè)試工作,目前看到比較多的是為協(xié)議棧信令設(shè)計(jì)的各種自動(dòng)化測(cè)試平臺(tái),而物理層作為各大廠家獨(dú)有的核心處理模塊,少有看到公開的測(cè)試方法論和自動(dòng)化測(cè)試平臺(tái)。本文借鑒了其他自動(dòng)化測(cè)試平臺(tái)的實(shí)現(xiàn)方法[9-10],并結(jié)合物理層自身實(shí)際測(cè)試需求,設(shè)計(jì)與實(shí)現(xiàn)了基于5GNR綜合測(cè)試儀的自動(dòng)化測(cè)試平臺(tái),通過(guò)70448b0d4c6a786066d2a85813065e88a527f7df605595af7da633ca1ee91241導(dǎo)入配置接口、業(yè)務(wù)配置接口、交叉使用上述接口等方式配置測(cè)試場(chǎng)景,并結(jié)合不同的儀表組合,用于完成5GNR物理層在各開發(fā)階段的測(cè)試工作,以實(shí)現(xiàn)在開發(fā)過(guò)程中及時(shí)發(fā)現(xiàn)問(wèn)題、解決問(wèn)題,從而降低開發(fā)時(shí)間和成本,確保5G系統(tǒng)的質(zhì)量滿足客戶的要求。
二、5GNR物理層自動(dòng)化測(cè)試平臺(tái)架構(gòu)設(shè)計(jì)
(一)自動(dòng)化測(cè)試平臺(tái)軟件架構(gòu)
自動(dòng)化測(cè)試平臺(tái)軟件運(yùn)行在控制PC上,是自動(dòng)化測(cè)試業(yè)務(wù)流程的控制中心。架構(gòu)如圖1所示,其中:
主程序MainProcess.py:功能包括版本升級(jí)、管理測(cè)試用例順序執(zhí)行、測(cè)試結(jié)果匯總統(tǒng)計(jì)、log管理、時(shí)間統(tǒng)計(jì)等功能。
cfg.ini:系統(tǒng)配置參數(shù),如儀表連接參數(shù)、自動(dòng)化/手動(dòng)執(zhí)行標(biāo)識(shí)、終端連接參數(shù)等。
CaseList.txt: 測(cè)試用例列表。
DeviceControl: 儀表、工具控制接口,其中包括公共函數(shù)接口、ITE(Integrity Test Equipment,綜合測(cè)試儀表)控制接口、DUT(Device Under Test,被測(cè)設(shè)備)控制接口、工具控制接口等。
Log:Default文件夾用來(lái)存放單用例執(zhí)行模式下腳本log文件。
CaseList_time:該文件夾用來(lái)存放批量用例執(zhí)行模式時(shí)腳本log文件。
CaseList_time.txt:表示批量執(zhí)行模式下,所有用例執(zhí)行結(jié)果、log等信息。
TestCase: 測(cè)試用例腳本集合,以信道或功能為維度劃分的測(cè)試用例集合。
*.py : 測(cè)試腳本。單擊可以直接運(yùn)行單用例執(zhí)行模式,也可以運(yùn)行MainProcess程序批量執(zhí)行測(cè)試用例
(二)自動(dòng)化測(cè)試平臺(tái)拓?fù)溥B接圖
在DUT系統(tǒng)集成測(cè)試階段,自動(dòng)化測(cè)試平臺(tái)用于帶協(xié)議棧、RF的5GNR物理層的測(cè)試。拓?fù)溥B接圖如圖2所示。
物理層功能開發(fā)階段,BBIQ自動(dòng)化測(cè)試平臺(tái)用于測(cè)試數(shù)據(jù)處理到IQ的物理層。拓?fù)溥B接圖如圖3所示。
自動(dòng)化測(cè)試平臺(tái)軟件運(yùn)行在控制PC上,通過(guò)Ethernet網(wǎng)絡(luò)接口訪問(wèn)和控制IDE和DUT以及相關(guān)工具; DUT通過(guò)Ethernet網(wǎng)絡(luò)從版本服務(wù)器獲取版本并升級(jí)到需要的版本。
(三)自動(dòng)化測(cè)試平臺(tái)業(yè)務(wù)邏輯
業(yè)務(wù)邏輯分為兩種執(zhí)行模式:?jiǎn)斡美龍?zhí)行模式和批量執(zhí)行模式。
1.單用例執(zhí)行模式
單用例執(zhí)行模式,也稱為自動(dòng)配置手動(dòng)執(zhí)行模式,即自動(dòng)化配置單個(gè)用例,手動(dòng)控制測(cè)試流程。具體測(cè)試步驟如下:
第一步:手動(dòng)控制DUT版本升降級(jí);
第二步:雙擊腳本執(zhí)行測(cè)試用例,用于配置測(cè)試場(chǎng)景;
第三步:手動(dòng)打開小區(qū),DUT開機(jī)注冊(cè),執(zhí)行測(cè)試用例;
第四步:DUT下電,設(shè)置小區(qū)OFF,記錄結(jié)果。
其中:測(cè)試用例腳本運(yùn)行Log自動(dòng)存放到Log->Default目錄下,以腳本名+執(zhí)行時(shí)間命名,同時(shí)執(zhí)行過(guò)程在窗口實(shí)時(shí)打印。手動(dòng)打開log工具,用于獲取DUT log,自定義保存文件名。
2. 批量執(zhí)行模式
批量執(zhí)行模式,一次執(zhí)行多個(gè)測(cè)試用例,無(wú)需人工參與,由程序自動(dòng)運(yùn)行。啟動(dòng)過(guò)程如下:
在MainProcess.py所在目錄,用命令行調(diào)用MainProcess.py CaseList.txt Version_01_01.zip執(zhí)行自動(dòng)化控制步驟如下所示:
(1)主程序控制DUT升級(jí)到指定的版本。
(2)主程序根據(jù)CaseList中的用例列表逐條執(zhí)行測(cè)試用例。
(3)主程序獲取用例執(zhí)行結(jié)果、Log等信息。
(4)所有用例執(zhí)行完成后,主程序給出用例執(zhí)行統(tǒng)計(jì)結(jié)果、執(zhí)行時(shí)間等信息。
其中:主程序在Log文件夾下創(chuàng)建CaseList+時(shí)間的文件夾,用于存放測(cè)試用例腳本運(yùn)行Log。主程序在該文件夾下創(chuàng)建以CaseList+時(shí)間命名的txt文本,用于存放所有測(cè)試用例的執(zhí)行結(jié)果。每個(gè)測(cè)試用例腳本控制Log工具,生成腳本名命名的DUT Log。該用例腳本還控制儀表,生成腳本名命名的儀表Log。儀表Log和DUT Log存放于指定路徑的CaseList+時(shí)間命名的文件夾下。
三、5GNR物理層自動(dòng)化測(cè)試平臺(tái)架構(gòu)實(shí)現(xiàn)
(一) 公共業(yè)務(wù)控制接口
公共業(yè)務(wù)接口提供了其他控制接口的公共接口及Log記錄等相關(guān)接口。這些接口包括獲取初始化參數(shù)接口、腳本結(jié)果保存接口、各模塊Log保存接口等。
(二)IDE控制接口
IDE控制接口用來(lái)檢測(cè)儀表狀態(tài)和配置業(yè)務(wù)場(chǎng)景,配置接口主要包括場(chǎng)景配置文件導(dǎo)入、小區(qū)級(jí)參數(shù)配置、物理層信道參數(shù)配置、業(yè)務(wù)調(diào)度參數(shù)配置、功控配置、CSI參數(shù)配置、Measure參數(shù)配置、上下行統(tǒng)計(jì)結(jié)果查詢、CSI上報(bào)查詢等接口。儀表狀態(tài)控制接口包括儀表狀態(tài)檢查、儀表狀態(tài)恢復(fù)(Reset/Reboot),儀表異常檢測(cè)及恢復(fù)等。
(三)DUT控制接口
DUT控制接口用來(lái)控制DUT的行為。該接口功能包括版本升降級(jí),使能/去使能飛行模式,DUT上下電等。
(四)工具控制接口
工具控制接口用來(lái)控制工具,實(shí)現(xiàn)某種目的。如啟動(dòng)DUT Log工具,用來(lái)獲取DUT運(yùn)行Log,最終以指定文件名保存到指定位置。
(五)腳本控制流程
自動(dòng)化腳本基于以上控制接口控制儀表、DUT和相關(guān)工具執(zhí)行測(cè)試用例,具體過(guò)程如下偽代碼所示:
Step 1:Ret = IDE環(huán)境狀態(tài)檢查
Step 2:如果Ret is OK
2.1:執(zhí)行環(huán)境Preset
否則:
2.1:執(zhí)行環(huán)境狀態(tài)恢復(fù)
2.2:執(zhí)行Step 1
Step 3:場(chǎng)景配置文件導(dǎo)入,有默認(rèn)配置,可跳過(guò)
Step 4:小區(qū)級(jí)參數(shù)配置,可跳過(guò)
Step 5:物理信道參數(shù)配置,可跳過(guò)
Step 6:業(yè)務(wù)調(diào)度參數(shù)配置,可跳過(guò)
Step 7:配置小區(qū)上線ON
Step 8:DUT上電開機(jī)
Step 9:打開Log工具,獲取DUT Log
Step 10:IDE狀態(tài)檢查
Step 11:獲取測(cè)試用例的統(tǒng)計(jì)結(jié)果
Step 12:DUT下電關(guān)機(jī)
Step 13:配置小區(qū)下線OFF
Step 14:結(jié)果判定(包含異常結(jié)果判定、閾值結(jié)果判定)
Step 15:信息登記、結(jié)果保存到指定txt
Step 16:儀表Log和DUT Log移動(dòng)到指定位置
(六) 批量腳本執(zhí)行控制流程
MainProcess.py 從CaseList.txt文件中獲取測(cè)試用例列表后,根據(jù)如下步驟控制測(cè)試腳本按順序執(zhí)行:
step1:從測(cè)試列表中獲取第一個(gè)測(cè)試用例
step2:根據(jù)測(cè)試用例名,獲取功能模塊, 模式信息
step3:根據(jù)功能模塊信息,拼接腳本路徑信息, 根據(jù)模式信息決定腳本執(zhí)行的測(cè)試環(huán)境
step4:檢查環(huán)境是否和模式信息匹配, 匹配則繼續(xù),不匹配則切換模式
step5:主程序啟動(dòng)被測(cè)腳本
step6:執(zhí)行該用例的測(cè)試過(guò)程
step7:用例測(cè)試完成后,主程序讀取CaseList_time.txt文件,獲取執(zhí)行結(jié)果,Log等信息。
step8:回到Step1,獲取下一個(gè)測(cè)試用例
四、實(shí)驗(yàn)與測(cè)試分析
(一)測(cè)試環(huán)境設(shè)置
硬件環(huán)境:綜合測(cè)試儀表使用Keysight UXM E7515B[11]、Keysight 5G BBIQ Test Set、控制PC采用Dell OptiPlex 7080、內(nèi)網(wǎng)共享版本服務(wù)器、公司DUT。
測(cè)試用例集合:Regression測(cè)試用例集,可以選擇2000個(gè)用例。其中Pass用例1950個(gè),失敗用例50個(gè)。失敗用例隨機(jī)分布在測(cè)試用例中。
測(cè)試條件設(shè)置:同一版本,同一DUT,相同環(huán)境,在同一測(cè)試平臺(tái)上,執(zhí)行自動(dòng)化測(cè)試6次。
自動(dòng)化失敗用例:失敗用例執(zhí)行2次。
(二)測(cè)試結(jié)果對(duì)比
6次自動(dòng)化測(cè)試結(jié)果和手動(dòng)測(cè)試結(jié)果對(duì)比圖,如圖4所示:
其中:
實(shí)測(cè)問(wèn)題:表示自動(dòng)化測(cè)試中測(cè)試失敗用例的個(gè)數(shù)
儀表問(wèn)題:表示自動(dòng)化測(cè)試中因?yàn)閮x表問(wèn)題導(dǎo)致測(cè)試用例失敗的個(gè)數(shù)
DUT問(wèn)題:表示自動(dòng)化測(cè)試中因?yàn)镈UT功能和性能等問(wèn)題導(dǎo)致的測(cè)試用例失敗的數(shù)量
已知問(wèn)題: 手動(dòng)測(cè)試中確認(rèn)存在問(wèn)題的用例個(gè)數(shù)
通過(guò)測(cè)試結(jié)果對(duì)比圖以及失敗問(wèn)題定位分析,可以得出以下結(jié)論:
1.自動(dòng)化測(cè)試平臺(tái)可以發(fā)現(xiàn)已知的50個(gè)失敗用例,和手工測(cè)試有相同的測(cè)試結(jié)果,驗(yàn)證了自動(dòng)化測(cè)試和手工測(cè)試的一致性和可靠性。
2.自動(dòng)化測(cè)試能夠發(fā)現(xiàn)DUT的性能問(wèn)題,以及在連續(xù)執(zhí)行測(cè)試下的部分功能問(wèn)題,表明自動(dòng)化測(cè)試能夠發(fā)現(xiàn)更多DUT隱藏問(wèn)題。
3.自動(dòng)化測(cè)試可以發(fā)現(xiàn)儀表穩(wěn)定性問(wèn)題。
(三)測(cè)試時(shí)間對(duì)比
人工測(cè)試?yán)碚摃r(shí)間計(jì)算:
單個(gè)測(cè)試用例平均執(zhí)行時(shí)間:6分鐘
每人每天的核心工作時(shí)間:6個(gè)小時(shí)
則2000個(gè)測(cè)試用例花費(fèi)時(shí)間為:
2000/(6×60/6) = 33.33 天/人
自動(dòng)化測(cè)試?yán)碚搱?zhí)行時(shí)間計(jì)算:
單個(gè)測(cè)試用例平均執(zhí)行時(shí)間:6分鐘
工作時(shí)間:22小時(shí),排除升降級(jí)等無(wú)效時(shí)間
則2000個(gè)測(cè)試用例的花費(fèi)時(shí)間為:
2000/(22×60/6) = 9.09天/每臺(tái)
自動(dòng)化測(cè)試實(shí)際執(zhí)行時(shí)間:
自動(dòng)化測(cè)試由于儀表穩(wěn)定性問(wèn)題和失敗用例重復(fù)測(cè)試問(wèn)題,6次自動(dòng)化測(cè)試的平均測(cè)試時(shí)間為:
(11.5+11.7+10.2+11+13.4+11.2)/6= 11.5天
自動(dòng)化測(cè)試集群:
實(shí)際部署的自動(dòng)化測(cè)試平臺(tái)包含多臺(tái)測(cè)試儀表,能夠?qū)崿F(xiàn)測(cè)試單自動(dòng)分單,在不同的測(cè)試平臺(tái)上并行執(zhí)行不同用例,提高自動(dòng)化測(cè)試效率。時(shí)間對(duì)比總結(jié)如表1所示。
通過(guò)以上測(cè)試時(shí)間對(duì)比可知:自動(dòng)化測(cè)試是人工測(cè)試效率的2.9倍??紤]到成本效益,通過(guò)自動(dòng)化測(cè)試集群能快速提升測(cè)試效率,保證每周內(nèi)至少回歸一個(gè)測(cè)試版本。
五、結(jié)束語(yǔ)
本文介紹了一套基于5GNR綜測(cè)儀的物理層自動(dòng)化測(cè)試平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)。該平臺(tái)在物理層開發(fā)的各個(gè)階段,采用不同的儀表組合方式,進(jìn)行多種物理層場(chǎng)景配置和信道參數(shù)的靈活配置,并實(shí)現(xiàn)了物理層協(xié)議的自動(dòng)化測(cè)試和驗(yàn)證。
通過(guò)手動(dòng)測(cè)試和自動(dòng)化測(cè)試的結(jié)果對(duì)比,驗(yàn)證了該平臺(tái)在5GNR物理層測(cè)試的一致性和可靠性,通過(guò)分析人工執(zhí)行時(shí)間和自動(dòng)化實(shí)際執(zhí)行時(shí)間對(duì)比,發(fā)現(xiàn)自動(dòng)化測(cè)試和自動(dòng)化集群測(cè)試能有效提高測(cè)試效率。通過(guò)測(cè)試結(jié)果對(duì)比,驗(yàn)證了該平臺(tái)在5GNR物理層測(cè)試的可行性和有效性。該平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)為5GNR物理層測(cè)試提供了一種高效可靠的測(cè)試方法,具有廣泛的應(yīng)用前景。
該自動(dòng)化測(cè)試平臺(tái)基于python實(shí)現(xiàn),架構(gòu)和軟件易于移植,可以推廣到其他基于儀表環(huán)境測(cè)試的測(cè)試場(chǎng)景。同時(shí)以該自動(dòng)化平臺(tái)為基礎(chǔ),可以實(shí)現(xiàn)不同自動(dòng)化平臺(tái)之間自動(dòng)化測(cè)試系統(tǒng),推動(dòng)后續(xù)實(shí)現(xiàn)多部門測(cè)試、集群測(cè)試。
作者單位:李偉 張迎 賽爾微半導(dǎo)體設(shè)計(jì)(上海)有限公司研發(fā)部
參考文獻(xiàn)
[1]高秋彬,杜瀅,孫韶輝,等. 第5代移動(dòng)通信系統(tǒng)的設(shè)計(jì)與標(biāo)準(zhǔn)化進(jìn)展[J].北京郵電大學(xué)學(xué)報(bào), 2018,41(5):26-43.
[2]IMT- 2020(5G)Program.White paper on 5G concept[R].2015.
[3]3GPP. NR;Physical Layer: General Description,3GPP TS38.201[S].2018.
[4]3GPP. NR;Physcial Channels and Modulation, 3GPP TS38.211[S].202a3949c9804adf9592f723b83d5c477fd2.
[5]3GPP. NR;Multiplexing and Channel Coding,3GPP TS38.212[S].2022.
[6]3GPP. NR;Physical Layer Procedures for Control,3GPP TS38.213[S].2022.
[7]3GPP. NR;Physical Layer Procedures for Data, 3GPP TS38.214[S].2022.
[8]張晨璐.從局部到整體:5G系統(tǒng)觀[M].中國(guó)工信出版集團(tuán),人民郵電出版社,2020:83-95.
[9]段浴,曹龍漢,張治中,等. 5G終端模擬器中信令分析技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用, 2020,56 (15):106-112.
[10]周華,劉壯,韓瑋,等. 面向5G的分布式并行無(wú)線通信仿真平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用, 2016,52(22):15-21.
[11]Keysight(是德科技). Keysight UXM 5G測(cè)試平臺(tái)[Online]:https://www.keysight.com