欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種使用狀態(tài)機(jī)測試網(wǎng)元接口的方法

文檔序號:7597329閱讀:254來源:國知局
專利名稱:一種使用狀態(tài)機(jī)測試網(wǎng)元接口的方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)元接口的測試方法,具體涉及一種使用狀態(tài)機(jī)測試網(wǎng)元接口的方法。
背景技術(shù)
系統(tǒng)的業(yè)務(wù)自動化測試中,如協(xié)議一致性測試、業(yè)務(wù)功能測試等,需要對協(xié)議的消息流程或業(yè)務(wù)流程建立模型,而狀態(tài)機(jī)技術(shù)適用于面向過程的應(yīng)用,適用于系統(tǒng)的動態(tài)建模。如果對象的行為必須響應(yīng)異步激發(fā),或它的當(dāng)前行為依賴于過去,用狀態(tài)機(jī)可以簡單、高效地描述系統(tǒng)的行為,而且便于理解。在業(yè)務(wù)測試中,需要模擬被測試設(shè)備的外部接口的行為,用于測試設(shè)備的設(shè)計功能完備性?,F(xiàn)有的網(wǎng)元接口的測試方法之一,是將模擬網(wǎng)元接口的狀態(tài)機(jī)以代碼的形式置于測試程序或腳本中,這種方法的缺點是沒有區(qū)分狀態(tài)機(jī)和狀態(tài)機(jī)執(zhí)行器,描述方法復(fù)雜,需要寫測試代碼,應(yīng)用的技術(shù)難度高,不易于維護(hù)。另外一種測試方法是將模擬網(wǎng)元接口的狀態(tài)機(jī)和狀態(tài)機(jī)執(zhí)行器分開設(shè)計,但是這種方法的缺點是狀態(tài)機(jī)描述方法簡單,沒有執(zhí)行過程中的用戶需要的資源檢查等定制的功能的描述;狀態(tài)機(jī)不分層次,子狀態(tài)機(jī)沒有進(jìn)行模塊化,不能充分共享;狀態(tài)機(jī)執(zhí)行器沒有擴(kuò)展接口給用戶使用。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,克服現(xiàn)有技術(shù)中狀態(tài)機(jī)不分層次,子狀態(tài)機(jī)沒有進(jìn)行模塊化,不能充分共享,以及狀態(tài)機(jī)執(zhí)行器沒有擴(kuò)展接口給用戶使用,不能進(jìn)行用戶需要的資源檢查的缺點。
為解決上述技術(shù)問題,本發(fā)明采用如下的技術(shù)方案一種使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,包括以下步驟采用面向?qū)ο蠹夹g(shù),由不同狀態(tài)機(jī)對象表示相應(yīng)的網(wǎng)元接口,其通過適配器與一個狀態(tài)機(jī)模板對象對應(yīng),狀態(tài)機(jī)執(zhí)行器加載不同的狀態(tài)機(jī)對象來模擬不同的網(wǎng)元接口行為,不同網(wǎng)元在所述狀態(tài)機(jī)執(zhí)行器中以相應(yīng)網(wǎng)元對象表示,由各個網(wǎng)元對象實例共享所述狀態(tài)機(jī)模板對象。
在狀態(tài)機(jī)描述文本中對狀態(tài)機(jī)描述表、消息信元回填映射表和測試消息集合進(jìn)行描述,所述狀態(tài)機(jī)描述文本以屬性的方式與狀態(tài)機(jī)模板對象對應(yīng),測試系統(tǒng)根據(jù)所述狀態(tài)機(jī)描述文本創(chuàng)建所述狀態(tài)機(jī)模板對象的相應(yīng)實例。
在所述狀態(tài)機(jī)描述文本中根據(jù)子狀態(tài)機(jī)名對狀態(tài)機(jī)進(jìn)行分層描述。
同一網(wǎng)元對象實例的多個狀態(tài)機(jī)層次以單向鏈表的方式表達(dá),形成調(diào)用棧的關(guān)系,所述測試系統(tǒng)的用戶流程根據(jù)狀態(tài)機(jī)描述的要求維護(hù)所述單向鏈表的創(chuàng)建、處理和釋放。
所述狀態(tài)機(jī)執(zhí)行器的觸發(fā)器對象根據(jù)測試需要啟動并發(fā)流程或檢查當(dāng)前的資源狀態(tài),根據(jù)接收消息啟動并切換到另一層狀態(tài)機(jī)執(zhí)行。
所述測試系統(tǒng)初始化時建立缺省的公用流程,其它用戶流程根據(jù)接收消息建立,當(dāng)一個流程中包含不止一個協(xié)議層消息時,每一協(xié)議層對應(yīng)一個狀態(tài)機(jī)對象實例,其通過適配器與一個狀態(tài)機(jī)模板對象邦定。
采用本發(fā)明的技術(shù)方案,由于在狀態(tài)機(jī)描述文本中對狀態(tài)機(jī)分層描述,使復(fù)雜的狀態(tài)機(jī)更清晰,狀態(tài)機(jī)和狀態(tài)機(jī)執(zhí)行器分離,使測試系統(tǒng)易于實現(xiàn),易于維護(hù)。


圖1是本發(fā)明的測試系統(tǒng)內(nèi)部實體關(guān)系圖。
具體實施例方式
下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步詳細(xì)說明狀態(tài)機(jī)描述文本是以FSM(Finite State Machine,有限狀態(tài)機(jī))為擴(kuò)展名的文件,其中包括狀態(tài)機(jī)描述、回填消息IE(Information Element,消息信元)映射表和測試消息文件名列表,狀態(tài)機(jī)描述的標(biāo)識關(guān)鍵字為FSM;回填消息IE映射表的標(biāo)識關(guān)鍵字為MSGIE;消息文件名稱列表的標(biāo)識關(guān)鍵字為MSGLIST。注釋和說明文字以逗號開頭。測試消息文件名以擴(kuò)展名MSG結(jié)尾。
業(yè)務(wù)狀態(tài)機(jī)以表驅(qū)動,以“FSM”作為表的起始標(biāo)識,表的每一行包含序號、狀態(tài)名、接收消息名、發(fā)送消息名、等待延時時長、超時遷移目的狀態(tài)名、正常遷移目的狀態(tài)名、下一層狀態(tài)機(jī)名、觸動發(fā)器名和狀態(tài)說明等十項,各項以逗號分開,當(dāng)某一項可以有多項時,以引號包含,各子項以空格分隔。當(dāng)表中某項為“”時表示沒有相應(yīng)的值或為空。狀態(tài)序號是唯一的不會重復(fù)。延時時長以毫秒為單位。狀態(tài)機(jī)表的第一行是狀態(tài)機(jī)啟動入口,頭一條接收消息和發(fā)送消息需要安排第一行,其它的狀態(tài)行可以任意安排。以下說明狀態(tài)行中各項的用法。
1、狀態(tài)行序號序號是唯一標(biāo)識一個狀態(tài),不能為空,序號為1或0的狀態(tài)并不一定是頭一個狀態(tài),狀態(tài)機(jī)表的第一行的狀態(tài)才是頭一個處理的狀態(tài)。
2、狀態(tài)名狀態(tài)名表示是狀態(tài)名稱,不能為空,當(dāng)在相同狀態(tài)下需要接收不同的消息時,可以描述成多行具有相同狀態(tài)名的狀態(tài),但狀態(tài)序號不同。
3、接收消息名表示是在本狀態(tài)下準(zhǔn)備接收的消息名稱,該消息是用ASN.1(AbstractSyntaxNotation No.1,抽象語法記號1)描述的消息文件,作為消息模板應(yīng)在消息文件目錄中保存,狀態(tài)機(jī)執(zhí)行引擎運(yùn)行時加載。若沒有需要接收的消息,此項填“”。
4、發(fā)送消息名表示是在本狀態(tài)下準(zhǔn)備發(fā)送的消息名稱,該消息的消息模板應(yīng)在消息文件目錄中保存,狀態(tài)機(jī)執(zhí)行引擎運(yùn)行時加載,根據(jù)接收消息來回填相應(yīng)的信元。若沒有需要發(fā)送的消息,此項填“”,發(fā)送消息可以有多個,各個消息以空格來分開。
5、等待延時時長表示是在本狀態(tài)下等待接收消息的延時,以毫秒為單位,若沒有延時要求時,此項填0。
6、超時遷移目的狀態(tài)名表示是在本狀態(tài)下在規(guī)定的時間內(nèi)沒有收到相應(yīng)的消息時,狀態(tài)機(jī)遷移的目標(biāo)狀態(tài)?!癊RROR”、“OVER”、“SUCCESS”、“FAIL”是保留狀態(tài)名,表示狀態(tài)機(jī)的結(jié)果狀態(tài)。最頂層狀態(tài)機(jī)返回以上保留狀態(tài),表示用戶實例執(zhí)行完畢。
7、正常遷移目的狀態(tài)名表示是在本狀態(tài)下在規(guī)定的時間內(nèi)收到相應(yīng)的消息時,狀態(tài)機(jī)遷移的目標(biāo)狀態(tài)?!癊RROR”、“OVER”、“SUCCESS”、“FAIL”是保留狀態(tài)名,表示狀態(tài)機(jī)的結(jié)果狀態(tài)。最頂層狀態(tài)機(jī)返回以上保留狀態(tài),表示用戶實例執(zhí)行完畢。
8、下一層狀態(tài)機(jī)名表示是執(zhí)行另一個狀態(tài)機(jī)的名稱,在當(dāng)前狀態(tài)下在規(guī)定的時間內(nèi)收到相應(yīng)的消息后,在發(fā)送相應(yīng)的消息之前,若有下一層狀態(tài)機(jī)名不為空時,暫停當(dāng)前狀態(tài)機(jī),啟動執(zhí)行另一個狀態(tài)機(jī),再根據(jù)這個狀態(tài)機(jī)返回的狀態(tài)來決定本層狀態(tài)機(jī)的狀態(tài)遷移。
9、觸發(fā)器名稱表示在當(dāng)前狀態(tài)下,需要通過觸發(fā)器類來啟動另一個并發(fā)的流程,一般是被叫流程,當(dāng)前流程繼續(xù)運(yùn)行。或者是啟動一個資源檢查過程,用來核查當(dāng)前狀態(tài)下和資源,這需要OM資源查詢模塊的配合。最終用戶可以根據(jù)需要擴(kuò)展觸發(fā)器類,以實現(xiàn)不同的測試需求,系統(tǒng)默認(rèn)提供實現(xiàn)啟動被叫流程的觸發(fā)器類(CalleeTrigger)。
10、狀態(tài)說明表示在當(dāng)前狀態(tài)下,系統(tǒng)處于何種邏輯狀況,如等待用戶接入、鏈路建立完成、小區(qū)建立完成等等。
消息信元回填映射表消息信元回填映射表保存了從接收消息中指定的信元和準(zhǔn)備填入的發(fā)送消息,以“MSGIE”作為表的起始標(biāo)識,表中各行沒有依賴關(guān)系,可以任意安排。表的每一行包含接收消息名、接收信元的路徑、發(fā)送消息名、發(fā)送信元的路徑等四項,各項以逗號分開,信元路徑用引號包含,信元路徑各部分以空格分隔。
當(dāng)回填映射表中某項為“”時表示沒有相應(yīng)的值或為空。
當(dāng)回填映射表發(fā)送消息和發(fā)送信元的路徑都以“”時,表示接收消息是狀態(tài)機(jī)頭一條消息,并且需要從中取出標(biāo)識信元ID,如IMSI或UEID。
當(dāng)回填映射表中接收消息為“”接收信元為“ID”、“IMSI”時,表示需要向?qū)ず粝⑻钊氡唤械腎D(UEID、IMSI等)。
從用戶易用性考慮,當(dāng)需要回填的信元是一個序列(SEQUENCE OF)時,在信元路徑的最后標(biāo)注序列的數(shù)量來代替信元路徑最后的偏移,則系統(tǒng)會依次回填所有的序列項。例如IMSI有15位數(shù)字,則用SimRNC-15表示。ISDN有11位,則用SimRNC-11表示,以此類推。例如MSGIE;主叫 用于創(chuàng)建用戶實體{″RRC_RRC_CONNECT_REQ″,″dllMsg struMsgChoice struRrc-MsgstruUU-RRC-CONN-SETUP-STRU struInitUeId u struImsi aucImsiSimRNC-15″,″″,″″};正常{RRC_RRC_CONNECT_REQ,″ulInstId″,RRC_RRC_CONNECT_SETUP,″ulInstId″};被呼
{″″,″ID″,Paging,″ulInstId″}{″″,″IMSI″,Paging,″dllMsg struMsgChoice struRrc-MsgstruUU-RRC-CONN-SETUP-STRU struInitUeId u struImsi aucImsiSimRNC-15″}針對狀態(tài)機(jī)描述的需求和并發(fā)執(zhí)行的需求,需要模擬的有設(shè)備在執(zhí)行器中以一個設(shè)備對象形式存在,每一個設(shè)備對象模擬一個設(shè)備,可以相同類的設(shè)備也可以不同類的設(shè)備,狀態(tài)機(jī)采用模板設(shè)計模式,狀態(tài)機(jī)描述文本作為只讀的數(shù)據(jù)源,以對象實例子的方式創(chuàng)建狀態(tài)機(jī)模板,由各個設(shè)備實例共享狀態(tài)機(jī)模板對象。其次,針對多層狀態(tài)機(jī)描述,同一設(shè)備實例的多個狀態(tài)機(jī)層次通過單向鏈表的方式表達(dá),形成一個調(diào)用棧的關(guān)系,體現(xiàn)多層協(xié)議棧的實現(xiàn)需求,呼叫中的實例對象根據(jù)狀態(tài)機(jī)描述的要求維護(hù)該鏈表資源的創(chuàng)建、處理和釋放,鏈表中的對象則是代表某一個狀態(tài)機(jī)的實現(xiàn)實例的數(shù)據(jù)對象。再者,各個實例的狀態(tài)機(jī)鏈表對象通過適配對象與狀態(tài)機(jī)對象建立非排他性的一對一的幫定關(guān)系。最后,主控模塊通過消息泵接收前臺消息,根據(jù)消息類型進(jìn)行分發(fā)和調(diào)度,實現(xiàn)多實例分時共享的目的。
系統(tǒng)劃分為執(zhí)行引擎消息泵模塊,用戶對象模塊,狀態(tài)機(jī)實體模塊,狀態(tài)機(jī)適配模塊,協(xié)議層切換與測試檢查模塊和狀態(tài)機(jī)描述模塊,各個模塊用一個類來描述其功能和需要維護(hù)的數(shù)據(jù),用戶的測試腳本啟動執(zhí)行引擎消息泵,然后根據(jù)接收的消息來創(chuàng)建用戶對象,用戶對象根據(jù)接收的消息來確定如何與狀態(tài)機(jī)、狀態(tài)機(jī)適配等配合構(gòu)成一個狀態(tài)機(jī)執(zhí)行的實體。結(jié)構(gòu)圖如圖1所示。
初始化時建立的系統(tǒng)用戶對象是包含缺省的公用流程,其它用戶對象是根據(jù)接收消息建立,例如它包含手機(jī)的呼叫流程。當(dāng)流程中包含不止一個協(xié)議層消息時,每一層擁有一個狀態(tài)機(jī)實體(數(shù)據(jù)對象Entity),它通過適配器(Adapter)與某一個狀態(tài)機(jī)描述模板(TMSGFSM)邦定;狀態(tài)機(jī)模板對象擁有狀態(tài)機(jī)的描述表、測試消息集和回填信元關(guān)系表等狀態(tài)機(jī)的固有屬性,適配器(Adapter)保存狀態(tài)機(jī)的運(yùn)行信息。這樣劃分的目的是只要更新狀態(tài)機(jī)描述擴(kuò)展包即可以擴(kuò)充狀態(tài)機(jī)執(zhí)行引擎的執(zhí)行能力,模擬不同的網(wǎng)元實體。狀態(tài)機(jī)協(xié)議層切換與觸發(fā)器(Trigger)是各層狀態(tài)機(jī)的轉(zhuǎn)接點,測試執(zhí)行過程中的檢查點,Trigger的實例可以根據(jù)測試需要檢查當(dāng)前的資源狀態(tài),根據(jù)接收消息啟動并切換到另一層狀態(tài)機(jī)執(zhí)行,或根據(jù)狀態(tài)機(jī)流程需要創(chuàng)建被叫實體,由狀態(tài)機(jī)實體解析狀態(tài)機(jī)描述后,根據(jù)需要來創(chuàng)建,完成任務(wù)后隨即釋放。執(zhí)行器提供一般通用的觸發(fā)器功能,觸發(fā)器也作為一個外部接口。提供給用戶,狀態(tài)機(jī)描述中只需要給予新的觸發(fā)器名稱即可。在以TCL的實現(xiàn)執(zhí)行器時,把觸發(fā)器作為一個模板類和規(guī)則,提供給用戶根據(jù)實際需要定制個性化的實現(xiàn)。
雖然通過參照本發(fā)明的優(yōu)選實施例,已經(jīng)對本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對其作各種各樣的改變,而不偏離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,包括以下步驟采用面向?qū)ο蠹夹g(shù),由不同狀態(tài)機(jī)對象表示相應(yīng)的網(wǎng)元接口,其通過適配器與一個狀態(tài)機(jī)模板對象對應(yīng),狀態(tài)機(jī)執(zhí)行器加載不同的狀態(tài)機(jī)對象來模擬不同的網(wǎng)元接口行為,不同網(wǎng)元在所述狀態(tài)機(jī)執(zhí)行器中以相應(yīng)網(wǎng)元對象表示,由各個網(wǎng)元對象實例共享所述狀態(tài)機(jī)模板對象。
2.根據(jù)權(quán)利要求1所述的使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,其特征在于在狀態(tài)機(jī)描述文本中對狀態(tài)機(jī)描述表、消息信元回填映射表和測試消息集合進(jìn)行描述,所述狀態(tài)機(jī)描述文本以屬性的方式與狀態(tài)機(jī)模板對象對應(yīng),測試系統(tǒng)根據(jù)所述狀態(tài)機(jī)描述文本創(chuàng)建所述狀態(tài)機(jī)模板對象的相應(yīng)實例。
3.根據(jù)權(quán)利要求2所述的使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,其特征在于在所述狀態(tài)機(jī)描述文本中根據(jù)子狀態(tài)機(jī)名對狀態(tài)機(jī)進(jìn)行分層描述。
4.根據(jù)權(quán)利要求3所述的使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,其特征在于同一網(wǎng)元對象實例的多個狀態(tài)機(jī)層次以單向鏈表的方式表達(dá),形成調(diào)用棧的關(guān)系,所述測試系統(tǒng)的用戶流程根據(jù)狀態(tài)機(jī)描述的要求維護(hù)所述單向鏈表的創(chuàng)建、處理和釋放。
5.根據(jù)權(quán)利要求4所述的使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,其特征在于所述狀態(tài)機(jī)執(zhí)行器的觸發(fā)器對象根據(jù)測試需要啟動并發(fā)流程或檢查當(dāng)前的資源狀態(tài),根據(jù)接收消息啟動并切換到另一層狀態(tài)機(jī)執(zhí)行。
6.根據(jù)權(quán)利要求5所述的使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,其特征在于設(shè)置所述觸發(fā)器類為模板類。
7.根據(jù)權(quán)利要求6所述的使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,其特征在于設(shè)置所述狀態(tài)機(jī)描述文本為只讀文本。
8.根據(jù)權(quán)利要求7所述的使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,其特征在于所述測試系統(tǒng)初始化時建立缺省的公用流程,其它用戶流程根據(jù)接收消息建立,當(dāng)一個流程中包含不止一個協(xié)議層消息時,每一協(xié)議層對應(yīng)一個狀態(tài)機(jī)對象實例,其通過適配器與一個狀態(tài)機(jī)模板對象邦定。
9.根據(jù)權(quán)利要求8所述的使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,其特征在于所述適配器保存狀態(tài)機(jī)對象的運(yùn)行信息。
全文摘要
本發(fā)明公開了一種使用狀態(tài)機(jī)測試網(wǎng)元接口的方法,包括步驟由不同狀態(tài)機(jī)對象表示相應(yīng)的網(wǎng)元接口,其通過適配器與一個狀態(tài)機(jī)模板對象對應(yīng),狀態(tài)機(jī)執(zhí)行器加載不同的狀態(tài)機(jī)對象來模擬不同的網(wǎng)元接口行為,不同網(wǎng)元在所述狀態(tài)機(jī)執(zhí)行器中以相應(yīng)網(wǎng)元對象表示,由各個網(wǎng)元對象實例共享所述狀態(tài)機(jī)模板對象。在狀態(tài)機(jī)描述文本中對狀態(tài)機(jī)描述表、消息信元回填映射表和測試消息集合進(jìn)行描述,狀態(tài)機(jī)描述文本以屬性的方式與狀態(tài)機(jī)模板對象對應(yīng),測試系統(tǒng)根據(jù)狀態(tài)機(jī)描述文本創(chuàng)建狀態(tài)機(jī)模板對象的相應(yīng)實例。采用本發(fā)明的技術(shù)方案,由于在狀態(tài)機(jī)描述文本中對狀態(tài)機(jī)分層描述,使?fàn)顟B(tài)機(jī)更清晰,狀態(tài)機(jī)和狀態(tài)機(jī)執(zhí)行器分離,測試系統(tǒng)易于實現(xiàn),易于維護(hù)。
文檔編號H04L12/26GK1787461SQ200410077328
公開日2006年6月14日 申請日期2004年12月6日 優(yōu)先權(quán)日2004年12月6日
發(fā)明者胡成鋼 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
巫溪县| 沁阳市| 临夏县| 法库县| 秀山| 黔江区| 旌德县| 青浦区| 鄂托克前旗| 阿拉善右旗| 绥化市| 乌兰浩特市| 榆树市| 板桥市| 金寨县| 翁源县| 乌拉特后旗| 兴宁市| 四会市| 手机| 伊春市| 苏尼特左旗| 龙井市| 柞水县| 临邑县| 吴旗县| 永康市| 内江市| 夏河县| 天等县| 塔河县| 金堂县| 抚松县| 宁晋县| 宜宾市| 集贤县| 宿迁市| 武城县| 新干县| 休宁县| 宾阳县|