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

自動化測試框架系統(tǒng)及方法

文檔序號:7621567閱讀:210來源:國知局
專利名稱:自動化測試框架系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種自動化測試框架系統(tǒng)及方法,特別是涉及一種可移植的自動化框架測試系統(tǒng)及方法。
背景技術(shù)
近年來,隨著被測試系統(tǒng)復(fù)雜度的不斷攀升,測試消耗的資料越來越龐大。如何提升測試效率,降低缺陷成本是每個測試人員關(guān)心的問題。目前流行的處理方法是細(xì)分測試項(xiàng),功能性測試由自動化測試來完成,而寶貴的測試人力盡可能投入到難度更大的系統(tǒng)測試中。
測試的過程通常是根據(jù)測試?yán)掳l(fā)配置命令到設(shè)備,然后讀取設(shè)備側(cè)的輸出,輸出與預(yù)期吻合則判定功能正常,否則,功能為異常。
自動化測試則是將上述測試過程完全由系統(tǒng)自動控制完成。測試人員事先根據(jù)測試?yán)ㄖ坪脺y試腳本,然后使用自動化測試系統(tǒng)自動將腳本下發(fā)到被測設(shè)備,并捕獲設(shè)備側(cè)的輸出,通過將輸出與固化在腳本中預(yù)期結(jié)果比較從而得出測試結(jié)論。
從自動化測試的原理可看出,自動化測試的主要工作量是花費(fèi)在測試環(huán)境的搭建和測試腳本的編寫上。而這兩者又是密不可分的,在測試腳本中必然要初始化測試環(huán)境,所以一旦環(huán)境發(fā)生變化,測試腳本都需要修改。由此可見,評價(jià)自動化測試系統(tǒng)的優(yōu)劣主要是看它跨環(huán)境的能力。如果環(huán)境變了,自動化系統(tǒng)的改動小,我們則認(rèn)為該系統(tǒng)是高效的。
測試腳本對測試環(huán)境的強(qiáng)依賴問題并沒有太好的解決方案。一般大公司的做法是標(biāo)準(zhǔn)化測試環(huán)境,即將被測設(shè)備細(xì)化為幾個大的子系統(tǒng),為每一子系統(tǒng)定制一個自動化測試環(huán)境,并固化下來。這樣固化的環(huán)境至少可以保證較長時(shí)間不會變動,從而保證基于該環(huán)境開發(fā)的腳本也無需變動。這種方案存在很多欠缺●儀器設(shè)備利用率低,組網(wǎng)不靈活,只適合于大公司專業(yè)的自動化測試實(shí)驗(yàn)室使用;●腳本中存在的環(huán)境配置語句既降低了程序的可讀性,又難以維護(hù);一旦子系統(tǒng)的功能升級導(dǎo)致環(huán)境變更,腳本修改的工作量非??捎^;目前,業(yè)界廣泛采用的方案是定義物理環(huán)境的初始化文件,完成對物理設(shè)備/接口、物理連接的基本配置。為了獲得一定的移植性,初始化文件中會將影響移植性的設(shè)備配置(如設(shè)備接口IP、接口名稱等)設(shè)置成全局變量,在腳本中直接引用這些變量。如果設(shè)備配置發(fā)生變化,可以直接修改初始化文件,而使用變量的腳本基本保持不變。
這種方案通過變量置換獲得一定的移植性,但仍存在很大的局限●未能解決測試腳本與物理環(huán)境的捆綁問題;這種方式對環(huán)境的要求提高了,但腳本的靈活性卻降低了。測試腳本中使用的設(shè)備/鏈路仍然是固定在物理環(huán)境的某些設(shè)備和鏈路上。一旦物理環(huán)境發(fā)生變化,不光初始化文件要變,腳本必然也要變。
例如,我們在測試三層及以上的協(xié)議的時(shí)候,并不關(guān)心設(shè)備間連接的接口類型是什么,封裝的二層協(xié)議是什么,無論是Ethernet(以太網(wǎng))、PPP(點(diǎn)對點(diǎn))、FrameRelay(幀中繼),只要設(shè)備間存在一條能互通的鏈路就可以了。但使用物理環(huán)境的初始化文件,接口名稱已經(jīng)寫死在文件中,如果文件里設(shè)備互連用的接口名稱是Ethernet0/0/0,那么不要說運(yùn)行例如Serial的其他協(xié)議,就是以太網(wǎng)口插的槽位不對,腳本都不能運(yùn)行。
●儀器設(shè)備利用率低,組網(wǎng)不靈活試想一下,腳本1使用了設(shè)備A、B和鏈路A-B,腳本2使用了設(shè)備C、D和鏈路C-D,鏈路A-B要求兩端是以太口,鏈路C-D沒有要求。那么,為了運(yùn)行這兩個腳本,我們需要4臺設(shè)備,但實(shí)際上2臺就夠了。
●腳本的繼承性差,維護(hù)工作量大。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種可移植的自動化測試框架系統(tǒng)和方法,能解決測試腳本對具體物理環(huán)境較強(qiáng)的依賴性問題。
為此,本發(fā)明的一個方面是提供一種可移植的自動化測試系統(tǒng),該系統(tǒng)包括邏輯拓?fù)涿枋瞿K,用來描述測試用例所需邏輯設(shè)備的屬性及其邏輯拓?fù)潢P(guān)系;物理拓?fù)涿枋瞿K,用來描述測試集所用的物理設(shè)備屬性及物理拓?fù)潢P(guān)系;邏輯物理拓?fù)溆成淠K,用來完成所述邏輯拓?fù)淠K和物理拓?fù)淠K的映射關(guān)系。
其中所述邏輯拓?fù)涿枋瞿K為邏輯拓?fù)湮募?,所述物理拓?fù)涿枋瞿K為測試床文件。
另外,該系統(tǒng)進(jìn)一步包括邏輯拓?fù)浣馕瞿K,用來解析所述邏輯拓?fù)涿枋瞿K的邏輯拓?fù)涿枋?;物理拓?fù)浣馕瞿K,用來解析所述物理拓?fù)涿枋瞿K的物理拓?fù)涿枋觥?br> 進(jìn)一步的,所述系統(tǒng)還包括測試集執(zhí)行模塊,用來執(zhí)行測試集;測試用例護(hù)行模塊,用來執(zhí)行測試用例。
本發(fā)明的另一目的是提供一種自動化測試方法,包括下列步驟解析測試環(huán)境的物理拓?fù)?;解析測試用例中所定義的邏輯拓?fù)洌粚⑺鲞壿嬐負(fù)溆成涞剿鑫锢硗負(fù)洹?br> 另外,該方法還可以包括下列步驟描述測試環(huán)境的物理拓?fù)洌纬蓽y試床文件并存儲;描述測試用例的邏輯拓?fù)?,形成邏輯拓?fù)湮募⒋鎯Α?br> 其中,通過測試床文件解析測試環(huán)境的物理拓?fù)?,通過邏輯拓?fù)湮募馕鰷y試用例中的邏輯拓?fù)洹?br> 另外,所述測試床文件可以為多個,分別對應(yīng)不同的測試物理環(huán)境,當(dāng)改變測試物理環(huán)境時(shí),所述物理拓?fù)浣馕瞿K解析相對應(yīng)的測試床文件。
本發(fā)明的另一方面是提供一種自動化測試方法,包括下列步驟(1)描述測試物理環(huán)境的物理拓?fù)洳⒋鎯Γ?2)描述測試用例的邏輯拓?fù)洳⒋鎯Γ?3)讀取所述測試用例的測試腳本并解析其所依賴的邏輯拓?fù)洌?4)讀取所述描述測試物理環(huán)境的物理拓?fù)洳⒔馕觯?5)映射所述邏輯拓?fù)涞剿鑫锢硗負(fù)洌?6)執(zhí)行所述測試用例定義的操作。
另外,該方法可以進(jìn)一步包括下列步驟判斷測試集是否執(zhí)行完畢,若未執(zhí)行完則返回步驟(3)。
由于本發(fā)明提供的系統(tǒng)具有測試用例邏輯拓?fù)涿枋瞿K、測試物理環(huán)境的物理拓?fù)涿枋瞿K,并且能在測試系統(tǒng)運(yùn)行時(shí),通過邏輯物理拓?fù)溆成淠K實(shí)時(shí)映射測試用例的邏輯拓?fù)浜蜏y試環(huán)境的物理拓?fù)?,從而建立了測試用例及其所用測試環(huán)境的對應(yīng)關(guān)系,并進(jìn)一步執(zhí)行測試用例。因而就很好的屏蔽了測試用例腳本對測試環(huán)境物理設(shè)備及其連接關(guān)系的依賴。當(dāng)測試物理環(huán)境變化時(shí),只要修改相應(yīng)的測試環(huán)境物理拓?fù)涞拿枋?,即可保留原測試用例腳本無變化便可執(zhí)行新的測試用例;另外,當(dāng)測試用例變化時(shí),只要修改相應(yīng)的測試用例邏輯拓?fù)涿枋觯纯蓪?shí)現(xiàn)測試腳本的重用,因而減少了測試用例腳本的維護(hù)量,并且使得測試系統(tǒng)能夠方便快捷的實(shí)現(xiàn)測試腳本的移植。
本發(fā)明提供的方法中,用物理拓?fù)浣馕瞿K解析測試環(huán)境的物理拓?fù)?;用邏輯拓?fù)浣馕瞿K解析測試用例中的邏輯拓?fù)洌挥眠壿嬑锢硗負(fù)溆成淠K映射所述邏輯拓?fù)涞剿鑫锢硗負(fù)?。從而也較好的實(shí)現(xiàn)了測試腳本的環(huán)境適應(yīng)即可移植性,當(dāng)測試環(huán)境或測試用例變化時(shí),只要做很少量的修改即可完成目的。
通過以下結(jié)合附圖對本發(fā)明所進(jìn)行的詳細(xì)描述,本發(fā)明的優(yōu)點(diǎn)將更加清楚。


圖1是本發(fā)明提供的可移植自動化測試系統(tǒng)的分層原理圖。
圖2是本發(fā)明提供的測試用例、邏輯拓?fù)湮募?、測試床文件之間的對應(yīng)關(guān)系圖。
圖3是本發(fā)明提供的一個具體實(shí)施例中邏輯拓?fù)?、測試床、物理設(shè)備之間的映射關(guān)系圖。
圖4是本發(fā)明提供的可移植自動化測試框架系統(tǒng)的模塊組成圖。
圖5是本發(fā)明提供的可移植自動化測試方法的流程示意圖。
具體實(shí)施例方式
雖然本發(fā)明能有多種不同形式的具體實(shí)施方式
,但以下我們將以網(wǎng)絡(luò)設(shè)備的測試為例結(jié)合附圖重點(diǎn)闡述本發(fā)明的實(shí)質(zhì)精神所在,這并不意味著本發(fā)明所應(yīng)用的具體實(shí)例只能局限在特定測試環(huán)境中,相反,本領(lǐng)域的普通技術(shù)人員會知道,本申請書所提供的具體實(shí)施方案只是其中多種有利用法中的一些示例,通常,任何具有依賴于物理環(huán)境的測試腳本的系統(tǒng)都將是本發(fā)明賴以改進(jìn)的現(xiàn)有技術(shù)。
首先,在本文件中,將使用下列定義●測試床文件(TestBed)對應(yīng)于真實(shí)物理組網(wǎng)環(huán)境的描述文件,描述了測試環(huán)境中所有設(shè)備的特性、訪問方法及他們之間的連接信息。
●邏輯拓?fù)涫悄硞€測試腳本運(yùn)行所必備的最簡環(huán)境描述,這個環(huán)境是虛擬的。
●邏輯拓?fù)湮募菧y試腳本運(yùn)行所必備的最簡物理環(huán)境對應(yīng)的拓?fù)浣Y(jié)構(gòu)。是描述邏輯拓?fù)涞奈募?,其中的設(shè)備和接口采用的虛擬的名稱。
●測試腳本是數(shù)據(jù)通信產(chǎn)品的自動測試的過程實(shí)現(xiàn),主要執(zhí)行對設(shè)備進(jìn)行發(fā)送配置命令、結(jié)果檢查動作。
●測試集共享同一測試床(測試環(huán)境)的多個測試腳本的集合。
●邏輯拓?fù)溆成渲高壿嬙O(shè)備和接口對應(yīng)到實(shí)際測試環(huán)境之中的物理設(shè)備和接口,完成用例拓?fù)浜蜏y試床(實(shí)際的測試環(huán)境)之間的映射。
本發(fā)明所提供的可移植自動化測試框架系統(tǒng)的組成概要可以參考圖1所示。圖1中示出了本發(fā)明的一個具體實(shí)施例中測試系統(tǒng)的邏輯結(jié)構(gòu)組成。其中,圖形用戶接口(101)、測試腳本層(102)、物理設(shè)備適配層(105)及第三方底層庫(106)都是一般常見自動化測試系統(tǒng)所具備的邏輯結(jié)構(gòu)。
其中測試腳本層102可以看作測試系統(tǒng)中測試腳本的集合,記載測試任務(wù)要完成的測試用例,比如對于網(wǎng)絡(luò)協(xié)議的測試來說,測試腳本A可以是用來測試以太網(wǎng)協(xié)議的測試腳本,測試腳本B可以是用來測試OSPF協(xié)議的測試腳本,測試腳本C可以是用來測試ATM協(xié)議的測試腳本。當(dāng)然,這里的舉例只是示意性的。
本領(lǐng)域的普通技術(shù)人員會知道,物理設(shè)備適配層105及第三方(比如測試儀器和設(shè)備提供商)底層庫106對應(yīng)著自動化測試系統(tǒng)中的測試床的概念,是實(shí)現(xiàn)測試腳本層和測試床物理環(huán)境交互的接口。測試床實(shí)質(zhì)意思是完成測試集所需要的測試環(huán)境設(shè)備的集合。測試床的搭建依賴于測試集要完成的任務(wù),比如上述測試集中所包括的測試腳本A的運(yùn)行需要1臺以太網(wǎng)交換機(jī)和1臺PC機(jī),測試腳本B的運(yùn)行需要2臺路由器,而測試腳本C的運(yùn)行需要2臺交換機(jī),則可以認(rèn)為,測試床的組成將是2臺交換機(jī)、2臺路由器和1臺PC機(jī)。
本領(lǐng)域中熟練的技術(shù)人員會知道,以上所闡述測試腳本和測試床的直接交互組合是目前業(yè)界中測試系統(tǒng)通常結(jié)構(gòu),正如背景技術(shù)中所闡述的,測試腳本中直接對測試床結(jié)構(gòu)的引用將造成測試腳本難以移植、重用的不可克服的缺陷。
因此,在本發(fā)明中,為實(shí)現(xiàn)可移植的自動化測試系統(tǒng),關(guān)鍵一點(diǎn)是使得測試腳本獲得可移植性,即必須消除測試腳本對測試床的直接引用。我們發(fā)現(xiàn),影響腳本可移植性的決定性因素是測試腳本中對測試設(shè)備的物理屬性,例如網(wǎng)絡(luò)設(shè)備的IP地址、接口名稱等的直接引用,以及,測試腳本對測試床中物理設(shè)備間的連接關(guān)系的直接引用。因此,為了達(dá)到消除測試腳本對物理測試環(huán)境的依賴的目的,我們做了一系列的改進(jìn),其核心思想是分層。
繼續(xù)參考圖1,我們在實(shí)際組網(wǎng)的物理環(huán)境即測試床和測試腳本之間抽象出了邏輯拓?fù)鋵?03和物理拓?fù)鋵?04,腳本對物理環(huán)境(設(shè)備對象、設(shè)備端口地址)的引用都使用邏輯變量,而實(shí)際物理環(huán)境的組成也通過邏輯變量及連接關(guān)系來對應(yīng),在實(shí)際運(yùn)行中,從邏輯拓?fù)涞綄?shí)際組網(wǎng)的物理拓?fù)涞挠成?設(shè)備、鏈路)由自動化測試系統(tǒng)自動完成??傊?,本系統(tǒng)將實(shí)際組網(wǎng)的物理拓?fù)湟脧哪_本中間接隔離,從根本上解決測試腳本對物理環(huán)境的強(qiáng)依賴問題。
由此可以看出,本領(lǐng)域中的普通技術(shù)人員會很容易想到上述分層思想的一系列具體的實(shí)現(xiàn)。在本發(fā)明的一個具體實(shí)施方式
中,我們通過引入測試床文件(對應(yīng)物理拓?fù)鋵?04)、邏輯拓?fù)湮募?對應(yīng)邏輯拓?fù)鋵?03)及對測試腳本的編寫做相應(yīng)的改動等一系列的改進(jìn)來幫助實(shí)現(xiàn)上述分層思想的具體實(shí)現(xiàn),并具體通過在系統(tǒng)中引入一系列的模塊來動態(tài)實(shí)現(xiàn)從邏輯拓?fù)涞轿锢憝h(huán)境的映射,以下將進(jìn)一步結(jié)合附圖來具體闡述這些具體實(shí)施方式
,但不消說,本領(lǐng)域中的熟練技術(shù)人員應(yīng)該知道,凡是具有上述邏輯分層思想的測試系統(tǒng)和方法都是包含在本發(fā)明所要求保護(hù)的范圍之內(nèi)的。
定義測試床文件為了支持分層的思想,我們首先用一個文件即測試床文件對測試床的物理拓?fù)溥M(jìn)行了描述。測試床(TestBed)文件是用來描述一套獨(dú)立的測試環(huán)境中所有設(shè)備的特性、訪問方法及他們之間的連接信息的。多個相互獨(dú)立的測試環(huán)境可以用不同的測試床文件進(jìn)行描述。測試床文件可以采用多種格式形成,在本發(fā)明的一個具體實(shí)施例中,采用了Window Initial(.ini)文件的結(jié)構(gòu),總體結(jié)構(gòu)是先描述每一個設(shè)備的信息,再描述連接信息。在實(shí)際運(yùn)行中,利用此文件完成測試用例邏輯拓?fù)涞綄?shí)際物理拓?fù)涞挠成?。測試床文件的內(nèi)容通常由兩部分組成1、設(shè)備描述設(shè)備類型(type)設(shè)備具體型號,從指定的類型列表中選擇。
設(shè)備接口(interface)即物理連接設(shè)備的端口。
設(shè)備名(access-name)物理設(shè)備別名,被設(shè)備連接引用。
訪問連接(access-line)即向設(shè)備傳送命令的連線,設(shè)備上的接口。
訪問通道(access-channel)即運(yùn)行自動化測試系統(tǒng)的終端連接設(shè)備的接口。
2、設(shè)備間連接定義語法如下鏈路名,設(shè)備名A 設(shè)備接口1接口IP/掩碼 設(shè)備名B 設(shè)備接口2 接口IP/掩碼。
其中,A、B表示鏈路兩端的設(shè)備名。
以上即是本發(fā)明的一個具體實(shí)施例中,為了支持邏輯分層思想所做的一系列改動,改動后的文件、數(shù)據(jù)結(jié)構(gòu)是相互對應(yīng)的。下面結(jié)合圖2、圖3來說明改進(jìn)后的相關(guān)文件、定義和數(shù)據(jù)結(jié)構(gòu)之間的對應(yīng)關(guān)系。
參考圖2,圖2示出了本發(fā)明的分層思想,即在測試床的物理拓?fù)浣Y(jié)構(gòu)和測試用例所要應(yīng)用的邏輯拓?fù)浣Y(jié)構(gòu)之間構(gòu)造邏輯拓?fù)溆成洌壿嬐負(fù)溆成渲饕怯糜诿枋鲆恍┪锢碓O(shè)備與邏輯設(shè)備的之間的關(guān)系。根據(jù)圖2,本領(lǐng)域中的普通技術(shù)人員可以毫無困難的得知,一個測試床的物理拓?fù)浣Y(jié)構(gòu)可以映射到多個邏輯拓?fù)?,而一個邏輯拓?fù)湟部梢詫?yīng)到多個測試腳本。反之,一個測試腳本一定對應(yīng)一個邏輯拓?fù)洌粋€邏輯拓?fù)湟欢ㄊ且粋€測試床物理拓?fù)涞淖蛹?br> 進(jìn)一步的,圖3給出了一個更為具體的例子幫助我們理解上述分層的思想。如圖3所示,假設(shè)實(shí)際網(wǎng)絡(luò)中存在一條PC與路由器以太網(wǎng)口相連的物理鏈路,在測試床文件中,該鏈路被描述成物理設(shè)備PC1、RTA間的鏈路;在邏輯拓樸映射中,邏輯設(shè)備HOST、RTA被映射到物理設(shè)備PC1、RTA上;邏輯接口toRTA、PORT1被映射到物理接口0000和Ethernet0/0上;在測試腳本中,對物理設(shè)備RTA的所有操作都是通過RTA的訪問函數(shù)來完成。如路由器的以太網(wǎng)口名稱為$intf(RTA,PORT1),地址為$addr(RTA,PORT1),PC與路由器相連的接口地址為$addr(HOST,toRTA)”。由上,本領(lǐng)域中的普通技術(shù)人員會看出,既然影響移植性的接口地址、掩碼等元素不在腳本中直接出現(xiàn),腳本自然就擁有了可移植性。
定義邏輯拓?fù)湮募榱私鉀Q直接引用測試床的物理拓?fù)浣Y(jié)構(gòu)從而造成腳本移植的困難,在本發(fā)明的一個具體實(shí)施例中,測試用例所用的邏輯上的最簡測試環(huán)境的描述被定義在邏輯拓?fù)湮募?,其說明的是每個測試用例運(yùn)行所必須具備的拓?fù)洵h(huán)境,其中的設(shè)備和接口采用的虛擬的名稱(后面我們稱之為邏輯設(shè)備和邏輯接口,與最終實(shí)際使用的設(shè)備名稱和接口名稱相對應(yīng))。使用邏輯設(shè)備和邏輯接口名稱可以使測試用例腳本的編寫與實(shí)際物理環(huán)境相獨(dú)立,從而增加了腳本的可移植性和可讀性。
進(jìn)一步的,更準(zhǔn)確地說,可以認(rèn)為邏輯拓?fù)湮募杏涊d的用例拓?fù)涿枋霾]有直接指明哪個邏輯設(shè)備對應(yīng)到哪個物理設(shè)備,它只是描述了從物理設(shè)備、物理鏈路中篩選所需設(shè)備、鏈路的規(guī)則。
在本發(fā)明的一個具體實(shí)施例中,為了實(shí)現(xiàn)用例拓?fù)涞拿枋?,我們定義了一系列的規(guī)則來幫助實(shí)現(xiàn),其中最重要的是鏈路和設(shè)備接口的定義,舉例來說鏈路的語法如下<TOPOLOGY>“鏈路名 邏輯設(shè)備名A 邏輯接口 邏輯設(shè)備名B 邏輯接口”每條鏈路用一個<TOPOLOGY>語句進(jìn)行映射,第一個關(guān)鍵字鏈路名,余下的關(guān)鍵字則是腳本中描述鏈路時(shí)使用的虛擬設(shè)備名和虛擬接口。
設(shè)備/接口的語法如下<TOPOLOGY>“邏輯設(shè)備名設(shè)備類型邏輯接口名1 接口類型……邏輯接口名n 接口類型”每個設(shè)備用一個<TOPOLOGY>語句進(jìn)行映射,第一行為設(shè)備的類型描述,后面每一行為此設(shè)備的接口的類型描述。這里的設(shè)備類型和接口類型都有標(biāo)準(zhǔn)定義。
腳本編寫的改進(jìn)為支持上述邏輯分層思想的實(shí)現(xiàn),還需要對腳本編寫的規(guī)范重新定義。關(guān)鍵的一點(diǎn)就是要屏蔽直接引用物理設(shè)備的屬性從而造成對腳本難以移植性的干擾,在本發(fā)明的一個具體實(shí)施例中,我們封裝了一系列的函數(shù)來訪問設(shè)備屬性,從而排除了其對腳本可移植性的干擾,即●物理接口名稱 intf(邏輯設(shè)備名稱,邏輯接口名稱)●接口IP地址addr(邏輯設(shè)備名稱,邏輯接口名稱)●接口網(wǎng)段地址 net(邏輯設(shè)備名稱,邏輯接口名稱)●接口網(wǎng)絡(luò)掩碼 mask(邏輯設(shè)備名稱,邏輯接口名稱)●接口網(wǎng)絡(luò)掩碼長度 masklen(邏輯設(shè)備名稱,邏輯接口名稱)●接口網(wǎng)絡(luò)反掩碼wildcard(邏輯設(shè)備名稱,邏輯接口名稱)●接口路由 rtEntry(邏輯設(shè)備名稱,邏輯接口名稱)●接口有類路由 class_rtEntry(邏輯設(shè)備名稱,邏輯接口名稱)以上我們闡述了為了分層思想的實(shí)現(xiàn)而作的一系列改進(jìn)的準(zhǔn)備工作。在實(shí)際測試過程中,要利用測試床文件、邏輯拓?fù)湮募?,并對重新?guī)范的測試腳本來很好的完成測試,還必須實(shí)時(shí)的解析上述文件并實(shí)現(xiàn)邏輯拓?fù)涞轿锢硗負(fù)涞挠成?,這需要引入相應(yīng)的模塊來完成,在本發(fā)明的一個具體實(shí)施例中,我們通過改進(jìn)一般常用的自動化測試系統(tǒng)的功能來實(shí)現(xiàn),下面結(jié)合附圖1和圖4進(jìn)一步具體說明測試系統(tǒng)中的功能改進(jìn)。
一般來說,解析執(zhí)行測試腳本的功能需要一系列的功能模塊的組合,這些功能模塊通常用軟件來實(shí)現(xiàn),并且這些功能模塊的組合被稱為測試平臺或更準(zhǔn)確的,測試架構(gòu)。正如上文所述,測試架構(gòu)的邏輯概要組成可參考圖1,即圖形用戶接口101、第三方底層庫106、測試腳本層102和物理設(shè)備適配層105。在本發(fā)明中,由于我們引入了邏輯拓?fù)鋵?03和物理拓?fù)鋵?04,所以必須實(shí)現(xiàn)各層之間的一系列解析和交互。在本發(fā)明的一個具體實(shí)施例中,為了支持邏輯拓?fù)鋵拥囊牒蛯π露x的腳本、測試床文件的應(yīng)用,特別是要在實(shí)際運(yùn)行中,實(shí)時(shí)解析測試腳本并完成邏輯拓?fù)涞綄?shí)際物理環(huán)境的映射,我們?yōu)闇y試架構(gòu)增添了若干新的核心模塊。
參考圖4中,圖4只示出了本發(fā)明的一個具體實(shí)施方式
中測試架構(gòu)改進(jìn)后核心組成模塊,但不消說,這里的示教只是示意性的,并不代表對本發(fā)明保護(hù)范圍的限制。本領(lǐng)域的普通技術(shù)人員會知道,改進(jìn)后的測試架構(gòu)和一般自動化測試系統(tǒng)的關(guān)鍵不同是測試床解析模塊403、邏輯拓?fù)浣馕瞿K404和邏輯物理拓?fù)溆成淠K405的引入。其中測試床解析模塊403用來實(shí)現(xiàn)對測試床文件的解析,邏輯拓?fù)浣馕瞿K404則用來實(shí)現(xiàn)對邏輯拓?fù)湮募慕馕?,邏輯物理拓?fù)溆成淠K405用來實(shí)現(xiàn)從邏輯拓?fù)涞轿锢硗負(fù)涞挠成?。另外,為適應(yīng)測試腳本規(guī)范的改進(jìn),我們對在一般自動化測試系統(tǒng)均有的測試集執(zhí)行模塊401和測試用例執(zhí)行模塊402也作了功能上的改進(jìn)。另外,測試架構(gòu)還能自動完成設(shè)備和儀器的初始化工作,包括和測試設(shè)備/測試儀器建立連接,對已指定的端口進(jìn)行初始化操作(配置IP地址等)。
從以上的描述可以得知,本發(fā)明所提供的系統(tǒng)通過對測試床物理拓?fù)洵h(huán)境的提取存儲和測試用例中的邏輯拓?fù)涞亩x,并利用邏輯拓?fù)溆成渫瓿蓽y試用例和測試床的實(shí)時(shí)對應(yīng),較好的解決了測試系統(tǒng)的不同物理環(huán)境的移植問題??傊话銇碚f,本發(fā)明所提供的可移植的自動化測試系統(tǒng)具有如下模塊邏輯拓?fù)涿枋瞿K,用來描述測試用例所需邏輯設(shè)備的屬性及其邏輯拓?fù)潢P(guān)系;物理拓?fù)涿枋瞿K,用來描述測試集所用的物理設(shè)備屬性及物理拓?fù)潢P(guān)系;邏輯物理拓?fù)溆成淠K,用來完成所述邏輯拓?fù)淠K和物理拓?fù)淠K的映射關(guān)系。
在此基礎(chǔ)之上,我們將討論本發(fā)明所提供的自動化測試系統(tǒng)可移植的方法,參考圖4,圖4示出了本發(fā)明的一個具體實(shí)施例中該方法的主要步驟。但在此之前,本領(lǐng)域中的普通技術(shù)人員會知道,我們需要首先根據(jù)測試集搭建測試環(huán)境,其中包括測試集中的測試用例的編寫要遵守我們在上文中所提到的規(guī)范;另外,可能需要手工形成測試床文件,并加載上文所述的測試平臺。然后,自動測試系統(tǒng)的運(yùn)行步驟可通過圖5結(jié)合圖4來理解。
首先在步驟S1,由測試用戶通過圖形用戶接口(101)來指定測試床文件和測試集;在步驟S2,測試床解析模塊403解析測試床文件,獲得測試環(huán)境中所有設(shè)備的特性、訪問方法及它們間的連接信息,并將其存儲到設(shè)備列表和鏈接列表中;在步驟S3,由測試集執(zhí)行模塊401讀取測試集中的腳本,測試用例執(zhí)行模塊402分解測試集中的測試用例腳本;在步驟S4,邏輯拓?fù)浣馕瞿K404分析出腳本依賴的邏輯拓樸;在步驟S5,邏輯物理拓?fù)溆成淠K405將腳本使用的邏輯設(shè)備和邏輯接口映射到實(shí)際物理環(huán)境中;在步驟S6,測試用例執(zhí)行模塊401控制執(zhí)行測試?yán)x的操作,完成測試用例定義的測試功能;在步驟S7,判斷測試集是否執(zhí)行完畢,若未執(zhí)行完畢則返回步驟S3,否則進(jìn)入步驟S8;在步驟S8,生成基于測試集的測試結(jié)果匯總。
本發(fā)明已經(jīng)根據(jù)具體的實(shí)施例和附圖進(jìn)行了詳細(xì)描述,但這些描述并非用于限制本發(fā)明。在不偏離本發(fā)明的精神和范圍內(nèi),可以對其進(jìn)行修改和改進(jìn)。
權(quán)利要求
1.一種自動化測試框架系統(tǒng),其特征在于包括邏輯拓?fù)涿枋瞿K,用來描述測試用例所需邏輯設(shè)備的屬性及其邏輯拓?fù)潢P(guān)系;物理拓?fù)涿枋瞿K,用來描述測試集所用的物理設(shè)備屬性及物理拓?fù)潢P(guān)系;邏輯物理拓?fù)溆成淠K,用來完成所述邏輯拓?fù)淠K和物理拓?fù)淠K的映射關(guān)系。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于所述邏輯拓?fù)涿枋瞿K為邏輯拓?fù)湮募?,所述物理拓?fù)涿枋瞿K為測試床文件。
3.如權(quán)利要求1或2所述的系統(tǒng),其特征在于所述系統(tǒng)還包括邏輯拓?fù)浣馕瞿K,用來解析所述邏輯拓?fù)涿枋瞿K的邏輯拓?fù)涿枋?;物理拓?fù)浣馕瞿K,用來解析所述物理拓?fù)涿枋瞿K的物理拓?fù)涿枋觥?br> 4.如權(quán)利要求3所述的系統(tǒng),其特征在于所述系統(tǒng)進(jìn)一步包括測試集執(zhí)行模塊,用來執(zhí)行測試集;測試用例執(zhí)行模塊,用來執(zhí)行測試用例。
5.一種自動化測試方法,其特征在于包括如下步驟解析測試環(huán)境的物理拓?fù)?;解析測試用例中所定義的邏輯拓?fù)?;將所述邏輯拓?fù)溆成涞剿鑫锢硗負(fù)洹?br> 6.如權(quán)利要求5所述的方法,其特征在于所述方法還包括下列步驟描述測試環(huán)境的物理拓?fù)?,形成測試床文件并存儲;描述測試用例的邏輯拓?fù)?,形成邏輯拓?fù)湮募⒋鎯Α?br> 7.如權(quán)利要求6所述的方法,其特征在于通過測試床文件解析測試環(huán)境的物理拓?fù)?,通過邏輯拓?fù)湮募馕鰷y試用例中的邏輯拓?fù)洹?br> 8.如權(quán)利要求7所述的方法,其特征在于所述測試床文件可以為多個,分別對應(yīng)不同的測試物理環(huán)境,當(dāng)改變測試物理環(huán)境時(shí),所述物理拓?fù)浣馕瞿K解析相對應(yīng)的測試床文件。
9.一種自動化測試方法,其特征在于包括下列步驟(1)描述測試物理環(huán)境的物理拓?fù)洳⒋鎯Γ?2)描述測試用例的邏輯拓?fù)洳⒋鎯Γ?3)讀取所述測試用例的測試腳本并解析其所依賴的邏輯拓?fù)洌?4)映射所述邏輯拓?fù)涞剿鑫锢硗負(fù)洌?5)執(zhí)行所述測試用例定義的操作。
10.如權(quán)利要求9所述的方法,其特征在于所述測試用例為多個形成測試集,并進(jìn)一步包括下列步驟判斷測試集是否執(zhí)行完畢,若未執(zhí)行完則返回步驟(3)。
全文摘要
本發(fā)明提供一種自動化測試框架系統(tǒng)及其方法,該系統(tǒng)包括邏輯拓?fù)涿枋瞿K,用來描述測試用例所需邏輯設(shè)備的屬性及其邏輯拓?fù)潢P(guān)系;物理拓?fù)涿枋瞿K,用來描述測試集所用的物理設(shè)備屬性及物理拓?fù)潢P(guān)系;邏輯物理拓?fù)溆成淠K,用來完成所述邏輯拓?fù)淠K和物理拓?fù)淠K的映射關(guān)系。通過在自動化測試框架系統(tǒng)中引入上述模塊,很好的解決了自動化測試系統(tǒng)對物理測試環(huán)境的依賴,具有較好的移植性。
文檔編號H04L29/06GK1731747SQ200510088629
公開日2006年2月8日 申請日期2005年7月29日 優(yōu)先權(quán)日2005年7月29日
發(fā)明者崔鵬, 董欣 申請人:杭州華為三康技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
广灵县| 莒南县| 布拖县| 连平县| 榆林市| 临颍县| 交口县| 屯昌县| 视频| 辽阳市| 神池县| 南安市| 宁阳县| 长兴县| 海伦市| 临漳县| 瓮安县| 长乐市| 开封县| 普兰县| 开平市| 九龙城区| 全南县| 馆陶县| 板桥市| 宁南县| 新乡市| 罗源县| 阿拉尔市| 金寨县| 伊通| 邹平县| 和林格尔县| 宁波市| 共和县| 敖汉旗| 南岸区| 航空| 武鸣县| 湖州市| 凤凰县|