專利名稱:一種并行測試方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及測試技術,尤其涉及一種并行測試方法及系統(tǒng)。
背景技術:
隨著通訊行業(yè)的迅速發(fā)展,通訊終端產(chǎn)品的生產(chǎn)也在不斷擴大,為了保證生產(chǎn)質(zhì)量,需要對大量同類型的終端產(chǎn)品進行測試。測試包括一致性測試和互操作性測試,一致性測試是指在標準接口上,對被測對象是否符合標準定義的流程、特性進行的測試;互操作性測試是指在標準接口上,對被測對象與特定實體如特定網(wǎng)元的流程、特性進行的測試。
對于被測對象各項希望的測試內(nèi)容,可以通過編寫測試例來進行測試,測試例是指通過形式語言描述的特定測試步驟和期望測試結果,一組測試例的集合稱作測試套。測試例在邏輯上描述測試流程、測試消息、消息參數(shù)、定時器等,其內(nèi)容可以是用于一致性測試的正常流程測試或異常流程測試,也可以是用于互操作性測試的與模擬特定實體進行的特定流程、特定消息參數(shù)測試。
為提高測試效率,通常需要對多個被測對象同時進行測試,即并行測試。一般的并行測試方案主要有以下兩種一、流水線測試參見圖1,流水線測試是指將被測對象依序置于流水線上,實現(xiàn)并行測試的目的。具體為對于一組被測對象,若需要進行測試的測試套中包含m個測試例,則在一條流水線中放置m個測試單元,每個測試單元連接一個被測對象,運行一個獨立的測試例,根據(jù)測試例的內(nèi)容,向連接的被測對象發(fā)送測試消息,執(zhí)行測試。各個被測對象依次經(jīng)過m個測試單元的測試后,就可以完成整個測試套的測試目的。從測試的整體角度看,m個被測對象是同時被測試的。
但是,為了達到并行測試的目的,流水線中需要包括多個獨立的測試單元,導致測試成本較高,且每個測試單元運行一個測試例,并行測試個數(shù)受測試例個數(shù)所限,若需要同時測試更多的被測對象,則需要更多的流水線,比如同時測試2m個被測對象則需要兩條流水線,從而導致測試成本的加大;并且,各個測試單元內(nèi)的測試例固定,不能靈活調(diào)整測試內(nèi)容,比如若需要修改測試內(nèi)容的公共部分如特定參數(shù),則要改動流水線中的每個測試單元。
二、真實環(huán)境測試參見圖2,真實環(huán)境測試是指利用真實環(huán)境對一組被測對象進行測試,實現(xiàn)并行測試的目的,比如通過真實核心網(wǎng)加接入網(wǎng)對終端如手機進行批量測試。
但是,真實環(huán)境測試需要的設備復雜、成本高;并且,真實環(huán)境不能主動產(chǎn)生異常,因此,只能測試被測對象的正常流程,不能測試異常流程,另外,對于條件比較復雜的正常流程,如多方會議、各種條件下的呼叫前轉(zhuǎn)等業(yè)務測試,其測試過程不易控制。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種并行測試方法及系統(tǒng),降低并行測試成本。
為達到上述目的,本發(fā)明所提供的并行測試系統(tǒng)包括測試執(zhí)行機、多路適配器和被測對象,其中,測試執(zhí)行機用于將至少一條測試消息發(fā)送給多路適配器,每條測試消息分別對應多路適配器的一個端口,并用于根據(jù)多路適配器返回的測試結果,確定被測對象的性能;多路適配器用于連接被測對象,每個被測對象分別對應一個端口,并用于根據(jù)測試消息所對應的端口,將收到的測試消息發(fā)送給對應的被測對象,并將來自被測對象的測試結果發(fā)送給測試執(zhí)行機。
其中,所述多路適配器包括邏輯連接模塊、映射管理調(diào)度模塊和物理連接模塊,邏輯連接模塊用于將收到的來自測試執(zhí)行機的測試消息發(fā)送給映射管理調(diào)度模塊,并用于將收到的來自映射管理調(diào)度模塊的測試結果發(fā)送給測試執(zhí)行機;映射管理調(diào)度模塊用于根據(jù)測試消息所對應的端口,將收到的來自邏輯連接模塊的測試消息發(fā)送給物理連接模塊上對應的端口,并用于將收到的來自物理連接模塊的測試結果發(fā)送給邏輯連接模塊;物理連接模塊用于通過端口將收到的來自映射管理調(diào)度模塊的測試消息發(fā)送給被測對象,并用于將收到的來自被測對象的測試結果發(fā)送給映射管理調(diào)度模塊。
本發(fā)明所提供的并行測試方法包括以下步驟A、建立具有至少一個端口的多路適配器與被測對象的連接,每個被測對象分別對應一個端口;B、測試執(zhí)行機同時將至少一條測試消息發(fā)送給多路適配器,每條測試消息分別對應一個端口;C、多路適配器收到測試消息后,根據(jù)測試消息所對應的端口將測試消息發(fā)送給對應的被測對象;D、被測對象收到測試消息后,通過多路適配器向測試執(zhí)行機返回測試結果;E、測試執(zhí)行機根據(jù)收到的測試結果確定被測對象的性能。
其中,所述步驟B包括測試執(zhí)行機加載包括測試例的并行測試套,根據(jù)測試例向多路適配器并行發(fā)送測試消息,每條測試消息分別對應一個端口。
所述并行測試套進一步包括并行測試策略,則步驟B所述測試執(zhí)行機發(fā)送測試消息為測試執(zhí)行機根據(jù)并行測試策略發(fā)送測試消息。
由此可見,本發(fā)明通過使用多路適配器實現(xiàn)了一個測試執(zhí)行機與多個被測對象的連接,并通過在一個測試執(zhí)行機上加載并行測試套實現(xiàn)了同時測試多個被測對象的目的,無需增加額外的測試單元,降低了并行測試成本;并且,并行測試套內(nèi)容既可以是正常流程測試,也可以是異常流程測試,測試過程較易控制,且可通過修改并行測試套,靈活地調(diào)整測試內(nèi)容。
圖1為現(xiàn)有技術中的流水線測試系統(tǒng)示意圖;圖2為現(xiàn)有技術中的真實環(huán)境測試系統(tǒng)示意圖;圖3為本發(fā)明實施例中的并行測試系統(tǒng)示意圖;圖4為本發(fā)明實施例中的并行測試方法流程圖;圖5為本發(fā)明實施例中多路適配器的結構示意圖。
具體實施例方式
為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,下面參照附圖并舉實施例,對本發(fā)明作進一步詳細說明。
參見圖3所示,本發(fā)明所提供的并行測試系統(tǒng)主要包括測試執(zhí)行機、多路適配器和被測對象,其中,測試執(zhí)行機用于將至少一條測試消息發(fā)送給多路適配器,每條測試消息分別對應多路適配器的一個端口,并用于根據(jù)多路適配器返回的測試結果,確定被測對象的性能;多路適配器用于連接被測對象,每個被測對象分別對應一個端口,并用于根據(jù)測試消息所對應的端口,將收到的測試消息發(fā)送給對應的被測對象,并將來自被測對象的測試結果發(fā)送給測試執(zhí)行機。
為與背景技術中所述的每次只能加載一個測試例、測試一個被測對象的測試單元相區(qū)分,本文中將可同時測試多個被測對象的測試執(zhí)行部分稱作測試執(zhí)行機,其實質(zhì)與所述測試單元一致,都是通過加載測試例來執(zhí)行測試,只不過本文中的測試執(zhí)行機比測試單元具有更強大的數(shù)據(jù)處理能力,能夠同時處理多路測試。測試執(zhí)行機具體可由計算機(PC)來實現(xiàn)。
多路適配器是一具有多個端口的設備,各個端口可以接入不同的被測對象。比如,測試執(zhí)行機需要同時測試m個手機終端,則各個終端可以通過接入不同的端口分別實現(xiàn)與多路適配器的連接。
下面結合圖3所示的并行測試系統(tǒng),對本發(fā)明提出的并行測試方法進行詳細說明,參見圖4所示,本實施例中的并行測試方法主要包括以下幾個步驟步驟401建立具有多個端口的多路適配器與被測對象的連接,每個被測對象分別對應一個端口。
步驟402測試執(zhí)行機同時將多條測試消息發(fā)送給多路適配器,每條測試消息分別對應一個端口。
比如,測試執(zhí)行機需要同時測試m個被測對象,則測試執(zhí)行機可同時發(fā)送m條測試消息,各條測試消息分別對應不同的端口。
當然,在執(zhí)行測試之前,需要針對各個被測對象希望測試的各項內(nèi)容編寫測試例,比如,編寫測試手機鈴聲功能的測試例、或編寫測試手機顯示功能的測試例等。本實施例中,將所有這些測試例的集合稱作并行測試套。并行測試套中的每個測試例相互獨立,描述一系列測試動作如何應用于一個具體的被測對象,其編寫方法與現(xiàn)有技術中測試例的編寫方法一致,在邏輯上描述測試流程、測試消息、消息參數(shù)、定時器等,其內(nèi)容可以是用于一致性測試的正常流程測試或異常流程測試,也可以是用于互操作性測試的與模擬特定實體進行的特定流程、特定消息參數(shù)測試,測試過程較易控制。實際上,測試執(zhí)行機是通過加載包括測試例的并行測試套,根據(jù)測試例發(fā)送測試消息的。由于并行測試套的修改較為方便,因此,可通過修改并行測試套,靈活地調(diào)整測試內(nèi)容。
其中,并行測試套可使用測試與測試控制記法(TTCN3,Test and TestingControl Notation V3)、或工具命令語言(TCL,Tool Command Language)等語言進行編寫。TTCN3測試語言通過構造主測試部件(MTC,Main TestComponent)和并行測試部件(PTC,Parallel Test Component)實現(xiàn)并行測試,同時執(zhí)行多個獨立的測試任務;TCL腳本語言可通過擴展方式實現(xiàn)多線程,同樣可以同時執(zhí)行多個獨立的測試任務。
另外,為更加靈活地執(zhí)行并行測試任務,還可以設置并行測試策略,測試執(zhí)行機根據(jù)設置的并行測試策略發(fā)送測試消息。并行測試策略是指具體如何測試多個被測對象,包括啟動測試的時機、啟動測試的個數(shù)、對各個被測對象依次啟動哪些測試例等。比如,對于多個等待測試的被測對象,若各個被測對象之間相互獨立、不存在任何關聯(lián)關系,則可將并行測試策略設置為同時啟動對各個被測對象的測試,即同時發(fā)送測試消息;如果被測對象之間存在關聯(lián)關系,比如共有2n個手機被測對象等待測試,其中,奇數(shù)編號的被測對象為手機主叫用戶,偶數(shù)編號的被測對象為手機被叫用戶,若要測試這2n個被測對象,則需要編寫一個具體的并行測試策略,以保證先啟動對各個奇數(shù)編號被測對象的測試,并在一定時間后,及時啟動對各個偶數(shù)編號被測對象的測試。對于各個被測對象,可在測試執(zhí)行時指定具體測試例,多個被測對象在并行測試時既可以執(zhí)行相同的測試例,也可以執(zhí)行不同的測試例。其中,所述并行測試策略可以在并行測試套中設置,即在編寫并行測試套時描述并行測試策略。
步驟403多路適配器收到測試消息后,根據(jù)測試消息所對應的端口將測試消息發(fā)送給對應的被測對象。
步驟404被測對象收到測試消息后,通過多路適配器向測試執(zhí)行機返回測試結果。
步驟405測試執(zhí)行機根據(jù)收到的測試結果確定被測對象的性能。
測試執(zhí)行機根據(jù)被測對象返回的測試結果判定被測對象的性能,比如,對于被測對象1,測試執(zhí)行機發(fā)出的測試消息是01010101,如果該被測對象返回給測試執(zhí)行機的測試結果是10101010,則認為該被測對象通過測試,否則,認為該被測對象沒有通過測試,可能存在質(zhì)量問題。測試執(zhí)行機不僅可以對單個被測對象的性能作出判定,還可以綜合各個被測對象的性能,對所有被測對象的整體性能作出判定。
參見圖5所示,多路適配器包括邏輯連接模塊、映射管理調(diào)度模塊和物理連接模塊。
其中,邏輯連接模塊用于將收到的來自測試執(zhí)行機的測試消息發(fā)送給映射管理調(diào)度模塊,并用于將收到的來自映射管理調(diào)度模塊的測試結果發(fā)送給測試執(zhí)行機;映射管理調(diào)度模塊用于根據(jù)測試消息所對應的端口,將收到的來自邏輯連接模塊的測試消息發(fā)送給物理連接模塊上對應的端口,并用于將收到的來自物理連接模塊的測試結果發(fā)送給邏輯連接模塊;物理連接模塊用于通過端口將收到的來自映射管理調(diào)度模塊的測試消息發(fā)送給被測對象,并用于將收到的來自被測對象的測試結果發(fā)送給映射管理調(diào)度模塊。
實際上,邏輯連接模塊從測試執(zhí)行機處收到的測試消息所對應的端口是邏輯上描述的端口,因此,映射管理調(diào)度模塊需要根據(jù)這些邏輯端口與物理連接模塊上各端口的對應關系,將收到的測試消息通過物理連接模塊上對應的端口發(fā)送給對應的被測對象;并將收到的來自物理連接模塊各個不同端口的測試結果發(fā)送到對應的邏輯端口。物理連接模塊用來實現(xiàn)與被測對象的互連;邏輯連接模塊用來區(qū)分各個邏輯端口,使各個邏輯端口相互獨立通訊。
可見,本發(fā)明所提供的系統(tǒng)及方法能夠降低并行測試成本,可以靈活調(diào)整測試內(nèi)容,且既可以測試正常流程,也可以測試異常流程。
另外,現(xiàn)有技術中,每個測試單元每次加載一個測試例、測試一個被測對象,完成全部的測試內(nèi)容,每個被測對象需要經(jīng)過多個測試單元的測試,被測對象性能的判定,須統(tǒng)計多個測試單元的測試結果并進行分析,也就是說,分散的測試方法不利于測試結果的統(tǒng)計和分析。本實施例中,一個測試執(zhí)行機能夠同時完成多個被測對象的全部測試內(nèi)容,相比現(xiàn)有的并行測試方法,本發(fā)明在測試結果的統(tǒng)計和分析上更為方便;并且,還可利用各個被測對象的測試結果,對所有被測對象的性能作出整體判定。
以上所述對本發(fā)明的目的、技術方案和有益效果進行了進一步的詳細說明,所應理解的是,以上所述并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種并行測試系統(tǒng),其特征在于,該系統(tǒng)包括測試執(zhí)行機、多路適配器和被測對象,其中,測試執(zhí)行機用于將至少一條測試消息發(fā)送給多路適配器,每條測試消息分別對應多路適配器的一個端口,并用于根據(jù)多路適配器返回的測試結果,確定被測對象的性能;多路適配器用于連接被測對象,每個被測對象分別對應一個端口,并用于根據(jù)測試消息所對應的端口,將收到的測試消息發(fā)送給對應的被測對象,并將來自被測對象的測試結果發(fā)送給測試執(zhí)行機。
2.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述多路適配器包括邏輯連接模塊、映射管理調(diào)度模塊和物理連接模塊,其中,邏輯連接模塊用于將收到的來自測試執(zhí)行機的測試消息發(fā)送給映射管理調(diào)度模塊,并用于將收到的來自映射管理調(diào)度模塊的測試結果發(fā)送給測試執(zhí)行機;映射管理調(diào)度模塊用于根據(jù)測試消息所對應的端口,將收到的來自邏輯連接模塊的測試消息發(fā)送給物理連接模塊上對應的端口,并用于將收到的來自物理連接模塊的測試結果發(fā)送給邏輯連接模塊;物理連接模塊用于通過端口將收到的來自映射管理調(diào)度模塊的測試消息發(fā)送給被測對象,并用于將收到的來自被測對象的測試結果發(fā)送給映射管理調(diào)度模塊。
3.一種并行測試方法,其特征在于,該方法包括以下步驟A、建立具有至少一個端口的多路適配器與被測對象的連接,每個被測對象分別對應一個端口;B、測試執(zhí)行機同時將至少一條測試消息發(fā)送給多路適配器,每條測試消息分別對應一個端口;C、多路適配器收到測試消息后,根據(jù)測試消息所對應的端口將測試消息發(fā)送給對應的被測對象;D、被測對象根據(jù)收到的測試消息執(zhí)行測試,并通過多路適配器向測試執(zhí)行機返回測試結果;E、測試執(zhí)行機根據(jù)收到的測試結果確定被測對象的性能。
4.根據(jù)權利要求3所述的方法,其特征在于,所述步驟B包括測試執(zhí)行機加載包括測試例的并行測試套,根據(jù)測試例向多路適配器發(fā)送測試消息,每條測試消息分別對應一個端口。
5.根據(jù)權利要求4所述的方法,其特征在于,所述并行測試套進一步包括并行測試策略,則步驟B所述測試執(zhí)行機發(fā)送測試消息為測試執(zhí)行機根據(jù)并行測試策略發(fā)送測試消息。
全文摘要
本發(fā)明公開了一種并行測試方法,該方法包括以下步驟A、建立具有至少一個端口的多路適配器與被測對象的連接,每個被測對象分別對應一個端口;B、測試執(zhí)行機同時將至少一條測試消息發(fā)送給多路適配器,每條測試消息分別對應一個端口;C、多路適配器收到測試消息后,根據(jù)測試消息所對應的端口將測試消息發(fā)送給對應的被測對象;D、被測對象收到測試消息后,通過多路適配器向測試執(zhí)行機返回測試結果;E.測試執(zhí)行機根據(jù)收到的測試結果確定被測對象的性能。本發(fā)明還公開了一種并行測試系統(tǒng),該系統(tǒng)包括測試執(zhí)行機、多路適配器和被測對象。本發(fā)明所提供的系統(tǒng)及方法能夠降低并行測試成本。
文檔編號G06F11/26GK1983990SQ20061008051
公開日2007年6月20日 申請日期2006年5月11日 優(yōu)先權日2006年5月11日
發(fā)明者尹昌勝 申請人:華為技術有限公司