專利名稱:一種無線通信質量自動測試系統(tǒng)以及方法
技術領域:
本發(fā)明涉及通信質量測試技術,尤其涉及一種無線通信質量自動測試系統(tǒng)以及方法。
背景技術:
在現有的手機自動化測試中,以測試終端為主的測試方法大多數通過AT指令控制終端做一些CS或PS業(yè)務,觀察語音業(yè)務和數據業(yè)務,這種方法可以滿足一些簡單的終端自動撥打,收發(fā)短信等測試用例,但無法滿足真實環(huán)境中商用終端的測試需求,并且商用終端測試出的問題,測試終端無法復現。因此在真實業(yè)務測試中商用終端逐漸取代了測試終端,更貼近真實使用場景。但是現有的基于真實場景的測試方案寥寥無幾?,F有的Android Instrumentation測試和JUnit測試均采用JAVA開發(fā),這樣要求測試人員的腳本編寫能力過高,并且不能很好的管理測試用例,不利于大量、復雜的長時間 的壓力測試。利用Android開發(fā)套件中的Monkey命令行工具,可以較好地進行壓力測試。它可以在模擬器和設備上運行,其原理是通過Monkey產生隨機脈沖,并隨機產生大量事件對軟件的負載能力進行測試。該工具主要應用在壓力和可靠性測試上,對于真實場景的貼近用戶感知的實際操作則略顯不足,并且命令行的方式不利于測試人員管理編輯測試用例。目前,利用Android開發(fā)套件中的Monkeyrunner API進行測試的方法,較為實用,通過強大的API函數和簡潔的Python語言編寫腳本完成對手機的控制。是應用最為廣泛的手機自動化測試方法,但在實際應用中該方法也受到許多問題的制約。如果人工控制商用終端執(zhí)行業(yè)務,則大大增加人力消耗,并且繁重的重復工作造成測試人員壓力增加極容易出現錯誤。對于大規(guī)模的性能測試和壓力測試這種方式無法實施?,F有的自動化測試方法大多針對商用終端的穩(wěn)定性和性能,并沒有考慮如何測試無線通信網絡的CS和PS業(yè)務情況,缺乏針對性的解決方案測試無線通信網絡。而且,現有測試終端雖然滿足自動撥打和數據業(yè)務,也有對外開放的AT指令接口,但是測試終端并不是商用產品,在用戶控制和自身功能邏輯方面都與真實的商用終端存在差異。從感知用戶體驗方面測試終端的測試方案并不能滿足測試需求。
發(fā)明內容
(一)技術問題本發(fā)明要解決的問題是提供一種針對商用手機終端的無線通信質量自動化測試方法,從模擬真實操作出發(fā),測試手機的語音傳輸質量、接通率、掉話率和數據業(yè)務的實時速率。(二)技術方案本發(fā)明提供一種無線通信質量自動測試系統(tǒng),該系統(tǒng)包括控制裝置、監(jiān)測儀表和管理服務器,其中所述控制裝置分別連接多個待測無線終端,用于利用應用程序編程接口 API直接啟動、操作待測無線終端中的應用程序;監(jiān)測儀表、管理服務器分別通過網絡和所述控制裝置相連接,所述管理服務器向所述控制裝置提供測試用例,所述測試用例用來直接啟動、操作待測無線終端中的應用程序,監(jiān)測儀表顯示控制裝置的測試結果??蛇x的,所述系統(tǒng) 包括屏蔽柜,所述多個待測無線終端放置在所述屏蔽柜內,所述屏蔽柜設置有射頻口和風扇換氣口??蛇x的,所述控制裝置通過HUB連接所述多個待測無線終端。本發(fā)明還提供一種無線終端通信質量自動測試方法,該方法包括從數據庫中獲取測試用例;通過應用程序編程接口 API利用所述測試用例直接啟動、操作待測無線終端中的應用程序;在每次操作所述應用程序后,獲取所述應用程序的執(zhí)行結果;判斷執(zhí)行結果和預期結果是否一致,如果正確,則利用所述應用程序編程接口繼續(xù)執(zhí)行所述應用程序,否則將執(zhí)行結果存儲在日志文件中,然后繼續(xù)執(zhí)行所述應用程序或者其它應用程序;輸出所述日志文件給監(jiān)測儀表或者顯示器。可選的,從管理服務器的數據庫中獲取測試用例,并利用所述測試用例來啟動、操作待測無線終端中的應用程序??蛇x的,在直接啟動待測無線終端中的應用程序前,設定所述測試用例的執(zhí)行順序和執(zhí)行次數??蛇x的,通過遠程登錄待測無線終端,自動撥打指定號碼;獲取撥打結果并將撥打結果存儲在日志文件中??蛇x的,從數據庫獲取測試用例,并利用所述測試用例遠程登錄待測無線終端??蛇x的,通過在待測無線終端設置手機流量實時統(tǒng)計模塊和流量回放模塊,實時監(jiān)測上傳和/或下載速率,并將流量數據存儲在本地數據文件中??蛇x的,所述利用應用程序編程接口直接啟動、操作待測無線終端中的應用程序具體包括通過查看應用程序中視圖和按鈕的ID號,直接模擬點擊這些視圖或者按鈕??蛇x的,編輯或者編寫測試用例,并將編輯或者編寫好的測試用例導入到所述數據庫中??蛇x的,利用Monkeyrunner API函數編輯或者編寫所述測試用例。(三)技術效果本發(fā)明通過控制裝置獲取并執(zhí)行管理服務器的數據庫中的測試用例,能夠自動對無線終端進行各種性能的測試,提高了測試效率,節(jié)省了人力消耗。
圖I表示本發(fā)明無線通信質量自動測試系統(tǒng)的結構圖;圖2表示本發(fā)明實施例2的無線終端通信質量自動測試方法的流程圖;圖3表示本發(fā)明實施例3的測試用例編寫、執(zhí)行時的流程圖。
具體實施例方式實施例I :隨著智能手機市場的不斷擴大,以android系統(tǒng)為主導的智能手機如雨后春筍般涌現出來。該系統(tǒng)手機市場占有率逐年提高,并且適應(TD-LTE)3G網絡的手機逐漸成為主流。因此運營商更加關注這些新型終端在現有(TD-LTE)3G網絡中的表現力和用戶感知性。主要表現在以量化數據MOS評分衡量的語音傳輸質量和以平均吞吐率,最大吞吐率,PDP激活成功率,中斷率,丟包率等指標衡量數據業(yè)務質量兩方面。但是在實驗中,面對如此多種類的終端和測試場景,人工測試顯然是不可取的。因此如何構建一套無線通信質量自動化測試方法和系統(tǒng)(能夠用于對Android商用終端進行測試)成為至關重要的問題。本發(fā)明提供一種無線通信質量自動測試系統(tǒng),如圖I所示,該系統(tǒng)包括控制裝置(或者控制臺系統(tǒng))、儀表(或者稱為檢測儀表)和管理服務器(或者稱為用例管理服務器),其中·所述控制裝置(或者控制臺系統(tǒng))分別連接多個待測無線終端,用于利用應用程序編程接口 API直接啟動、操作待測無線終端中的應用程序;監(jiān)測儀表、管理服務器分別通過網絡(包括通用接口數據總線或者TCP/IP協議層)和所述控制裝置(或控制臺系統(tǒng))相連接,所述管理服務器向所述控制裝置提供測試用例,所述測試用例用來直接啟動、操作待測無線終端中的應用程序,監(jiān)測儀表顯示控制裝置的測試結果。通過開發(fā)上述測試系統(tǒng),從模擬真實操作出發(fā),測試手機的語音傳輸質量、接通率、掉話率和數據業(yè)務的實時速率。本發(fā)明描述的上述測試系統(tǒng),可適用于各類Android系統(tǒng)手機,利用該手機實現無線通信設備的室內和外場自動化測試。也可用于各式Android智能手機的互操作測試。如圖I所示,所述測試系統(tǒng)還可包括屏蔽柜,所述多個待測無線終端放置在所述屏蔽柜內,待測無線終端可通過USB數據線連接到所述屏蔽柜,已進行數據信號的傳送和/或供電。所述屏蔽柜設置有射頻口和風扇換氣口。屏蔽柜可通過USB數據線與控制裝置(或者控制臺系統(tǒng))連接。通過使用屏蔽柜,可減少環(huán)境對測試結果的影響,能夠取得更為準確的測試結果??蛇x的,如圖I所示,所述控制裝置通過HUB連接所述多個待測無線終端??蛇x的,所述控制裝置為測試PC機??蛇x,如圖I所示,所述控制裝置可連接網元設備,網元設備為所述控制裝置和管理服務器提供TD信號接入射頻口??蛇x的,所述控制裝置可以配置成一套基于管理服務器的測試用例管理裝置,測試用例的執(zhí)行過程可直接通過所述測試用例管理裝置在管理平臺上編輯,并上傳腳本到管理服務器。在執(zhí)行測試用例時,可通過輔助管理程序連接管理服務器的用例庫,通過友好界面直接對測試用例執(zhí)行開始、暫停和停止等命令,并能將腳本的執(zhí)行結果反饋到輔助管理程序中,并且通過數據庫表的導入導出可以完成用例的導入和備份存儲。如此,解決了積累大量用例后測試用例不利于管理的問題。實施例2
本發(fā)明還提供一種無線終端通信質量自動測試方法,如圖2所示,該方法包括SI.從數據庫中獲取測試用例;S2.通過應用程序編程接口 API利用所述測試用例直接啟動、操作待測無線終端中的應用程 序;S3.在每次操作所述應用程序后,獲取所述應用程序的執(zhí)行結果;S4.判斷執(zhí)行結果和預期結果是否一致,如果正確,則利用所述應用程序編程接口繼續(xù)執(zhí)行所述應用程序,否則將執(zhí)行結果存儲在日志文件中,然后繼續(xù)執(zhí)行所述應用程序或者其它應用程序;S5.輸出所述日志文件給監(jiān)測儀表。上述技術方案包括三大部分控制手機、中間結果反饋和最終結果輸出,實現測試用例運行過程中的信息反饋功能,監(jiān)控無線終端實際運行中的每一步過程,確保測試用例執(zhí)行的準確性。上述技術方案可適用于各類Android系統(tǒng)手機,利用該手機實現無線通信設備的室內和外場自動化測試。也可用于各式Android智能手機的互操作測試。在判斷執(zhí)行結果和預期結果是否一致時,可通過中間過程的截圖比對控制用例執(zhí)行過程,正確則繼續(xù)執(zhí)行,錯誤則記錄log跳出函數。最后輸出執(zhí)行結果,方便測試人員定位問題,完善腳本??蛇x的,在測試前,編輯或者編寫測試用例,并將編輯或者編寫好的測試用例導入到所述數據庫中。通過定制測試用例,力求覆蓋手機應用的各個業(yè)務場景并且完全自動化的測試解決了測試人力投入。測試時,從管理服務器的數據庫中獲取測試用例,并利用所述測試用例來啟動、操作待測無線終端中的應用程序。在直接啟動待測無線終端中的應用程序前,可設定所述測試用例的執(zhí)行順序和執(zhí)行次數。除了通過測試無線終端的應用程序來測試數據業(yè)務,還可測試無線終端的通話功能,比如通過遠程登錄待測無線終端,自動撥打指定號碼;獲取撥打結果并將撥打結果存儲在日志文件中。還可通過在待測無線終端設置手機流量實時統(tǒng)計模塊和流量回放模塊,實時監(jiān)測上傳和/或下載速率,并將流量數據存儲在本地數據文件中,方便后續(xù)回放查看。實施例3 本實施例基于Monkeyrunner工具進行測試用例的腳本的編寫。通過改進的Android系統(tǒng)的Monkeyrunner API函數,能夠編寫出通用的具有較好魯棒性的腳本。對于無線終端的CS業(yè)務,如圖3所示,利用實施例I的測試系統(tǒng)執(zhí)行測試用例的流程如下Sll.連接指定設備;S12.采用Monkeyrunner提供的adb shell命令自動撥打指定號碼;S13.輸出撥打結果存儲在log文件中。對于無線終端的PS業(yè)務,如圖3所示,利用實施例I的測試系統(tǒng)執(zhí)行測試用例的流程如下S21.連接指定設備;S22.采用Monkeyrunner API中的StartActivity函數直接啟動安卓應用程序;S23.通過hierarchyviewer工具查看軟件中視圖和按鈕的ID號,然后直接模擬點擊這些視圖或按鈕,避免采用坐標方式定位按鈕,造成腳本不支持其他分辨率商用終端的問題;S24.在執(zhí)行完畢后查看最終結果是否與預期結果一致,并輸出log文件,優(yōu)選的方式,包括將每次操作的中間結果和預期結果進行比對(S241),如果錯誤,則輸出log文件(S242),如果正確,則繼續(xù)進行其它操作(S243),如模擬電極其他按鈕。實施例4 現有的基于Monkeyrunner腳本控制的手機自動化測試方案,忽視了腳本運行過程中,手機執(zhí)行情況的監(jiān)控和信息反饋,一旦測試完成發(fā)現執(zhí)行失敗,很難對問題進行定位。本實施例在實施例3的基礎上,針對這一問題,在執(zhí)行測試用例過程中,還可引入中間 結果控制和反饋的思路,即采用當前過程截圖與本地模板庫比對的方式,判斷當前執(zhí)行步驟是否正確。正確則繼續(xù)執(zhí)行,失敗則輸出log,跳過該用例,執(zhí)行下一個用例。由于在腳本編寫中加入中間結果比對的環(huán)節(jié),能夠及時反饋手機終端的實際運行狀態(tài),控制腳本運行過程。這樣做方便測試人員后續(xù)定位問題,修改腳本。實施例5本實施例體現通過輔助軟件管理腳本和執(zhí)行腳本、并且實時監(jiān)測PS業(yè)務流量情況的整體測試思想。在實際的腳本運行中,本實施例在實施例3的基礎上采用自主研發(fā)的輔助工具,進行用例執(zhí)行管理。首先連接數據庫獲取已編輯好的用例,然后操作管理用例的執(zhí)行順序和執(zhí)行次數,并在窗口中顯示輸出結果。方便測試人員查看用例執(zhí)行結果。在無線終端(比如商用手機終端)PS業(yè)務測試中,流量統(tǒng)計情況直觀的反應了網絡的性能。因此在S-ATP中集成了手機流量實時統(tǒng)計模塊以及流量回放模塊,通過對實時網絡上傳下載速率的實時監(jiān)控查看網絡穩(wěn)定性以及最大帶寬。并將流量數據存儲在本地數據文件中,方便后續(xù)回放查看。通過輔助軟件管理腳本和執(zhí)行腳本,并且實時監(jiān)測PS業(yè)務流量情況的整體測試思想。綜上所述,本發(fā)明通過定制具有針對性的測試用例,使用真實商用終端,從模擬真實操作出發(fā),測試手機的語音傳輸質量、接通率、掉話率和數據業(yè)務的實時速率,平均吞吐量,最大吞吐量等;本發(fā)明通過利用輔助軟件管理和執(zhí)行用例,可自動化執(zhí)行測試用例,進行功能性測試、回歸測試和性能壓力測試,可提高測試效率,釋放人力資源;本發(fā)明優(yōu)化基于Monkeyrunner的腳本編寫方法,采用“通過hierarchyviewer工具查看軟件中視圖和按鈕的ID號,直接點擊”的方式實現不基于坐標的模擬點擊操作,避免了更換不同分辨率手機終端后腳本無法使用的問題,使測試用例具有良好的通用姓和較好的魯棒性,釋放腳本維護的人力資源,增加測試效率;本發(fā)明通過“中間過程的截圖比對控制用例執(zhí)行過程,正確則繼續(xù)執(zhí)行,錯誤則記錄log跳出函數,最后輸出執(zhí)行結果”實現腳本運行過程中的信息反饋功能,能夠監(jiān)控手機實際運行中的每一步過程,確保用例執(zhí)行的準確性,方便測試人員定位問題、完善腳本。以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
權利要求
1.一種無線通信質量自動測試系統(tǒng),其特征在于,該系統(tǒng)包括控制裝置、監(jiān)測儀表和管理服務器,其中 所述控制裝置分別連接多個待測無線終端,用于利用應用程序編程接口 API直接啟動、操作待測無線終端中的應用程序; 監(jiān)測儀表、管理服務器分別通過網絡和所述控制裝置相連接,所述管理服務器向所述控制裝置提供測試用例,所述測試用例用來直接啟動、操作待測無線終端中的應用程序,監(jiān)測儀表用于顯示控制裝置的測試結果。
2.如權利要求I所述的無線通信質量自動測試系統(tǒng),其特征還在于,所述系統(tǒng)包括屏蔽柜,所述多個待測無線終端放置在所述屏蔽柜內,所述屏蔽柜設置有射頻口和風扇換氣口。
3.如權利要求I所述的無線通信質量自動測試系統(tǒng),其特征還在于 所述控制裝置通過HUB連接所述多個待測無線終端。
4.一種無線終端通信質量自動測試方法,其特征在于,該方法包括 從數據庫中獲取測試用例; 通過應用程序編程接口 API利用所述測試用例直接啟動、操作待測無線終端中的應用程序; 在每次操作所述應用程序后,獲取所述應用程序的執(zhí)行結果; 判斷執(zhí)行結果和預期結果是否一致,如果正確,則利用所述應用程序編程接口繼續(xù)執(zhí)行所述應用程序,否則將執(zhí)行結果存儲在日志文件中,然后繼續(xù)執(zhí)行所述應用程序或者其它應用程序; 輸出所述日志文件給監(jiān)測儀表或者顯示器。
5.如權利要求4所述的無線終端通信質量自動測試方法,其特征在于 從管理服務器的數據庫中獲取測試用例,并利用所述測試用例來啟動、操作待測無線終端中的應用程序。
6.如權利要求5所述的無線終端通信質量自動測試方法,其特征在于 在直接啟動待測無線終端中的應用程序前,設定所述測試用例的執(zhí)行順序和執(zhí)行次數。
7.如權利要求4所述的無線終端通信質量自動測試方法,其特征在于 通過遠程登錄待測無線終端,自動撥打指定號碼; 獲取撥打結果并將撥打結果存儲在日志文件中。
8.如權利要求4所述的無線終端通信質量自動測試方法,其特征在于 從數據庫獲取測試用例,并利用所述測試用例遠程登錄待測無線終端。
9.如權利要求4所述的無線終端通信質量自動測試方法,其特征還在于 通過在待測無線終端設置手機流量實時統(tǒng)計模塊和流量回放模塊,實時監(jiān)測上傳和/或下載速率,并將流量數據存儲在本地數據文件中。
10.如權利要求4所述的無線終端通信質量自動測試方法,其特征還在于 所述利用應用程序編程接口直接啟動、操作待測無線終端中的應用程序具體包括 通過查看應用程序中視圖和按鈕的ID號,直接模擬點擊這些視圖或者按鈕。
11.如權利要求5所述的無線終端通信質量自動測試方法,其特征還在于,該方法還包括 編輯或者編寫測試用例,并將編輯或者編寫好的測試用例導入到所述數據庫中。
12.如權利要求11所述的無線終端通信質量自動測試方法,其特征還在于 利用Monkeyrunner API函數編輯或者編寫所述測試用例。
全文摘要
本發(fā)明提供一種無線通信質量自動測試系統(tǒng),該系統(tǒng)包括控制裝置、監(jiān)測儀表和管理服務器,其中所述控制裝置分別連接多個待測無線終端,用于利用應用程序編程接口API直接啟動、操作待測無線終端中的應用程序;監(jiān)測儀表、管理服務器分別通過網絡和所述控制裝置相連接,所述管理服務器向所述控制裝置提供測試用例,所述測試用例用來直接啟動、操作待測無線終端中的應用程序,檢測儀表顯示控制裝置的測試結果。本發(fā)明通過利用輔助軟件管理和執(zhí)行測試用例,可自動化執(zhí)行測試用例,進行功能性測試、回歸測試和性能壓力測試。提了高測試效率,釋放了人力資源。
文檔編號H04M1/24GK102938800SQ20121044218
公開日2013年2月20日 申請日期2012年11月7日 優(yōu)先權日2012年11月7日
發(fā)明者夏青, 侯磊, 劉須華, 鄧召基 申請人:大唐移動通信設備有限公司