1、需求背景
第三代移動(dòng)通信系統(tǒng)(3G)的應(yīng)用已在世界范圍內(nèi)逐步展開,各大設(shè)備提供商正積極研發(fā)能提供更高性能的新一代3G系統(tǒng),比如HSPA。在中國,各運(yùn)營商也正積極試驗(yàn)相關(guān)3G系統(tǒng)以促使其更加成熟可靠,并滿足豐富的用戶需求。
由于3G系統(tǒng)的龐大復(fù)雜特性,對其系統(tǒng)測試要求涵蓋面非常廣,因此最終的系統(tǒng)測試工作量很大,比如WCDMA的UTRAN系統(tǒng)就包括UE、Node B、RNC等網(wǎng)元。UTRAN系統(tǒng)集成測試涉及到的因素很多(包括多種測試工具和多個(gè)測試接口),在各種測試條件下,3G信令流程非常復(fù)雜(如需要檢查的繁瑣消息內(nèi)容、需要特別處理的細(xì)節(jié)等),如完全由人工測試就需要有經(jīng)驗(yàn)豐富的測試工程師,工作量也很大,其中回歸測試用例在UTRAN系統(tǒng)集成測試中所占比例較大。如果能把復(fù)雜的回歸測試用例執(zhí)行自動(dòng)化,將極大地提高測試效率和測試質(zhì)量。
目前一些通用的軟件自動(dòng)化測試工具沒有考慮UTRAN的特殊性,不能對復(fù)雜的UTRAN系統(tǒng)進(jìn)行自動(dòng)化集成測試,針對UTRAN的自動(dòng)化測試工具需要定制開發(fā)。根據(jù)文獻(xiàn)檢索,目前國內(nèi)專用的軟件自動(dòng)化測試方案的針對范圍都比較寬泛,測試對象沒有涉及到UTRAN系統(tǒng),沒有把測試平臺(tái)和測試腳本、控制功能和分析功能很好地分離,若要應(yīng)用于復(fù)雜的UTRAN系統(tǒng)的自動(dòng)化測試,開發(fā)和維護(hù)成本較高。
當(dāng)前主要的幾個(gè)UTRAN系統(tǒng)測試工具銷售商(如Agilent等)已經(jīng)有computer-aided trace analysis等相關(guān)的需求并開始了一些準(zhǔn)備。但目前尚未有正在開發(fā)的或者是現(xiàn)成的這類自動(dòng)化測試工具,并且沒有3G設(shè)備廠商公開提出系統(tǒng)的UTRAN自動(dòng)化集成測試方案。國內(nèi)外也沒有對UTRAN系統(tǒng)進(jìn)行自動(dòng)化集成測試的成功先例。
為此,提出一種較通用的自動(dòng)化測試方案來達(dá)到以下目標(biāo):
a)增加對復(fù)雜的UTRAN系統(tǒng)進(jìn)行自動(dòng)化集成回歸測試的可行性。
b)簡化自動(dòng)化測試工具的開發(fā),有效降低開發(fā)和維護(hù)成本。
c)增加該自動(dòng)化測試方案的通用性。
2、系統(tǒng)結(jié)構(gòu)
2.1 被測系統(tǒng)和外部接口
UTRAN系統(tǒng)由UE、NodeB、RNC組成。整個(gè)系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
如果只測試UTRAN,CN(Corenetwork)可以是仿真的CN,如catpult公司的DCT2000仿真儀,由其仿真CN并提供驅(qū)動(dòng)編程接口!癈N驅(qū)動(dòng)適配”模塊提供一個(gè)聯(lián)系仿真CN與自動(dòng)化測試主控模塊之間的適配接口,便于控制模塊對CN的驅(qū)動(dòng)和控制,比如命令CN發(fā)起對手機(jī)的呼叫。
“測試UE”是能支持通用AT命令的測試手機(jī),比如Motorola或者Nokia的測試UE或者商用UE,由“UE驅(qū)動(dòng)服務(wù)器”驅(qū)動(dòng)!癠E驅(qū)動(dòng)服務(wù)器”是一個(gè)應(yīng)用服務(wù)器軟件,用來驅(qū)動(dòng)UE發(fā)起和停止呼叫,并可以指定呼叫的屬性,如CS/PS、業(yè)務(wù)類型、傳輸速率等!癠E驅(qū)動(dòng)適配”模塊提供“UE驅(qū)動(dòng)服務(wù)器”與自動(dòng)化測試主控模塊之間的適配接口,便于控制模塊對UE的驅(qū)動(dòng)和控制。
“信令分析儀”采用的是當(dāng)前通用的信令分析儀(如Agilent公司的3G信令分析儀),連接到被測U-TRAN系統(tǒng)的Iub/Iur/Iu接口上,收集這些接口上的信令消息,并通過分析儀廠商提供的應(yīng)用服務(wù)器接口對其進(jìn)行控制!靶帕罘治鰞x驅(qū)動(dòng)適配”模塊提供了“信令分析儀應(yīng)用服務(wù)器”與自動(dòng)化測試主控模塊之間的適配接口,便于控制模塊對信令分析儀的驅(qū)動(dòng)和控制。
“無線衰減器”物理連接到UE和NodeB之間,用來模擬Uu空口上的無線衰減特性,主要用來測試切換相關(guān)的流程,并通過一個(gè)應(yīng)用服務(wù)器提供對該無線衰減器的控制接口。“無線衰減器驅(qū)動(dòng)適配”模塊提供“無線衰減器”與自動(dòng)化測試主控模塊之間的適配接口,便于控制模塊對無線衰減器的驅(qū)動(dòng)和控制。
2.2 主控模塊和配置文件
主控模塊的主要功能是根據(jù)用戶輸入從全局上控制UTRAN集成測試的自動(dòng)運(yùn)行。按照用戶指定的測試列表,加載該列表里每個(gè)測試用例的流程控制腳本文件來執(zhí)行測試,然后調(diào)用Trace分析模塊分析Trace。在該測試列表里所有的測試用例都完成后,得出最終測試報(bào)告給用戶的測試管理系統(tǒng)。另外,主控模塊還根據(jù)環(huán)境配置文件負(fù)責(zé)整個(gè)測試平臺(tái)的初始化,如在測試開始前根據(jù)配置文件初始化配置各個(gè)測試工具,為測試的執(zhí)行作好準(zhǔn)備。
配置文件是主控模塊的輸入,包括測試環(huán)境配置文件和測試流程控制腳本以及測試列表。測試環(huán)境配置文件靈活定制了各種測試接口和平臺(tái)的參數(shù)配置。測試流程控制腳本指定了一個(gè)測試用例的完整測試流程,由簡單通用有自然語言風(fēng)格的控制腳本語言寫成,易于理解和維護(hù)。測試列表里指定了一系列要自動(dòng)測試的用例,由主控模塊一一執(zhí)行,但這些用例不需要考慮前后執(zhí)行相關(guān)關(guān)系。
2.3 通用Trace分析模塊和Pattern文件
通用Trace分析模塊的主要功能是針對每一個(gè)測試用例,將Iub/Iu/Iur接口上協(xié)議分析儀得到的協(xié)議消息Trace文件與該測試用例的Pattern文件進(jìn)行匹配,判斷該測試是否通過,并輸出一個(gè)當(dāng)前測試用例報(bào)告文件給主控模塊,最終由主控模塊對整個(gè)測試列表給出統(tǒng)計(jì)結(jié)果。
Pattern文件的生成需要事先分析測試用例的協(xié)議消息流程找出其規(guī)律和關(guān)鍵的檢查點(diǎn)(check-point),也就是理論上必需的協(xié)議消息序列和內(nèi)容,按指定格式存儲(chǔ)起來。Pattern文件是模塊化、通用化的結(jié)構(gòu),易于生成和維護(hù),只要協(xié)議流程沒有較大變化,就不必頻繁修改。
2.4 用戶接口模塊
用戶接口模塊用來接受用戶的動(dòng)態(tài)輸入,如測試命令和參數(shù)設(shè)置,并返回處理結(jié)果給用戶。
3、典型的運(yùn)行流程
目前該自動(dòng)化測試方案已經(jīng)成功應(yīng)用于EVOLIUM的UTRAN產(chǎn)品的R4和R5階段的系統(tǒng)集成回歸測試。主要流程如圖2所示。
第1步:用戶通過命令行或GUI界面啟動(dòng)某個(gè)測試列表的自動(dòng)化測試。
第2步:主控模塊根據(jù)用戶輸入的測試列表,加載列表中測試用例的控制腳本并解釋執(zhí)行其中的測試命令,驅(qū)動(dòng)被測UTRAN系統(tǒng)和測試工具,使U-TRAN完成該測試用例的通信呼叫流程,獲得信令分析儀抓取的協(xié)議Trace文件。
第3步:在通信呼叫流程結(jié)束后,主控模塊調(diào)用Trace分析模塊分析獲取到的協(xié)議Trace。
第4步:Trace分析模塊將Trace文件與該測試用例的Pattern文件里的理論檢查點(diǎn)相匹配,得出當(dāng)前測試結(jié)果,反饋給主控模塊。
第5步:主控模塊針對測試列表里的其他的每一個(gè)測試用例,重復(fù)第2步到第4步,直到完成該測試列表里所有的測試用例。
第6步:主控模塊將最終測試結(jié)果報(bào)告發(fā)送到測量管理系統(tǒng)。
4、方案特點(diǎn)
4.1 增加了自動(dòng)化測試的可行性
由于UTRAN系統(tǒng)測試的復(fù)雜性,如果想讓通用的自動(dòng)化測試平臺(tái)本身來負(fù)責(zé)處理所有的測試用例,難度很大。于是將每個(gè)測試用例的測試控制腳本和Pattern文件與自動(dòng)化測試工具相分離來獨(dú)立實(shí)現(xiàn),有效增加了自動(dòng)化測試的可行性。
通過特定的控制腳本和Pattern文件來描述每一個(gè)測試用例,每個(gè)測試用例所需的控制腳本和Pattern文件獨(dú)立,自動(dòng)化測試工具只是調(diào)用這些文件,而且執(zhí)行時(shí)不互相依賴,這樣就提高了UTRAN自動(dòng)化集成測試的可行性。
針對每一個(gè)測試流程對測試驅(qū)動(dòng)的要求,用特定的測試流程控制腳本來驅(qū)動(dòng)測試工具。運(yùn)行UTRAN測試流程,完成測試流程的執(zhí)行?刂颇_本的編寫需要有效利用各種測試工具適配器提供給主控模塊的通用接口原語,并結(jié)合人工測試中的經(jīng)驗(yàn)。測試工具適配器則直接控制各種測試工具,并將已定義的通用接口原語轉(zhuǎn)換為各種特定的測試工具的驅(qū)動(dòng)原語。
針對每一個(gè)測試流程的所有檢查項(xiàng)目,包括消息序列、消息名、消息IE的內(nèi)容等,定義一個(gè)Pattern文件,在測試流程運(yùn)行完成后,由通用的Trace分析模塊根據(jù)該P(yáng)attern文件與Trace文件進(jìn)行模式匹配,驗(yàn)證測試流程是否正確運(yùn)行,并輸出匹配結(jié)果。
4.2 合理分開控制和分析功能。有效降低開發(fā)成本
通過簡化自動(dòng)化測試平臺(tái)的開發(fā),合理地分開控制功能和分析功能,有效降低開發(fā)成本。
自動(dòng)化測試工具本身只作為測試實(shí)施平臺(tái),負(fù)責(zé)加載控制腳本,并在控制腳本執(zhí)行完成后,再啟動(dòng)Trace分析模塊的運(yùn)行。針對每個(gè)測試用例,其主要的邏輯功能包含在流程控制腳本和Pattern文件里,自動(dòng)化測試工具只負(fù)責(zé)測試調(diào)度管理和Trace分析,且不依賴特定用例,開發(fā)簡潔,實(shí)現(xiàn)方便。另外,控制功能和Trace分析功能的合理分工,也有效降低了流程控制腳本、Pattern文件和Trace分析模塊的開發(fā)難度,增加了靈活性,也降低了對測試工具的要求。
4.3 通用性好,有較普遍的商業(yè)價(jià)值
控制腳本驅(qū)動(dòng)的UTRAN測試流程符合3G標(biāo)準(zhǔn)規(guī)范,并且控制腳本的編寫使用了簡單易用的、有自然語言風(fēng)格的通用接口原語(從特定的測試工具接口抽象出來),具有良好的通用性。
Pattern文件的定義來自UTRAN測試流程,符合3G標(biāo)準(zhǔn)規(guī)范,通用性好,易維護(hù)。
Trace分析模塊本身就是一個(gè)通用模塊,可根據(jù)不同的Pattern文件檢查不同測試流程的Trace文件。
所以該自動(dòng)化測試工具有較好的通用性?蓱(yīng)用于其他3G廠商的UTRAN集成回歸測試,也可被移動(dòng)運(yùn)營商采用,其體系架構(gòu)也可方便地移植到其他開放的通信系統(tǒng)(如TD-SCDMA、CDMA2000)的系統(tǒng)測試中。