專利名稱:一種基于xml腳本的tl1命令自動(dòng)化測(cè)試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及TLl命令測(cè)試領(lǐng)域,具體涉及一種基于XML腳本的TLl命令自動(dòng)化測(cè)
試方法。
背景技術(shù):
TL I (Transaction Language-1)是一種 ASCII (American Standard Code forInformation Interchange,美國信息互換標(biāo)準(zhǔn)代碼)型的人機(jī)交互協(xié)議,也是一種標(biāo)準(zhǔn)的電信管理協(xié)議;TL1的格式不僅簡單固定,而且TLl的消息容易閱 讀,便于操作人員和開發(fā)人員的理解。隨著通信技術(shù)的快速發(fā)展,TLl已經(jīng)廣泛應(yīng)用于通信設(shè)備中,由于通信設(shè)備中大量的信息均通過TLl命令下發(fā),因此,TLl命令下發(fā)是否成功是通信設(shè)備能否使用的關(guān)鍵要素,測(cè)試TLI命令下發(fā)是否成功變得尤為重要。傳統(tǒng)測(cè)試TLl命令的方法一般為1、針對(duì)通信設(shè)備的需求,在通信設(shè)備上根據(jù)相關(guān)功能的TLl命令定制通信協(xié)議格式和交互的數(shù)據(jù)內(nèi)容;2、啟動(dòng)第三方TLl命令軟件,并連接與通信設(shè)備對(duì)應(yīng)的網(wǎng)管服務(wù)端口 ;3、通過人工手動(dòng)向TLl命令軟件輸入并下發(fā)連接通信設(shè)備的TLl命令,并進(jìn)行逐條測(cè)試,用人眼查看TLl命令的返回信息來判斷下發(fā)的TLl命令是否通過測(cè)試,若未通過測(cè)試則對(duì)TLl命令邏輯進(jìn)行檢查和修改。但是,傳統(tǒng)的測(cè)試TLl命令的方法存在以下缺陷在測(cè)試過程中,不僅需要人工手動(dòng)輸入TLl命令并連接與通信設(shè)備對(duì)應(yīng)的網(wǎng)管服務(wù)端口,而且需要人工核對(duì)TLl命令的返回信息,并判斷該TLl命令是否下發(fā)成功。由于人工手動(dòng)輸入TLl命令和核對(duì)TLl命令的過程比較漫長,因此在大量的TLl命令需要測(cè)試的情況下,采用人工手動(dòng)輸入TLl命令和核對(duì)TLl命令會(huì)浪費(fèi)大量的測(cè)試時(shí)間,不僅工作效率較低,延長了通信設(shè)備的研發(fā)時(shí)間,而且使得通信設(shè)備從研發(fā)到應(yīng)用于市場(chǎng)的過程比較漫長,通信設(shè)備難以得到推廣。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種基于XML腳本的TLl命令自動(dòng)化測(cè)試方法,它能夠通過XML格式的腳本文件來自動(dòng)測(cè)試TLl命令的下發(fā)是否成功,測(cè)試時(shí)不需要人工手動(dòng)輸入TLl命令和核對(duì)TLl命令,測(cè)試過程較快,不僅縮短了測(cè)試時(shí)間,提高了工作效率,而且縮短了通信設(shè)備的研發(fā)時(shí)間,通信設(shè)備從研發(fā)到應(yīng)用于市場(chǎng)的過程較快,通信設(shè)備能夠比較快速的得到推廣。為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是一種基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,包括以下步驟:A、在XML格式的腳本文件中存儲(chǔ)測(cè)試腳本實(shí)體信息、測(cè)試模塊信息和測(cè)試項(xiàng)信息;所述測(cè)試腳本實(shí)體定義所述腳本文件的起始位置和終止位置,所述測(cè)試腳本實(shí)體由一個(gè)或多個(gè)測(cè)試模塊組成;所述測(cè)試模塊定義TLl命令的業(yè)務(wù)類型和測(cè)試端口信息,所述測(cè)試模塊由一個(gè)或多個(gè)測(cè)試項(xiàng)組成;所述測(cè)試項(xiàng)定義TLl命令的具體屬性,所述具體屬性包括編號(hào)屬性、測(cè)試項(xiàng)對(duì)應(yīng)的具體業(yè)務(wù)名稱、具體TLl命令測(cè)試數(shù)據(jù)和TLl測(cè)試返回信息的判斷標(biāo)準(zhǔn);B、解析存儲(chǔ)后的腳本文件;C、通過解析后的腳本文件測(cè)試TLl命令,并判斷TLl命令下發(fā)是否成功。在上述技術(shù)方案的基礎(chǔ)上,步驟B中解析腳本文件的流程包括以下步驟根據(jù)給定路徑查找腳本文件,若腳本文件存在,則讀取腳本文件;查找腳本文件內(nèi)的測(cè)試腳本實(shí)體信息,根據(jù)測(cè)試腳本實(shí)體的起始標(biāo)簽位置來確定測(cè)試腳本實(shí)體的起始位置,并初始化為測(cè)試腳本實(shí)體對(duì)象后進(jìn)行存儲(chǔ);若測(cè)試腳本實(shí)體對(duì)象中有測(cè)試模塊的定義,則讀取測(cè)試腳本實(shí)體對(duì)象中的測(cè)試模塊信息,根據(jù)測(cè)試模塊的數(shù)據(jù)類型構(gòu)造測(cè)試模塊對(duì)象,并將構(gòu)造完成的測(cè)試模塊對(duì)象組成測(cè)試模塊對(duì)象隊(duì)列,在測(cè)試模塊對(duì)象隊(duì)列中記錄TLl命令的業(yè)務(wù)類型和測(cè)試端口信息;讀取一個(gè)測(cè)試模塊對(duì)象,若讀取的測(cè)試模塊對(duì)象中有測(cè)試項(xiàng)的定義,則讀取當(dāng)前測(cè)試模塊對(duì)象中測(cè)試項(xiàng)的信息,根據(jù)測(cè)試項(xiàng)的數(shù)據(jù)類型構(gòu)造測(cè)試項(xiàng)對(duì)象,并將構(gòu)造完成的測(cè)試項(xiàng)對(duì)象組成測(cè)試項(xiàng)對(duì)象隊(duì)列;依次讀取測(cè)試項(xiàng)對(duì)象隊(duì)列中 每個(gè)測(cè)試項(xiàng)對(duì)象的具體屬性;驗(yàn)證所述腳本文件是否解析完成。在上述技術(shù)方案的基礎(chǔ)上,步驟B中解析腳本文件的流程還包括以下步驟若所述腳本文件不存在,則輸出返回錯(cuò)誤信息并結(jié)束測(cè)試程序;若測(cè)試腳本實(shí)體對(duì)象中沒有測(cè)試模塊的定義,則輸出返回錯(cuò)誤信息并結(jié)束測(cè)試程序;若測(cè)試模塊對(duì)象中沒有測(cè)試項(xiàng)的定義,則輸出返回錯(cuò)誤信息并結(jié)束測(cè)試程序。在上述技術(shù)方案的基礎(chǔ)上,步驟B中驗(yàn)證所述腳本文件是否解析完成的流程為判斷當(dāng)前測(cè)試模塊對(duì)象中是否還有未讀取的測(cè)試項(xiàng)對(duì)象,若是,則繼續(xù)讀取當(dāng)前測(cè)試模塊對(duì)象中測(cè)試項(xiàng)的信息;否則判斷當(dāng)前測(cè)試腳本實(shí)體對(duì)象中是否還有未讀取的測(cè)試模塊對(duì)象,若是,則繼續(xù)讀取測(cè)試腳本實(shí)體對(duì)象中測(cè)試模塊的信息,否則完成腳本文件的解析。在上述技術(shù)方案的基礎(chǔ)上,步驟C中通過解析后的腳本文件測(cè)試TLl命令的流程包括以下步驟獲取需測(cè)試通信設(shè)備服務(wù)器的IP地址和待測(cè)端口隊(duì)列,根據(jù)測(cè)試服務(wù)器的IP地址連接測(cè)試服務(wù)器;設(shè)置需測(cè)試測(cè)試項(xiàng)對(duì)象的條目索引為零,并將需測(cè)試的測(cè)試項(xiàng)對(duì)象標(biāo)識(shí)為測(cè)試項(xiàng)對(duì)象隊(duì)列的開始項(xiàng);按照所述條目索引讀取測(cè)試項(xiàng)對(duì)象隊(duì)列中的測(cè)試項(xiàng)對(duì)象,根據(jù)讀取的測(cè)試項(xiàng)對(duì)象獲取與其對(duì)應(yīng)的測(cè)試模塊對(duì)象中測(cè)試端口信息的值,若所述測(cè)試端口信息的值在待測(cè)端口隊(duì)列內(nèi),則獲取讀取的測(cè)試項(xiàng)對(duì)象的具體屬性,并下發(fā)具體屬性中的具體TLl命令測(cè)試數(shù)據(jù)到測(cè)試服務(wù)器;將測(cè)試服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)換成顯示的文字?jǐn)?shù)據(jù),并顯示輸出。在上述技術(shù)方案的基礎(chǔ)上,步驟C中通過解析后的腳本文件測(cè)試TLl命令的流程還包括如下步驟若根據(jù)測(cè)試服務(wù)器的IP地址連接測(cè)試服務(wù)器則返回錯(cuò)誤信息并結(jié)束;若測(cè)試服務(wù)器返回信息不成功,則返回錯(cuò)誤信息并結(jié)束。在上述技術(shù)方案的基礎(chǔ)上,步驟C中通過解析后的腳本文件測(cè)試TLl命令的流程還包括如下步驟若所述測(cè)試端口信息的值不在待測(cè)端口隊(duì)列內(nèi),則丟棄讀取的測(cè)試項(xiàng)對(duì)象,并重新按照所述條目索引讀取測(cè)試項(xiàng)對(duì)象隊(duì)列中的測(cè)試項(xiàng)對(duì)象。在上述技術(shù)方案的基礎(chǔ)上,步驟C中判斷TLl命令下發(fā)是否成功的流程為從測(cè)試服務(wù)器返回的數(shù)據(jù)中檢索TLl測(cè)試返回信息的判斷標(biāo)準(zhǔn),判斷該標(biāo)準(zhǔn)是否符合所述腳本文件中的TLl測(cè)試返回信息的判斷標(biāo)準(zhǔn),若是,則TLl命令下發(fā)成功,否則TLl命令下發(fā)不成功。在上述技術(shù)方案的基礎(chǔ)上,步驟C之后還包括如下步驟判斷所述獲取讀取的測(cè)試項(xiàng)對(duì)象是否為測(cè)試項(xiàng)對(duì)象隊(duì)列中的最后一個(gè),若是,則解析完成,否則繼續(xù)按照所述條目索引讀取測(cè)試項(xiàng)對(duì)象隊(duì)列中的測(cè)試項(xiàng)對(duì)象。本發(fā)明的有益效果在于(I)本發(fā)明進(jìn)行TLl命令測(cè)試時(shí),通過解析后的腳本文件自動(dòng)測(cè)試通信設(shè)備服務(wù)器的返回信息是否符合腳本文件中TLl測(cè)試返回信息的判斷標(biāo)準(zhǔn),若服務(wù)器的返回信息符合腳本文件中TLl測(cè)試返回信息的判斷標(biāo)準(zhǔn),則TLl命令下發(fā)成功,否則TLl命令下發(fā)不成功。因此,本發(fā)明能夠通過腳本文件自動(dòng)測(cè)試TLl命 令下發(fā)是否成功,測(cè)試時(shí)不需要人工手動(dòng)輸入TLl命令和核對(duì)TLl命令。與背景技術(shù)中的人工判斷相比,本發(fā)明通過腳本文件自動(dòng)測(cè)試TLl命令下發(fā)是否成功的準(zhǔn)確率較高,同時(shí)降低了人力資源成本;本發(fā)明的測(cè)試過程較快,不僅縮短了測(cè)試時(shí)間,提高了工作效率,而且縮短了通信設(shè)備的研發(fā)時(shí)間,通信設(shè)備從研發(fā)到應(yīng)用于市場(chǎng)的過程較快,通信設(shè)備能夠比較快速的得到推廣。(2)本發(fā)明在TLl自動(dòng)化程序中,采用了 XML語言格式,通過XML格式的腳本文件中儲(chǔ)存測(cè)試命令格式、測(cè)試端口信息、結(jié)果判斷標(biāo)準(zhǔn)等信息,規(guī)范了 TLl命令測(cè)試項(xiàng)的格式,從而方便擴(kuò)充TLl測(cè)試項(xiàng)的范圍。
圖I為本發(fā)明實(shí)施例中的總體流程圖;圖2為本發(fā)明實(shí)施例中XML格式的腳本文件的文本框圖;圖3為本發(fā)明實(shí)施例中XML格式的腳本文件的解析流程圖;圖4為本發(fā)明中測(cè)試TLl命令的流程圖。
具體實(shí)施例方式以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。參見圖I所示,本發(fā)明實(shí)施例中的基于XML腳本的TLl自動(dòng)化測(cè)試方法,包括以下步驟步驟101 :在XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)格式的腳本文件中存儲(chǔ)有關(guān)TLl命令的信息;步驟102 :解析存儲(chǔ)信息后的XML格式的腳本文件(以下簡稱為腳本文件);步驟103 :通過解析后的腳本文件測(cè)試TLl命令,并判斷TLl命令下發(fā)是否成功。參見圖2所示,步驟101中腳本文件存儲(chǔ)的信息為TLlTest :測(cè)試腳本實(shí)體,定義整個(gè)腳本文件的起始位置和終止位置,TLlTest由一個(gè)或多個(gè)測(cè)試模塊(TestSuit)組成;TestSuit :測(cè)試模塊,定義TLl命令的業(yè)務(wù)類型(Type)和測(cè)試端口信息(Port),TestSuit內(nèi)由一個(gè)或多個(gè)測(cè)試項(xiàng)(TestCase)組成;TestCase :測(cè)試項(xiàng),定義TLl命令的具體屬性,具體屬性包括編號(hào)屬性(Searial)、測(cè)試項(xiàng)對(duì)應(yīng)的具體業(yè)務(wù)名稱(Name)、具體TLl命令測(cè)試數(shù)據(jù)(Input)和TLl測(cè)試返回信息的判斷標(biāo)準(zhǔn)(Result)。編輯腳本文件的腳本代碼如下< xml version = " I. O" encoding = " UTF-8" >
(XML版本以及字符編碼標(biāo)注)〈TLlTest〉(定義整個(gè)腳本文件的起始位置)〈TestSuit Type =" Service" Port =" 3334" >(測(cè)試模塊的起始位置,定義TLl命令業(yè)務(wù)類型為Service,測(cè)試端口信息為3334)
〈TestCase Searial = " O " Name = " VOIP 端口激活接口 " Input="ACT-VOIPPORT 0LTID = 10. 78. 114. 102,PONID = NA-NA-18-2, ONUIDTYPE = MAC,ONUID = 54-4B-40-30-FB-58, 0NUP0RT = NA-NA-NA-I CTAGResult = " Noerror" />(測(cè)試項(xiàng),定義TLl命令測(cè)試項(xiàng)的具體屬性,編號(hào)屬性為0,測(cè)試項(xiàng)對(duì)應(yīng)的具體業(yè)務(wù)名稱為VOIP端口激活接口,具體測(cè)試命令格式ACT-V0IPP0RT =OLTID = 10. 78. 114. 102,PONID = NA-NA-I8-2, ONUID TYPE = MAC, ONUID = 54-4B-40-30-FB-58, 0NUP0RT =NA-NA-NA-I :CTAG :;,測(cè)試返回信息的判斷標(biāo)準(zhǔn)為No error)</TestSuit>(測(cè)試模塊終止位置)〈TestSuit Type =" Test" Port = " 3335" >(測(cè)試模塊起始位置,定義TLl命令業(yè)務(wù)類型為Test,測(cè)試端口信息為3335)〈TestCase Searial = " 45" Name = " Query Vlan" Input =" LST-DEVINFO ::ONUIP = 10. 78. 114. 100 CTAG ; " Result=" List of Device Info" />(測(cè)試項(xiàng),定義TLl命令測(cè)試項(xiàng)的具體屬性,定義TLl命令測(cè)試項(xiàng)的具體屬性,編號(hào)屬性為45,測(cè)試項(xiàng)對(duì)應(yīng)的具體業(yè)務(wù)名稱為Query Vlan,具體測(cè)試命令格式為LST-DEVINFO =ONUIP = 10. 78. 114. 100 =CTAG ;測(cè)試返回信息的判斷標(biāo)準(zhǔn)為List ofDevice Info)〈/TestSuit〉(測(cè)試模塊終止位置)〈TestSuit Type =" Private" Port =" 9000" >(測(cè)試模塊起始位置,定義TLl命令業(yè)務(wù)類型為Private,測(cè)試端口信息為9000)〈TestCase Searial = " 46 " Name = " 5516Add Onu " Input="ADD-0NU-P0N DID = 10. 78. 114. 100,PID = 18-3 CTAG12 TYPE = AN5506-04B,ONUPff = 0312 ; " Result =" No error" />(測(cè)試項(xiàng),定義TLl命令測(cè)試項(xiàng)的具體屬性,編號(hào)屬性為46,測(cè)試項(xiàng)對(duì)應(yīng)的具體業(yè)務(wù)名稱為 5516Add Onu,具體測(cè)試命令格式 ADD-0NU-P0N DID = 10. 78. 114. 100,PID=18-3 CTAG12 TYPE = AN5506-04B, ONUPff = 0312 ;,測(cè)試返回信息的判斷標(biāo)準(zhǔn)為 Noerror)〈/TestSuit〉(測(cè)試模塊終止位置)〈/TLlTest〉(定義整個(gè)腳本文件的終止位置)參見圖3所示,步驟102包括如下步驟
步驟201 :根據(jù)給定路徑查找腳本文件。步驟202 :判斷腳本文件是否存在,如果是,則轉(zhuǎn)到步驟203 ;否則轉(zhuǎn)到步驟207。步驟203 :讀取腳本文件,查找所述腳本文件內(nèi)的TLlTest信息,根據(jù)TLlTest的起始標(biāo)簽位置來確定TLlTest的起始位置,并初始化為TLlTest對(duì)象后進(jìn)行存儲(chǔ)。步驟204 :判斷TLlTest對(duì)象中是否有TestSuit的定義,如果是,則說明TLlTest對(duì)象中包含測(cè)試模塊,需進(jìn)一步解析,轉(zhuǎn)到步驟205 ;否則說明TLlTest對(duì)象中沒有測(cè)試模塊,轉(zhuǎn)到步驟207。
步驟205 :讀取TLlTest對(duì)象中的TestSuit信息,根據(jù)TestSuit的數(shù)據(jù)類型構(gòu)造TestSuit對(duì)象,并將構(gòu)造完成的TestSuit對(duì)象組成TestSuit對(duì)象隊(duì)列,在TestSuit對(duì)象隊(duì)列中記錄Type和Port。步驟206 :讀取一個(gè)TestSuit對(duì)象,判斷TestSuit對(duì)象中是否有TestCase的定義,如果是,則說明TestSuit對(duì)象中包含測(cè)試項(xiàng),需進(jìn)一步解析,轉(zhuǎn)到步驟208 ;否則說明TestSuit對(duì)象中不存在測(cè)試項(xiàng),轉(zhuǎn)到步驟207。步驟207 :輸出返回錯(cuò)誤信息并結(jié)束測(cè)試程序。步驟208 :讀取當(dāng)前TestSuit對(duì)象中的TestCase信息,根據(jù)TestCase的數(shù)據(jù)類型構(gòu)造TestCase對(duì)象,并將構(gòu)造完成的TestCase對(duì)象組成TestCase對(duì)象隊(duì)列,等待程序讀取并開始測(cè)試。步驟209 :依次讀取TestCase對(duì)象隊(duì)列中每個(gè)TestCase對(duì)象的具體屬性值,屬性值包括 Searial> Name、Input 和 Result。步驟210 :判斷當(dāng)前TestSuit對(duì)象中是否還有未讀取的TestCase對(duì)象,如果是,則說明當(dāng)前測(cè)試模塊未結(jié)束,轉(zhuǎn)到步驟208;否則說明該當(dāng)前測(cè)試模塊已結(jié)束,轉(zhuǎn)到步驟211。步驟211 :判斷當(dāng)前TLlTest對(duì)象中是否還有未讀取的TestSuit對(duì)象,如果是,則轉(zhuǎn)到步驟205,否則完成腳本文件的解析并結(jié)束。參見圖4所示,步驟103包括以下步驟步驟301 :獲取需測(cè)試通信設(shè)備服務(wù)器的IP地址和待測(cè)端口隊(duì)列(PortTeam)JS據(jù)測(cè)試服務(wù)器的IP地址連接測(cè)試服務(wù)器。步驟302 :判斷連接測(cè)試服務(wù)器是否成功,如果是,則轉(zhuǎn)到步驟303 ;否則轉(zhuǎn)到步驟308。步驟303 :設(shè)置需測(cè)試的TestCase對(duì)象的條目索引(nindex)為零,并將需測(cè)試的TestCase對(duì)象標(biāo)識(shí)為TestCase對(duì)象隊(duì)列開始項(xiàng)。步驟304 :按照當(dāng)前條目索引讀取TestCase對(duì)象隊(duì)列中的TestCase對(duì)象,根據(jù)讀取的TestCase對(duì)象獲取與之對(duì)應(yīng)的TestSuit對(duì)象中port值。步驟305 :判斷獲取的Port值是否在PortTeam內(nèi),如果是,則轉(zhuǎn)到步驟306 ;否則丟棄讀取的TestCase對(duì)象,并轉(zhuǎn)到步驟304。步驟306 :獲取已讀取的 TestCase 對(duì)象,并得到 Searial、Name、Input 和 Result ;下發(fā)Input屬性到測(cè)試服務(wù)器,并等待測(cè)試服務(wù)器返回?cái)?shù)據(jù)信息。步驟307 :判斷測(cè)試服務(wù)器返回?cái)?shù)據(jù)信息是否成功,如果是,則轉(zhuǎn)到步驟309 :否則說明測(cè)試服務(wù)器無響應(yīng),轉(zhuǎn)到步驟308。
步驟308 :返回錯(cuò)誤信息并結(jié)束。步驟309 :將測(cè)試服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)換成可顯示的文字?jǐn)?shù)據(jù),并顯示輸出。步驟310 :從測(cè)試服務(wù)器返回的數(shù)據(jù)中檢索Result。步驟311 :根據(jù)腳本文件中定義的Result,判斷測(cè)試服務(wù)器返回的數(shù)據(jù)是否符合Result,如果是,則轉(zhuǎn)到步驟312 ;否則轉(zhuǎn)到步驟313。步驟312:測(cè)試服務(wù)器返回的數(shù)據(jù)符合Result,說明測(cè)試服務(wù)器返回結(jié)果與預(yù)期結(jié)果一致,TestCase通過測(cè)試,TLl命令下發(fā)成功,轉(zhuǎn)到步驟3 14。步驟313:測(cè)試服務(wù)器返回的數(shù)據(jù)不符合Result,說明測(cè)試服務(wù)器返回結(jié)果與預(yù)期結(jié)果不一致,TestCase不通過測(cè)試,TLl命令下發(fā)不成功,轉(zhuǎn)到步驟314。步驟314 :判斷當(dāng)前獲取的TestCase對(duì)象是否為TestCase對(duì)象隊(duì)列中的最后一個(gè)(判斷標(biāo)準(zhǔn)為nindex = nindex+1),如果是,則完成所有TestCase對(duì)象的測(cè)試,并結(jié)束;否則轉(zhuǎn)到步驟304。本發(fā)明不局限于上述實(shí)施方式,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
權(quán)利要求
1.一種基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,包括以下步驟 A、在XML格式的腳本文件中存儲(chǔ)測(cè)試腳本實(shí)體信息、測(cè)試模塊信息和測(cè)試項(xiàng)信息;所述測(cè)試腳本實(shí)體定義所述腳本文件的起始位置和終止位置,所述測(cè)試腳本實(shí)體由一個(gè)或多個(gè)測(cè)試模塊組成;所述測(cè)試模塊定義TLl命令的業(yè)務(wù)類型和測(cè)試端口信息,所述測(cè)試模塊由一個(gè)或多個(gè)測(cè)試項(xiàng)組成;所述測(cè)試項(xiàng)定義TLl命令的具體屬性,所述具體屬性包括編號(hào)屬性、測(cè)試項(xiàng)對(duì)應(yīng)的具體業(yè)務(wù)名稱、具體TLl命令測(cè)試數(shù)據(jù)和TLl測(cè)試返回信息的判斷標(biāo)準(zhǔn); B、解析存儲(chǔ)后的腳本文件; C、通過解析后的腳本文件測(cè)試TLl命令,并判斷TLl命令下發(fā)是否成功。
2.如權(quán)利要求I所述的基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,步驟B中解析腳本文件的流程包括以下步驟 根據(jù)給定路徑查找腳本文件,若腳本文件存在,則讀取腳本文件;查找腳本文件內(nèi)的測(cè)試腳本實(shí)體信息,根據(jù)測(cè)試腳本實(shí)體的起始標(biāo)簽位置來確定測(cè)試腳本實(shí)體的起始位置,并初始化為測(cè)試腳本實(shí)體對(duì)象后進(jìn)行存儲(chǔ); 若測(cè)試腳本實(shí)體對(duì)象中有測(cè)試模塊的定義,則讀取測(cè)試腳本實(shí)體對(duì)象中的測(cè)試模塊信息,根據(jù)測(cè)試模塊的數(shù)據(jù)類型構(gòu)造測(cè)試模塊對(duì)象,并將構(gòu)造完成的測(cè)試模塊對(duì)象組成測(cè)試模塊對(duì)象隊(duì)列,在測(cè)試模塊對(duì)象隊(duì)列中記錄TLl命令的業(yè)務(wù)類型和測(cè)試端口信息; 讀取一個(gè)測(cè)試模塊對(duì)象,若讀取的測(cè)試模塊對(duì)象中有測(cè)試項(xiàng)的定義,則讀取當(dāng)前測(cè)試模塊對(duì)象中測(cè)試項(xiàng)的信息,根據(jù)測(cè)試項(xiàng)的數(shù)據(jù)類型構(gòu)造測(cè)試項(xiàng)對(duì)象,并將構(gòu)造完成的測(cè)試項(xiàng)對(duì)象組成測(cè)試項(xiàng)對(duì)象隊(duì)列;依次讀取測(cè)試項(xiàng)對(duì)象隊(duì)列中每個(gè)測(cè)試項(xiàng)對(duì)象的具體屬性;驗(yàn)證所述腳本文件是否解析完成。
3.如權(quán)利要求2所述的基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,步驟B中解析腳本文件的流程還包括以下步驟 若所述腳本文件不存在,則輸出返回錯(cuò)誤信息并結(jié)束測(cè)試程序; 若測(cè)試腳本實(shí)體對(duì)象中沒有測(cè)試模塊的定義,則輸出返回錯(cuò)誤信息并結(jié)束測(cè)試程序; 若測(cè)試模塊對(duì)象中沒有測(cè)試項(xiàng)的定義,則輸出返回錯(cuò)誤信息并結(jié)束測(cè)試程序。
4.如權(quán)利要求2所述的基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,步驟B中驗(yàn)證所述腳本文件是否解析完成的流程為判斷當(dāng)前測(cè)試模塊對(duì)象中是否還有未讀取的測(cè)試項(xiàng)對(duì)象,若是,則繼續(xù)讀取當(dāng)前測(cè)試模塊對(duì)象中測(cè)試項(xiàng)的信息;否則判斷當(dāng)前測(cè)試腳本實(shí)體對(duì)象中是否還有未讀取的測(cè)試模塊對(duì)象,若是,則繼續(xù)讀取測(cè)試腳本實(shí)體對(duì)象中測(cè)試模塊的信息,否則完成腳本文件的解析。
5.如權(quán)利要求I所述的基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,步驟C中通過解析后的腳本文件測(cè)試TLl命令的流程包括以下步驟獲取需測(cè)試通信設(shè)備服務(wù)器的IP地址和待測(cè)端口隊(duì)列,根據(jù)測(cè)試服務(wù)器的IP地址連接測(cè)試服務(wù)器; 設(shè)置需測(cè)試測(cè)試項(xiàng)對(duì)象的條目索引為零,并將需測(cè)試的測(cè)試項(xiàng)對(duì)象標(biāo)識(shí)為測(cè)試項(xiàng)對(duì)象隊(duì)列的開始項(xiàng);按照所述條目索引讀取測(cè)試項(xiàng)對(duì)象隊(duì)列中的測(cè)試項(xiàng)對(duì)象,根據(jù)讀取的測(cè)試項(xiàng)對(duì)象獲取與其對(duì)應(yīng)的測(cè)試模塊對(duì)象中測(cè)試端口信息的值,若所述測(cè)試端口信息的值在待測(cè)端口隊(duì)列內(nèi),則獲取讀取的測(cè)試項(xiàng)對(duì)象的具體屬性,并下發(fā)具體屬性中的具體TLl命令測(cè)試數(shù)據(jù)到測(cè)試服務(wù)器;將測(cè)試服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)換成顯示的文字?jǐn)?shù)據(jù),并顯示輸出。
6.如權(quán)利要求5所述的基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,步驟C中通過解析后的腳本文件測(cè)試TLl命令的流程還包括如下步驟 若根據(jù)測(cè)試服務(wù)器的IP地址連接測(cè)試服務(wù)器則返回錯(cuò)誤信息并結(jié)束; 若測(cè)試服務(wù)器返回信息不成功,則返回錯(cuò)誤信息并結(jié)束。
7.如權(quán)利要求5所述的基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,步驟C中通過解析后的腳本文件測(cè)試TLl命令的流程還包括如下步驟若所述測(cè)試端口信息的值不在待測(cè)端口隊(duì)列內(nèi),則丟棄讀取的測(cè)試項(xiàng)對(duì)象,并重新按照所述條目索引讀取測(cè)試項(xiàng)對(duì)象隊(duì)列中的測(cè)試項(xiàng)對(duì)象。
8.如權(quán)利要求5所述的基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,步驟C中判斷TLl命令下發(fā)是否成功的流程為從測(cè)試服務(wù)器返回的數(shù)據(jù)中檢索TLl測(cè)試返回信息的判斷標(biāo)準(zhǔn),判斷該標(biāo)準(zhǔn)是否符合所述腳本文件中的TLl測(cè)試返回信息的判斷標(biāo)準(zhǔn),若是,則TLl命令下發(fā)成功,否則TLl命令下發(fā)不成功。
9.如權(quán)利要求5至8任一權(quán)利要求所述的基于XML腳本的TLl自動(dòng)化測(cè)試方法,其特征在于,步驟C之后還包括如下步驟判斷所述獲取讀取的測(cè)試項(xiàng)對(duì)象是否為測(cè)試項(xiàng)對(duì)象隊(duì)列中的最后一個(gè),若是,則解析完成,否則繼續(xù)按照所述條目索引讀取測(cè)試項(xiàng)對(duì)象隊(duì)列中的測(cè)試項(xiàng)對(duì)象。
全文摘要
本發(fā)明公開了一種基于XML腳本的TL1自動(dòng)化測(cè)試方法,涉及TL1命令測(cè)試領(lǐng)域。它包括以下步驟A、在XML格式的腳本文件中存儲(chǔ)測(cè)試腳本實(shí)體信息、測(cè)試模塊信息和測(cè)試項(xiàng)信息;B、解析存儲(chǔ)后的腳本文件;C、通過解析后的腳本文件測(cè)試TL1命令,并判斷TL1命令下發(fā)是否成功。本發(fā)明夠通過XML格式的腳本文件來自動(dòng)測(cè)試TL1命令的下發(fā)是否成功,不僅縮短了測(cè)試時(shí)間,提高了工作效率,而且縮短了通信設(shè)備的研發(fā)時(shí)間。
文檔編號(hào)H04L12/26GK102882737SQ20121030294
公開日2013年1月16日 申請(qǐng)日期2012年8月24日 優(yōu)先權(quán)日2012年8月24日
發(fā)明者萬鑫, 陳巍維, 陳超, 季小庭, 李峰 申請(qǐng)人:烽火通信科技股份有限公司