麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

移動終端的測試方法、移動終端模擬器、測試設備及系統的制作方法

文檔序號:7978874閱讀:310來源:國知局
專利名稱:移動終端的測試方法、移動終端模擬器、測試設備及系統的制作方法
技術領域
本發明涉及通信技術領域,尤其涉及一種移動終端的測試方法、移動終端模擬器、 測試設備及系統。
背景技術
隨著手機終端技術的發展,手機終端產品越來越豐富,功能越來越復雜,推出的頻率越來越快,導致研發周期縮短。在手機研發過程中,需要通過對手機進行各方面的測試來保證手機的質量和性能,而對手機的測試而言,手機協議棧的測試尤為重要。手機協議棧是手機最主要的組成部分之一,覆蓋了手機最復雜的通信協議邏輯。 隨著手機產品的不斷升級,手機的形態越來越多,手機協議棧的復雜度也越來越高。為了保證手機協議棧的穩定性,需要模擬各種復雜的網絡環境來測試手機協議棧,以確定手機協議棧始終能和網絡保持正常的通信,并始終按照預期的結果處理網絡各種復雜的配置。以第三代移動通信系統為例,第三代移動通信系統與以往的移動通信系統相比, 最明顯的特征就是它能提供豐富的多媒體業務,這些業務既有高實時性、低吞吐量的語音業務,又有高吞吐量、低實時性的數據業務,還有對實時性和吞吐量要求都很高的視頻點播業務。而這些靈活、多樣的功能是由復雜的3GPP和3GPP2協議棧實現的。可以說,協議棧是整個系統的重要組成部分。協議棧需要始終兼顧通信的高效和穩定,并適應各種不同的網絡環境,需要經過嚴格規范的測試。以TD-SCDMA系統為例,協議棧可以分為物理層(Li)、數據鏈路層(U)和網絡層 (L3),物理層是協議棧的最底層,物理層與L2的MAC子層及L3的RRC子層相連,向MAC子層提供不同的傳輸信道。協議棧在縱向上還可以分為接入層(AS,Access Stratum)、非接入層(NAS, Non-Access Stratum)和物理層(PH) ;AS具體由無線資源控制(RRC, Radio Resource Control)模塊、分組數據匯聚協議(PDCP,Packet Data Convergence Protocol) 模塊、媒介接入控制(MAC,Medium Access Control)模塊、無線鏈路控制(RLC,Radio Link Control)模塊組成,NAS由連接管理(CM,Connection Management)模塊、會話管理(SM, Session Management)模塊、移動性管理(MM,Mobility Management)模塊、GPRS 移動性管理(GMM,GPRS Mobility Management)模塊、無線接入承載管理(RABM,Radio Access Bearer Management) I^^^ILi^ ο就目前而言,手機協議棧的測試方法主要包括以下四種第一種對協議棧中單個具有獨立功能的模塊進行測試,如對AS的RRC模塊, RLC模塊等,NAS的CM模塊,MM模塊,GMM模塊等進行測試,以驗證單個模塊是否能夠實現預期的功能,與外部接口進行正確的通信。然而,采用該測試方法,只能驗證測試單個模塊的功能及其接口,且對于單個模塊的測試而言,均需要編寫大量腳本,浪費時間,測試效率低。第二種組件的集成測試,針對功能較復雜或較獨立的模塊進行,如對MM/GMM模塊、L2模塊等。或者將協議棧幾個功能接近的模塊組合起來進行集成測試,組件間通過打樁和消息驅動,集合狀態機來進行。如接入層測試MAC+RLC = L2、L2+RRC = AS,即將RLC、MAC和RRC模塊組合起來,進行接入層測試。非接入層測試CM+MM = NAS,即將CM和MM模塊結合起來,進行非接入層測試。該測試方法,仍然屬于模塊級測試,其并沒有將協議棧當成一個整體來進行測試,不能發現系統級的問題,測試效果有限。第三種使用測試儀器對要測試的協議棧進行測試,由測試儀器提供基站的仿真信號,來對待測協議棧進行相關功能的測試,如選網,小區切換,小區重選,打電話等基本業務。然而,采用測試儀器對協議棧進行測試,由于測試儀器通常只能模擬兩個小區,不能模擬出實際網絡中多個小區等復雜場景,因此,對協議棧的測試不夠全面,測試覆蓋率難以得到保證。且,購買測試儀器及對測試儀器進行升級和維護也需要一定的費用(往往高達幾十萬美金),導致測試成本高。第四種進行外場真實網絡環境下的系統測試。如將手機帶到不同的城市中對其協議棧進行相關功能的測試。采用該法對協議棧進行測試,需要投入大量的人力、資源消耗大、導致測試成本高,由于采用實網進行測試,網絡環境不可控,只有依賴網絡環境才能暴露出協議棧的問題,且難以進行版本回歸測試。有關協議棧的測試可以參見公開號為CN101541098A,發明名稱為移動通信中的協議棧仿真方法的中國專利申請。其將手機終端的協議棧分為上層業務應用協議棧和底層網元承載協議棧,分別以組件方式進行細分和封裝,根據測試需要自由組合和疊加。但是對于上述問題,其并未涉及。

發明內容
本發明解決的問題是實現對協議棧進行全面測試,且測試效率高、成本低。為解決上述問題,本發明提供一種移動終端模擬器,包括移動終端的協議棧,還包括與所述協議棧相匹配的模擬物理層、模擬RLC模塊和模擬MAC模塊。為解決上述問題,本發明還提供一種移動終端的測試方法,包括基于所需的網絡環境,對上述的移動終端模擬器的模擬物理層進行配置;運行至少一個測試腳本,將生成的測試命令發送至所述移動終端模擬器,所述測試腳本對應于所述移動終端的協議棧的功能點;監控所述移動終端模擬器執行所述測試命令的過程,其中,所述移動終端模擬器對所述測試命令的執行是基于所述移動終端的協議棧、所述模擬物理層、模擬RLC模塊和模擬MAC模塊進行的;基于所述監控,獲得對所述移動終端的協議棧的測試結果。為解決上述問題,本發明還提供一種測試設備,包括配置單元、測試腳本處理單元、監控單元及測試結果生成單元,其中,所述配置單元,用于基于所需的網絡環境,對上述的移動終端模擬器的模擬物理層進行配置;所述測試腳本處理單元,用于運行至少一個測試腳本,將生成的測試命令發送至所述監控單元,所述測試腳本對應于移動終端的協議棧的功能點;監控單元,用于接收所述測試命令并發送至移動終端模擬器,監控所述移動終端模擬器執行所述測試命令的過程,其中,所述移動終端模擬器對所述測試命令的執行是基于所述移動終端的協議棧、所述模擬物理層、模擬RLC模塊和模擬MAC模塊進行的;
6
測試結果生成單元,用于基于所述監控,獲得對所述移動終端的協議棧的測試結^ ο為解決上述問題,本發明還提供一種測試系統,包括上述的移動終端模擬器和測試設備。與現有技術相比,本發明的技術方案具有以下優點通過測試設備對移動終端模擬器的模擬物理層進行相應的配置,實現了真實物理層的行為,也模擬了對移動終端的協議棧進行測試時所需要的各種復雜的網絡環境,通過模擬RLC模塊和MAC模塊,簡化了對數據信息的處理。對移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC模塊執行測試命令的過程進行監控,相對于對協議棧中單個具有獨立功能的模塊進行測試或組件的集成測試而言,由于對移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC模塊執行測試命令的整個過程進行了相應的監控,因此,不僅實現了對單個具有獨立功能的模塊的測試,也實現了對整個協議棧的測試,測試全面;由于無需對每個功能模塊編寫相應的測試腳本,因此,提高了測試效率。而且,由于移動終端模擬器可以通過測試設備進行移植獲得,并運行在測試設備上,基于測試設備強大的處理能力,減少了移動終端的協議棧執行測試腳本的時間,進而提高了測試效率。此外,相對于采用測試儀器對協議棧進行測試而言,由于可以通過測試設備對移動終端模擬器的模擬物理層進行相應地配置以實現各種復雜的網絡環境,因此,無需通過測試儀器來提供網絡環境,一方面提高了移動終端的協議棧的測試覆蓋率,另一方面也降低了測試成本。進一步地,通過對移動終端的協議棧的層間消息進行跟蹤,并進行相應地驗證,對移動終端的協議棧的內部處理邏輯進行了測試,在實現對整個協議棧進行測試的同時,也實現了對協議棧內部模塊間的集成測試。進一步地,通過對移動終端的協議棧的層間消息進行截獲、或在對移動終端的協議棧的層間消息截獲后,發送構造的層間消息至截獲到的層間消息的目標模塊,或讀寫移動終端的協議棧各模塊的全局變量,構造出了不同的測試場景,在很大程度上提高了移動終端的協議棧的測試覆蓋率。 進一步地,通過對監控移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC模塊執行測試命令的過程進行顯示,有利于及時發現移動終端的協議棧存在的問題并進行相應地修改,進一步地提高了測試效率。


圖1是移動終端與2G/3G接入網的連接示意圖;圖2是本發明實施例的測試系統的基本結構示意圖;圖3是本發明實施例的移動終端的測試方法的流程圖;圖4是本發明實施例的測試腳本的執行過程示意圖;圖5是本發明實施例的移動終端模擬器的結構示意圖;圖6本發明實施例的測試設備的結構示意圖。
具體實施例方式為使本發明的上述目的、特征和優點能夠更為明顯易懂,下面結合附圖對本發明的具體實施方式
做詳細的說明。在以下描述中闡述了具體細節以便于充分理解本發明。但是本發明能夠以多種不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本發明內涵的情況下做類似推廣。因此本發明不受下面公開的具體實施方式
的限制。正如背景技術中所述的,現有技術中對移動終端的協議棧的測試通常以模塊級測試為主,測試效率低,不能實現系統級測試。而采用測試儀器對所述移動終端的協議棧進行測試時,測試覆蓋率低且測試成本高。因此,發明人提出,將移動終端進行移植獲得移動終端模擬器,并對其的物理層、 RLC模塊、MAC模塊進行模擬,通過測試設備對所述移動終端模擬器的模擬物理層進行相應地配置,以模擬各種復雜的網絡環境,同時,對所述移動終端的協議棧的RLC模塊和MAC模塊進行模擬,簡化對數據信息的處理,對移動終端的協議棧、模擬物理層、模擬RLC模塊和模擬MAC模塊執行測試命令的過程進行監控,實現對移動終端的協議棧的全面測試,提高測試效率,降低測試成本。本實施例中,對移動終端的協議棧的測試,主要是通過測試移動終端和2G/3G接入網之間的空中接口(Air Interface),或者說是通過測試移動終端和2G/3G接入網之間的空口信令進行,如圖1所示,圖1是移動終端與2G/3G接入網的連接示意圖,圖中虛線部分即代表了移動終端與2G/3G接入網之間的空中接口。請參見圖2,圖2是本發明實施例的測試系統的基本結構示意圖,如圖2所示,所述測試系統包括測試設備1和移動終端模擬器2。本實施例中,所述測試設備1可以為計算機,通過運行所述計算機中用于測試移動終端的協議棧的測試腳本來對移動終端的協議棧進行測試。所述移動終端模擬器2用于模擬移動終端的行為,由于移動終端模擬器2用于模擬移動終端的行為,故可以用計算機進行模擬,而該計算機可以為與所述測試設備1相同的計算機,因此,所述移動終端模擬器 2可以運行在所述測試設備1上,當然,所述移動終端模擬器2也可以用其他計算機進行模擬,此時,需要在所述測試設備1和移動終端模擬器2之間建立數據傳輸的通道,如采用數據線將二者互連。本實施例中所述移動終端模擬器2可以通過以下方法獲得移植所述移動終端的協議棧;模擬所述移動終端的協議棧中的物理層、RLC模塊和MAC模塊,獲得與所述協議棧相匹配的模擬物理層、模擬RLC模塊和模擬MAC模塊。具體地,是先通過測試設備1將移動終端運行在ARM平臺上的協議棧移植到測試設備1中,且為了對移動終端的協議棧進行全面的測試,還需要將移動終端運行在ARM平臺上的身份識別卡模塊、非易失性存儲模塊(NV,non-volatile模塊)、AT命令(ATC,AT Command)處理模塊移植到測試設備1中,也即將移動終端中處于ARM環境下的嵌入式操作系統移植到計算機的Windows操作系統上運行,并使得Win32平臺上的VC工程和ARM工程一一對應,運行在Windows操作系統上的協議棧和移動終端上運行的協議棧代碼為同一套代碼,故運行在Windows操作系統上的協議棧的各層或各模塊均為真實的。然后,模擬所述移動終端的協議棧中的物理層、RLC模塊和MAC模塊,在所述移動終端模擬器2中創建與移植的移動終端的協議棧相匹配的模擬物理層、模擬RLC模塊、模擬MAC模塊。在采用測試設備1對所述移動終端的協議棧進行測試時,通過測試設備1對移動終端模擬器2的模擬物理層進行配置,并將測試過程中發給移動終端的協議棧中真實 RLC模塊、MAC模塊的消息截獲,將所述消息轉發至模擬RLC模塊和模擬MAC模塊來進行相應地處理,也即避開協議棧中真實的物理層、真實的RLC模塊、真實的MAC模塊,通過模擬物理層、模擬RLC模塊、模擬MAC模塊與協議棧中其它真實模塊來實現對整個協議棧的測試。請參見圖3,圖3是本發明實施例的移動終端的測試方法的流程圖,如圖3所示,本發明實施例的移動終端的測試方法包括步驟Sll 基于所需的網絡環境,對移動終端模擬器的模擬物理層進行配置。步驟S12 運行至少一個測試腳本,將生成的測試命令發送至所述移動終端模擬器,所述測試腳本對應于所述移動終端的協議棧的功能點。步驟S13 監控所述移動終端模擬器執行所述測試命令的過程,其中,所述移動終端模擬器對所述測試命令的執行是基于所述移動終端的協議棧、所述模擬物理層、模擬RLC 模塊和模擬MAC模塊進行的。步驟S14 基于所述監控,獲得對所述移動終端的協議棧的測試結果。執行步驟S11,本實施例中,為了提高測試效率,通過測試設備將移動終端移植到測試設備中獲得移動終端模擬器,具體地,是將移動終端的協議棧、以及與移動終端的協議棧測試過程中相關的功能模塊都移植到測試設備中,如身份識別卡模塊、非易失性存儲模塊、ATC處理模塊等移植到測試設備中。為了對移動終端的協議棧進行全面地測試,需要給移動終端提供不同的復雜的網絡環境,故步驟Sll中所述測試設備根據測試所需的網絡環境,來對移動終端模擬器的模擬物理層進行相應地配置以模擬所需的網絡環境。本實施例中,步驟Sll中所述的模擬物理層,通過仿真的方式建立,用于模擬移動終端的協議棧中真實物理層的行為,測試設備對移動終端的協議棧的模擬物理層進行配置,實際上是通過存儲在測試設備中的測試腳本來對移動終端的協議棧的模擬物理層進行相應的配置以實現真實物理層的行為和網絡環境的模擬。具體來說,是通過在測試腳本中寫入配置移動終端的協議棧的模擬物理層的相關參數,在執行測試腳本時,通過測試設備與移動終端的協議棧的模擬物理層之間消息的交互,將測試腳本中寫入的用于配置移動終端的協議棧的模擬物理層的相關參數發送至移動終端的協議棧的模擬物理層,以完成對移動終端的協議棧的模擬物理層的配置,通過對移動終端的協議棧的模擬物理層進行配置, 一方面獲得了測試所需的網絡環境,另一方面也模擬了真實物理層的行為。本實施例中,通過測試腳本對模擬物理層進行相應地配置,既模擬了真實物理層的行為也獲得了測試所需的網絡環境。相對于儀器測試而言,由于無需通過測試儀器來模擬網絡環境,因此,提高了移動終端的協議棧的測試覆蓋率,降低了測試成本;相對于實網測試而言,由于無需將移動終端帶到不同的城市,在外場真實網絡環境下對移動終端的協議棧進行測試,故,降低了測試成本。此外,需要說明的是,如上所述本實施例主要是通過測試移動終端和2G/3G接入網之間的空口信令來對所述移動終端的協議棧進行測試的,故,本實施例中,所述測試設備還模擬網絡側與移動終端模擬器進行通信交互,且通過套接字(socket)接口實現消息的交互。具體地,是存儲在所述測試設備中的測試腳本,模擬網絡側與所述移動終端的協議棧通過所述socket接口進行通信交互,所述socket接口還對交互過程中的消息進行與底層通訊相關的處理,如進行組幀/拆幀、流量控制等。即通過在測試腳本中寫入相應的程序,模擬在實際通信過程中網絡側與所述移動終端的協議棧進行通信時的行為。所述通信交互中,交互消息包括空口消息。舉例來說,若測試設備要測試移動終端的協議棧的主叫功能,則測試設備基于測試腳本向移動終端的協議棧下發測試移動終端的協議棧的主叫命令后,測試設備還會發送空口消息至移動終端的協議棧,并接收移動終端的協議棧反饋的消息,所述空口消息中包括了測試腳本中配置所述移動終端的協議棧的消息以及在主叫過程中發送至移動終端的協議棧的消息。對于不需要通過移動終端和2G/3G接入網之間的空口信令來對所述移動終端的協議棧進行測試而言,如短消息的刪除,則無需對所述模擬物理層進行相應的配置,且所述測試設備也無需模擬網絡側與移動終端的協議棧之間進行通信交互。執行步驟S12,本實施例中,所述測試腳本用于測試移動終端的協議棧的相應功能點,測試設備通過執行不同的測試腳本,來對移動終端的協議棧進行各種業務測試、復雜場景測試等等,以實現對移動終端的協議棧全面測試。以下,先對測試腳本的執行過程進行簡單的說明。請參見圖4,圖4是本發明實施例的測試腳本的執行過程示意圖,如圖4所示,對于測試腳本而言,其執行過程通常包括了發送命令至待測移動終端以使得移動終端開機,在所述移動終端開機后,為所述移動終端配置初始的網絡環境,在移動終端搜網成功并駐留后,通過移動終端和測試腳本之間消息的交互以使得移動終端注冊在合適的小區中,此后執行測試腳本中的主程序(圖4中的虛線部分),以對移動終端的協議棧進行相應的測試, 具體地,就是測試腳本的主程序中會寫入與測試業務相關的測試命令及與移動終端的協議棧之間進行交互的相關消息,并發送所述測試命令和與移動終端的協議棧之間進行交互的相關消息至移動終端,如圖4中的創建并發送消息1,...,創建并發送消息N。并且,所述測試腳本還要對移動終端的協議棧在接收到所述測試腳本發送的消息后的反饋進行接收和驗證,進而對移動終端的協議棧進行測試。如圖4中的接收并驗證消息1,...,接收并驗證消息N。為了突出通過測試腳本對所述移動終端(本實施例中即為移動終端模擬器)的模擬物理層進行配置以實現對復雜的網絡環境的模擬,故在圖4中的主程序部分單獨標出了 “配置復雜的網絡環境”,其本質上也相當于測試腳本中的創建并發送消息,不同的是,此處的創建并發送消息是用于對模擬物理層進行相應地配置而已。通常來講,測試腳本中不同的主程序會涉及測試移動終端的協議棧的不同功能點,通過對不同測試腳本的執行則可以實現對移動終端的協議棧進行各種業務的測試、復雜場景的測試等等。執行完測試腳本的主程序后,測試腳本會繼續發送測試命令以關閉待測移動終端,測試結束。本實施例中,所述測試腳本采用工具命令語言(TCL,Tool Command Language)編寫,且測試過程中,不會直接將用TCL語言編寫的測試命令及與移動終端的協議棧進行交互的消息發送至移動終端的協議棧,而是通過TCL語言解釋器將由TCL語言編寫的測試命令及與移動終端的協議棧進行交互的消息進行解析生成移動終端的協議棧可以識別的測試命令和消息碼流,然后再發送至移動終端的協議棧對應的模塊,進而對移動終端的協議棧進行測試。以腳本調用發AT命令的測試命令為例,若腳本中寫入sendatCmdatdl0086,則該測試命令會被TCL語言解釋器解析成移動終端能夠識別的命令碼流,發送到移動終端的ATC處理模塊,ATC處理模塊將所述命令碼流進行解碼后,發送至移動終端的協議棧,觸發撥打10086電話的行為。上述的AT命令是以AT開頭的字符串,該字符串包含指示所述移動終端執行具體操作的指示信息,且現有的移動終端基本都支持AT命令。因此,移動終端在接收到與AT命令相關的測試命令后會觸發自身進行相應的動作。仍以上述的測試命令為sendatcmd atdl0086為例,經過解析后的測試命令被發送至移動終端的ATC處理模塊并經其解碼后,會觸發移動終端的協議棧與身份識別卡模塊之間進行交互,進而撥打電話 10086。同樣地,當移動終端的協議棧執行所述測試命令后,會產生相應的反饋并發送至所述測試腳本,此時仍然需要通過TCL語言解釋器將所述反饋編譯成TCL語言,以便所述測試腳本可以識別所述移動終端的協議棧反饋的消息。執行步驟S13,本實施例中,對所述移動終端的協議棧的測試是通過移動終端模擬器進行的,具體地,是通過測試設備移植的移動終端的協議棧、上述的通過測試腳本配置的模擬物理層、以及模擬RLC模塊、模擬MAC模塊對移動終端的協議棧進行測試。所述模擬 RLC模塊、模擬MAC模塊通過仿真的方式建立,測試時,將測試設備發送給移動終端的協議棧中真實RLC模塊、MAC模塊的消息截獲,并將所述消息轉發至模擬RLC模塊和模擬MAC模塊來進行相應的處理,具體地,可以通過模擬RLC模塊和模擬MAC模塊中的dummy函數來簡化與數據相關的內容的處理,即在測試過程中,主要關注與RLC模塊和MAC模塊相關的信令控制,而不關注數據面的信息,也即避開協議棧中真實的RLC模塊、MAC模塊對數據的處理邏輯,以簡化對數據信息的處理。本實施例中,為了實現對移動終端的協議棧的全面測試,會對所述移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC模塊執行測試命令的過程進行監控。具體地,本實施例中可以從以下幾個方面對移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC 模塊執行所述測試命令的過程進行監控。在對所述移動終端的協議棧的測試過程中,除了存儲在測試設備中的測試腳本與所述移動終端的協議棧有消息的交互外,移動終端的協議棧的層與層之間也有消息的交互,例如協議棧的層2與層3之間會有相應的消息交互,層2將其處理后的消息上報至層 3進行相應的處理,因此,在對所述移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC 模塊執行所述測試命令的過程進行監控時,對移動終端的協議棧的層間消息進行跟蹤,在測試需要時,還可以對跟蹤到的移動終端的協議棧的層間消息進行驗證,看移動終端的協議棧的層與層之間是否按照協議的規定進行了相應的動作,即對移動終端的協議棧的層與層之間的邏輯進行了測試。對移動終端的協議棧的層間消息進行跟蹤時,還可以截獲所述移動終端的協議棧的層間消息。舉例來說,移動終端的協議棧的NAS層下發選網請求的消息給移動終端的協議棧的RRC層,RRC層進行相應的處理后反饋給所述NAS層選網確認的消息,通過在測試腳本中寫入截獲RRC層發送給NAS層的選網確認的消息,可以將移動終端的協議棧的RRC層發送給NAS層的關于選網確認的消息截獲,通過對RRC層發送給NAS層的選網確認的消息的攔截,可以測試RRC層和NAS層之間出現異常后,NAS層對異常現象的處理。故,通過截獲所述移動終端的協議棧的層間消息,可以測試移動終端的協議棧的層與層之間發生了異常后,移動終端的協議棧是否能夠容錯。
在對所述移動終端的協議棧的層間消息進行截獲后,還可以發送構造的層間消息至截獲到的層間消息的目標模塊。也即構造新的層間消息并發送至被截獲的層間消息本應發送的目標模塊,以測試移動終端的協議棧的運行是否正常,兼容性好不好。舉例來說,移動終端的協議棧層2的專用控制功能實體(DCFE,Dedicated Control Functional Entity) 模塊發送消息B給協議棧層3的MM模塊,在測試腳本中寫入截獲協議棧層2的DCFE模塊發送至協議棧層3的MM模塊的消息B,發送消息C至協議棧層3的MM模塊,通過對測試腳本的執行,實現對協議棧的層2和層3之間的消息先截獲,再發送構造的層間消息至協議棧的層3,以測試移動終端的協議棧在接收到測試腳本構造的層與層之間的消息后協議棧的運行是否正常,協議棧的兼容性是否好。除了對移動終端的協議棧的層間消息進行跟蹤以外,還可以跟蹤與移動終端的協議棧的交互消息,具體地,是指跟蹤移動終端的協議棧與測試設備中的測試腳本之間的交互消息,監視移動終端的協議棧的反饋是否和測試腳本中寫入的預期反饋相一致,以對移動終端的協議棧的一致性進行測試,也即,移動終端的協議棧是否根據協議的規定進行相應的反饋。對所述移動終端的協議棧執行所述測試命令的過程進行監控時,還可以讀寫移動終端的協議棧各模塊的全局變量。即,通過在測試腳本中寫入讀某一模塊的全局變量,然后再重新改寫該全局變量。舉例來說,協議棧初始化時,收件箱中存儲的短信息通常為零,此時,與所述短信息存儲的數量相關的全局變量a為零,即,當收件箱中的短信息為零時,全局變量a置為零,若想測試短信息存儲滿后,移動終端的協議棧的運行,則可以通過對所述全局變量a的值進行改寫以實現短信息存儲滿的條件,本實施例中,以短信息存儲滿時,全局變量a的值為1進行說明,故,只需對所述全局變量a的值置1,然后,在所述全局變量a =1的條件下,測試移動終端的協議棧的運行即可。本實施例中,還可以對上述的監控過程進行顯示,這樣做有利于在對所述移動終端的協議棧的測試過程中,能夠及時發現移動終端的協議棧出現問題的位置,并對移動終端的協議棧進行相應的修改。以對所述移動終端的協議棧的層間消息進行截獲后,發送構造的層間消息至截獲到的層間消息的目標模塊為例,則顯示截獲所述移動終端的協議棧的層間消息的具體過程,以及將構造好的層間消息發送至被截獲的層間消息本應發送的目標模塊的具體過程。此外,需要說明的是,本實施例中,可以通過不同的測試腳本來對移動終端的協議棧的各個功能點進行測試,但是不論采用哪個測試腳本,都可以通過在所述測試腳本中寫入跟蹤所述移動終端的協議棧的層間消息并對其進行驗證;或寫入跟蹤所述移動終端的協議棧與測試設備之間的交互消息;或寫入截獲所述移動終端的協議棧的層間消息;或寫入截獲所述移動終端的協議棧的層間消息,發送構造的層間消息至截獲到的層間消息的目標模塊;或寫入讀寫所述移動終端的協議棧各模塊的全局變量;或寫入上述任意組合來對移動終端的協議棧層與層之間的邏輯、以及整個移動終端的協議棧進行全面的測試。執行步驟S14,通過對移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC模塊執行所述測試命令的過程進行監控,基于所述監控,即可以獲得對所述移動終端的協議棧的測試結果。如,對上述的移動終端的協議棧的層間消息跟蹤并進行驗證,基于最終跟蹤和驗證的結果則可以對移動終端的協議棧層與層之間的邏輯進行測試,獲得對移動終端的協議棧層與層之間的邏輯的測試結果。本實施例中,可以采用多個測試腳本來對移動終端的協議棧進行相應的測試,對于每一個測試腳本而言其都具有明確的測試目的,均是針對測試移動終端的協議棧的某個功能點而編寫的,通過對移動終端的協議棧執行每個測試腳本的過程進行相應的監控,便可以獲得對移動終端的協議棧的測試結果。本實施例中,對于每一個測試腳本的運行,都是由測試設備根據用戶的操作來進行選擇,并進行相應的控制以運行用戶所選擇的測試腳本,對于測試設備運行的多個測試腳本而言,可以采用批量運行的方式運行所述測試腳本,具體地,可以通過批處理工具來按照一定的順序運行所述測試設備中的多個測試腳本,并且可以根據對多個測試腳本最終運行的結果,如成功的測試腳本的個數、失敗的測試腳本的個數、測試腳本的運行時間、失敗的測試腳本的名稱、通過率(所述通過率是指成功的測試腳本的個數與運行的測試腳本個數的比值)等,來獲取對移動終端的協議棧層與層之間的邏輯性以及協議棧的一致性的測試結果。綜上,通過上述的移動終端的測試方法,可以實現對移動終端的協議棧層與層之間的邏輯性,以及移動終端的協議棧的一致性的全面測試。本發明實施例還提供一種移動終端模擬器,請參見圖5,圖5是本發明實施例的移動終端模擬器的結構示意圖,如圖5所示,所述移動終端模擬器2包括移動終端的協議棧 20、模擬物理層21、模擬RLC/MAC模塊22。其中,所述移動終端的協議棧20是將移動終端運行在ARM平臺上的協議棧移植到Windows操作系統上運行的協議棧,運行在Windows操作系統上的協議棧和運行在ARM平臺上的協議棧的代碼為同一套代碼,因此,可以認為運行在Windows操作系統上的移動終端的協議棧20中的各層或各個模塊均為真實的。所述模擬物理層21、模擬RLC/MAC模塊22通過仿真方式建立,并與所述移動終端的協議棧20 相匹配,也即本實施例中所述移動終端模擬器2中的移動終端的協議棧20實際上可以是不包括移植到Windows操作系統上的真實物理層、真實RLC模塊及真實MAC模塊的,而在對移動終端模擬器2進行測試時,是基于所述移動終端的協議棧20與所述模擬物理層21、模擬 RLC/MAC模塊22進行的。本實施例中,由于所述模擬物理層21、模擬RLC/MAC模塊22不再是真實的移動終端的協議棧20中的層或模塊,因此,在圖5中將其畫在移動終端的協議棧20之外。本實施例中,所述移動終端模擬器2還包括從ARM平臺上移植到Windows操作系統的身份識別卡模塊23、NV模塊M及ATC處理模塊25。本發明實施例還提供一種測試設備,請參見圖6,圖6是本發明實施例的測試設備的結構示意圖,如圖6所示,所述測試設備1包括配置單元10、測試腳本處理單元11、監控單元12、測試結果生成單元13,其中所述配置單元10,用于基于所需的網絡環境,對移動終端模擬器的模擬物理層進行配置。所述測試腳本處理單元11,用于運行至少一個測試腳本,將生成的測試命令發送至所述監控單元12,所述測試腳本對應于移動終端的協議棧的功能點。本實施例中,所述測試腳本處理單元11還用于接收所述監控單元12發送的移動終端模擬器對所述測試命令的反饋。
所述監控單元12,用于接收所述測試命令并發送至移動終端模擬器,監控所述移動終端模擬器執行所述測試命令的過程,其中,所述移動終端模擬器對所述測試命令的執行是基于所述移動終端的協議棧、所述模擬物理層、模擬RLC模塊和模擬MAC模塊進行的。所述測試結果生成單元13與所述監控單元12相連,用于基于所述監控,獲得對所述移動終端的協議棧的測試結果。本實施例中,所述測試腳本處理單元11包括測試腳本運行單元110、解析單元 111、編譯單元112,其中,所述測試腳本運行單元110分別與所述解析單元111和編譯單元112相連,用于運行與移動終端的協議棧的待測功能點對應的測試腳本。所述解析單元111,用于對所述測試腳本運行單元110得到的測試腳本語言進行解析生成測試命令并發送至所述監控單元12。所述編譯單元112,用于對所述監控單元12發送的移動終端模擬器對所述測試命令的反饋進行編譯生成測試腳本語言。所述監控單元12包括傳輸單元120、第一跟蹤單元121、驗證單元122、截獲單元 123、構造單元124、第二跟蹤單元125、讀寫單元126。所述傳輸單元120與所述解析單元111、編譯單元112、配置單元10、第一跟蹤單元 121、驗證單元122、截獲單元123、構造單元124、第二跟蹤單元125、讀寫單元1 相連,用于將所述解析單元111生成的測試命令發送至移動終端模擬器,接收所述移動終端模擬器對所述測試命令的反饋并發送至編譯單元112,所述配置單元10基于所述測試命令對移動終端模擬器的模擬物理層進行配置。所述第一跟蹤單元121,在執行所述測試命令的過程中,基于所述測試命令,跟蹤所述移動終端的協議棧的層間消息。所述驗證單元122與所述傳輸單元120、第一跟蹤單元121相連,在執行所述測試命令的過程中,基于所述測試命令,對所述第一跟蹤單元121跟蹤到的層間消息進行驗證。 舉例來說,在基于測試腳本對所述移動終端的協議棧的測試過程中,通過對所述測試命令的執行,第一跟蹤單元121基于所述測試命令對移動終端的協議棧的層2與層3之間的消息進行跟蹤,并通過所述驗證單元122將跟蹤到的移動終端的協議棧的層2與層3之間的消息進行驗證,監控移動終端的協議棧的層2與層3之間是否按照協議的規定進行了相應的動作,對移動終端的協議棧的層與層之間的邏輯進行測試。所述截獲單元123,在執行所述測試命令的過程中,基于所述測試命令,截獲所述移動終端的協議棧的層間消息。所述構造單元IM與所述傳輸單元120、截獲單元123相連,在執行所述測試命令的過程中,基于所述測試命令,發送構造的層間消息至所述截獲單元123截獲到的層間消息的目標模塊。所述第二跟蹤單元125,在執行所述測試命令的過程中,基于所述測試命令,跟蹤與所述移動終端的協議棧的交互消息。所述讀寫單元126,在執行所述測試命令的過程中,基于所述測試命令,讀寫所述移動終端的協議棧各模塊的全局變量。本實施例中,所述測試腳本運行單元110、解析單元111、編譯單元112集成于基站模擬器中,所述測試腳本采用TCL語言編寫,在實際測試過程中,所述解析單元111可以包括不同的接口,所述編譯單元112也可以包括不同的接口,且所述編譯單元112的接口與所述解析單元111的接口一一對應,或者所述編譯單元112與所述解析單元111共用同一接口。以所述解析單元111與所述編譯單元112共用同一接口為例,具體地,就是根據測試腳本中寫入的測試內容,來提供與該測試內容對應的接口,并通過該接口與監控單元12進行交互。如提供跟蹤接口,通過該接口可以直接將解析單元111生成的跟蹤移動終端的協議棧的層與層之間的消息并對其進行驗證的測試命令發送至監控單元12,并將監控單元12 返回的與該測試命令對應的反饋經由所述跟蹤接口傳輸至所述編譯單元112。提供截獲消息接口,通過該接口可以直接將解析單元111生成的截獲所述移動終端的協議棧的層間消息的測試命令發送至監控單元12,并將監控單元12返回的與該測試命令對應的反饋經由所述跟蹤接口傳輸至所述編譯單元112。提供等待消息接口,通過該接口可以直接將解析單元111生成的測試移動終端的協議棧的模塊之間是否按照協議在預定時間后發送消息的測試命令發送至監控單元12,并將監控單元12返回的與該測試命令對應的反饋經由所述等待消息接口傳輸至所述編譯單元112。提供讀取移動終端的協議棧各模塊的全局變量接口、讀取待測移動終端NV模塊、身份識別卡模塊內容的接口等。需要說明的是,本實施例中所述監控單元12包括傳輸單元120、第一跟蹤單元 121、驗證單元122、截獲單元123、構造單元124、第二跟蹤單元125、讀寫單元126,而在其他實施例中,所述監控單元12可以包括傳輸單元120與第一跟蹤單元121、驗證單元122、截獲單元123、構造單元124、第二跟蹤單元125、讀寫單元126中的任意一個或多個單元的組
口 O本發明實施例中,所述測試設備1還包括批處理工具14,所述批處理工具14與所述測試腳本運行單元110、測試結果生成單元13相連,用于對所述測試腳本進行管理和控制以及統計所述測試結果生成單元13反饋的測試結果。日志工具15,與所述監控單元12相連,用于對所述監控單元12的監控過程進行顯示,所述日志工具15與所述監控單元12通過Socket接口實現消息交互。通過所述日志工具15,可以容易的發現移動終端的協議棧在運行過程中出現錯誤的位置,且,在實際測試過程中,通過所述日志工具15還可以將在外場測試或實驗室網絡測試過程中網絡下行的空口信令碼流提取出來,自動生成測試腳本,即通過所述日志工具15可以重現外場網絡配置或者實驗室網絡配置,因此,可以利用之前測試過程中外場網絡配置或實驗室網絡配置來對移動終端的協議棧進行相應的測試,由于無需再重現外場或實驗室的網絡配置,故,可以降低測試的成本。本實施例中,所述測試設備1還包括網絡側模擬單元(圖中未示出),用于在所述移動終端模擬器執行所述測試命令的過程中,模擬網絡側與移動終端模擬器進行通信交互。所述通信交互的消息中包括空口消息。本實施例中,通過所述測試設備對移動終端的協議棧進行測試的過程可以參見上述的移動終端的測試方法進行,此處不再贅述。綜上所述,本發明的技術方案至少具有以下優點通過測試設備對移動終端模擬器的模擬物理層進行相應的配置,實現了真實物理
15層的行為,也模擬了對移動終端的協議棧進行測試時所需要的各種復雜的網絡環境,通過模擬RLC模塊和MAC模塊,簡化了對數據信息的處理。對移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC模塊執行測試命令的過程進行監控,相對于對協議棧中單個具有獨立功能的模塊進行測試或組件的集成測試而言,由于對移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC模塊執行測試命令的整個過程進行了相應的監控,因此,不僅實現了對單個具有獨立功能的模塊的測試,也實現了對整個協議棧的測試,測試全面;由于無需對每個功能模塊編寫相應的測試腳本,因此,提高了測試效率。而且,由于移動終端模擬器可以通過測試設備進行移植獲得,并運行在測試設備上,基于測試設備強大的處理能力,減少了移動終端的協議棧執行測試腳本的時間,進而提高了測試效率。此外,相對于采用測試儀器對協議棧進行測試而言,由于可以通過測試設備對移動終端模擬器的模擬物理層進行相應地配置以實現各種復雜的網絡環境,因此,無需通過測試儀器來提供網絡環境,一方面提高了移動終端的協議棧的測試覆蓋率,另一方面也降低了測試成本。進一步地,通過對移動終端的協議棧的層間消息進行跟蹤,并進行相應地驗證,對移動終端的協議棧的內部處理邏輯進行了測試,在實現對整個協議棧進行測試的同時,也實現了對協議棧內部模塊間的集成測試。進一步地,通過對移動終端的協議棧的層間消息進行截獲、或在對移動終端的協議棧的層間消息截獲后,發送構造的層間消息至截獲到的層間消息的目標模塊,或讀寫移動終端的協議棧各模塊的全局變量,構造出了不同的測試場景,在很大程度上提高了移動終端的協議棧的測試覆蓋率。進一步地,通過對監控移動終端的協議棧、模擬物理層、模擬RLC模塊、模擬MAC模塊執行測試命令的過程進行顯示,有利于及時發現移動終端的協議棧存在的問題并進行相應地修改,進一步地提高了測試效率。本發明雖然已以較佳實施例公開如上,但其并不是用來限定本發明,任何本領域技術人員在不脫離本發明的精神和范圍內,都可以利用上述揭示的方法和技術內容對本發明技術方案做出可能的變動和修改,因此,凡是未脫離本發明技術方案的內容,依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化及修飾,均屬于本發明技術方案的保護范圍。
權利要求
1.一種移動終端模擬器,包括移動終端的協議棧,其特征在于,還包括與所述協議棧相匹配的模擬物理層、模擬RLC模塊和模擬MAC模塊。
2.一種移動終端的測試方法,其特征在于,包括基于所需的網絡環境,對權利要求1所述的移動終端模擬器的模擬物理層進行配置; 運行至少一個測試腳本,將生成的測試命令發送至所述移動終端模擬器,所述測試腳本對應于所述移動終端的協議棧的功能點;監控所述移動終端模擬器執行所述測試命令的過程,其中,所述移動終端模擬器對所述測試命令的執行是基于所述移動終端的協議棧、所述模擬物理層、模擬RLC模塊和模擬 MAC模塊進行的;基于所述監控,獲得對所述移動終端的協議棧的測試結果。
3.如權利要求2所述的移動終端的測試方法,其特征在于,所述移動終端模擬器通過下述方法獲得移植所述移動終端的協議棧;模擬所述移動終端的協議棧中的物理層、RLC模塊和MAC模塊,獲得與所述協議棧相匹配的模擬物理層、模擬RLC模塊和模擬MAC模塊。
4.如權利要求2所述的移動終端的測試方法,其特征在于,所述監控所述移動終端模擬器執行所述測試命令的過程包括跟蹤所述移動終端的協議棧的層間消息。
5.如權利要求4所述的移動終端的測試方法,其特征在于,所述監控所述移動終端模擬器執行所述測試命令的過程還包括對跟蹤到的層間消息進行驗證。
6.如權利要求2所述的移動終端的測試方法,其特征在于,所述監控所述移動終端模擬器執行所述測試命令的過程包括截獲所述移動終端的協議棧的層間消息。
7.如權利要求6所述的移動終端的測試方法,其特征在于,所述監控所述移動終端模擬器執行所述測試命令的過程還包括發送構造的層間消息至截獲到的層間消息的目標模塊。
8.如權利要求2所述的移動終端的測試方法,其特征在于,所述監控所述移動終端模擬器執行所述測試命令的過程包括跟蹤與所述移動終端的協議棧的交互消息。
9.如權利要求2所述的移動終端的測試方法,其特征在于,所述監控所述移動終端模擬器執行所述測試命令的過程包括讀寫所述移動終端的協議棧各模塊的全局變量。
10.如權利要求2所述的移動終端的測試方法,其特征在于,還包括在所述移動終端模擬器執行所述測試命令的過程中,模擬網絡側與移動終端模擬器進行通信交互。
11.如權利要求10所述的移動終端的測試方法,其特征在于,所述通信交互的消息包括空口消息。
12.如權利要求2所述的移動終端的測試方法,其特征在于,所述測試命令通過解析測試腳本語言生成;所述測試方法還包括編譯所述移動終端模擬器的反饋信息生成測試腳本語曰ο
13.如權利要求2所述的移動終端的測試方法,其特征在于,所述測試腳本采用TCL語g編與。
14.如權利要求2所述的移動終端的測試方法,其特征在于,還包括對所述監控過程進行顯示。
15.一種測試設備,其特征在于,包括配置單元、測試腳本處理單元、監控單元及測試結果生成單元,其中,所述配置單元,用于基于所需的網絡環境,對權利要求1所述的移動終端模擬器的模擬物理層進行配置;所述測試腳本處理單元,用于運行至少一個測試腳本,將生成的測試命令發送至所述監控單元,所述測試腳本對應于移動終端的協議棧的功能點;監控單元,用于接收所述測試命令并發送至移動終端模擬器,監控所述移動終端模擬器執行所述測試命令的過程,其中,所述移動終端模擬器對所述測試命令的執行是基于所述移動終端的協議棧、所述模擬物理層、模擬RLC模塊和模擬MAC模塊進行的;測試結果生成單元,用于基于所述監控,獲得對所述移動終端的協議棧的測試結果。
16.如權利要求15所述的測試設備,其特征在于,所述監控單元包括傳輸單元,用于將所述測試命令發送至移動終端模擬器。
17.如權利要求16所述的測試設備,其特征在于,所述監控單元還包括 第一跟蹤單元,用于跟蹤所述移動終端的協議棧的層間消息。
18.如權利要求17所述的測試設備,其特征在于,所述監控單元還包括 驗證單元,用于對所述第一跟蹤單元跟蹤到的層間消息進行驗證。
19.如權利要求16所述的測試設備,其特征在于,所述監控單元還包括 截獲單元,用于截獲所述移動終端的協議棧的層間消息。
20.如權利要求19所述的測試設備,其特征在于,所述監控單元還包括構造單元,用于發送構造的層間消息至所述截獲單元截獲到的層間消息的目標模塊。
21.如權利要求16所述的測試設備,其特征在于,所述監控單元還包括 第二跟蹤單元,用于跟蹤與所述移動終端的協議棧的交互消息。
22.如權利要求16所述的測試設備,其特征在于,所述監控單元還包括 讀寫單元,用于讀寫所述移動終端的協議棧各模塊的全局變量。
23.如權利要求15所述的測試設備,其特征在于,還包括網絡側模擬單元,用于在所述移動終端模擬器執行所述測試命令的過程中,模擬網絡側與移動終端模擬器進行通信交互。
24.如權利要求23所述的測試設備,其特征在于,所述通信交互的消息包括空口消息。
25.如權利要求16所述的測試設備,其特征在于,所述傳輸單元還用于接收所述移動終端模擬器對所述測試命令的反饋;所述測試腳本處理單元還用于接收所述監控單元發送的移動終端模擬器對所述測試命令的反饋。
26.如權利要求25所述的測試設備,其特征在于,所述測試腳本處理單元包括 測試腳本運行單元,用于運行與移動終端的協議棧的待測功能點對應的測試腳本;解析單元,用于對所述測試腳本運行單元得到的測試腳本語言進行解析生成測試命令并發送至所述監控單元;編譯單元,用于對所述監控單元發送的移動終端模擬器對所述測試命令的反饋進行編譯生成測試腳本語言。
27.如權利要求沈所述的測試設備,其特征在于,所述測試腳本運行單元、解析單元、 編譯單元集成于基站模擬器中。
28.如權利要求15所述的測試設備,其特征在于,所述測試腳本采用TCL語言編寫。
29.如權利要求15所述的測試設備,其特征在于,所述測試腳本處理單元與所述監控單元通過Socket接口實現交互。
30.如權利要求15所述的測試設備,其特征在于,還包括日志工具,用于對所述監控單元的監控過程進行顯示。
31.如權利要求30所述的測試設備,其特征在于,所述日志工具與所述監控單元通過 Socket接口實現消息交互。
32.如權利要求15所述的測試設備,其特征在于,還包括批處理工具,用于對所述測試腳本進行管理和控制。
33.如權利要求32所述的測試設備,其特征在于,所述批處理工具還用于統計所述測試結果生成單元反饋的測試結果。
34.一種測試系統,其特征在于,包括 權利要求1所述的移動終端模擬器;權利要求15 33任一項所述的測試設備。
全文摘要
一種移動終端的測試方法、移動終端模擬器、測試設備及系統。所述測試方法包括基于所需的網絡環境,對移動終端模擬器的模擬物理層進行配置;運行至少一個測試腳本,將生成的測試命令發送至所述移動終端模擬器,所述測試腳本對應于所述移動終端的協議棧的功能點;監控所述移動終端模擬器執行所述測試命令的過程,其中,所述移動終端模擬器對所述測試命令的執行是基于所述移動終端的協議棧、所述模擬物理層、模擬RLC模塊和模擬MAC模塊進行的;基于所述監控,獲得對所述移動終端的協議棧的測試結果。本發明的技術方案提高了移動終端的協議棧的測試效率及測試覆蓋率,且測試全面、測試成本低。
文檔編號H04W24/00GK102421112SQ201110369870
公開日2012年4月18日 申請日期2011年11月18日 優先權日2011年11月18日
發明者楊濤, 韓俊波, 高喜春 申請人:展訊通信(上海)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 获嘉县| 湟源县| 黑河市| 维西| 太保市| 洪湖市| 高邑县| 民和| 海南省| 黔西县| 疏勒县| 宜良县| 凤阳县| 金川县| 尉犁县| 建阳市| 新闻| 林芝县| 漳州市| 敦煌市| 榆中县| 炎陵县| 凌海市| 三亚市| 塔城市| 香港 | 阿拉尔市| 昌宁县| 扬州市| 涪陵区| 泸西县| 连城县| 榆中县| 介休市| 云浮市| 时尚| 驻马店市| 巩留县| 读书| 明光市| 唐河县|