專利名稱:一種TTCN語言實現(xiàn)的DHCPv6測試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域的協(xié)議工程,尤其是涉及一種實現(xiàn)的DHCPv6測試方法。
背景技術(shù):
一般的DHCPv6測試研發(fā)工作量將需要測試系統(tǒng)數(shù)量*被測設(shè)備數(shù)量個 測試的開發(fā)工作量,而同條件下使用TTCN-3實現(xiàn)的DHCPv6測試開發(fā)任務(wù) 為測試系統(tǒng)數(shù)量+被測設(shè)備數(shù)量個(將每個適配器和測試集獨立計算)。這種 增長級別的不同使得雖然在測試集和被測試設(shè)備不多時使用TTCN-3語言實 現(xiàn)的DHCPv6測試方法的優(yōu)勢不能顯現(xiàn),但是當(dāng)測試系統(tǒng)數(shù)量和被測設(shè)備數(shù) 量逐漸增大時,此方法在研發(fā)工作量上的優(yōu)勢將越來越大,越來越明顯。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種測試套件的可復(fù)用性高,擴大自動測試范圍 的實現(xiàn)DHCPv6測試的方法,該方法是在服務(wù)器端安裝測試腳本軟件,并根據(jù) 不同的測試設(shè)備選擇不同的測試環(huán)境對具有DHCPv6功能的設(shè)備進(jìn)行一致性測 試。本發(fā)明的技術(shù)方案是 一種實現(xiàn)DHCPv6測試的方法,其特征是包括下列步驟…連接測試設(shè)備和被測設(shè)備;…配置測試設(shè)備;…配置被測設(shè)備;…運行自動測試腳本;…-收集分析報文。所述的測試設(shè)備為計算機,所述被測試設(shè)備為具有DHCPv6功能的設(shè)備, 包括DHCPv6服務(wù)器、DHCPv6中繼代理、DHCPv6客戶端。 所述的配置測試設(shè)備包括下列步驟—測試設(shè)備中安裝2部分軟件, 一部分是實現(xiàn)抽象測試集的TTCN腳本 文件,另外一部分是實現(xiàn)TTCN中系統(tǒng)適配器和平臺適配器和編碼Codec;—將GNU Make、 T3DevKit、 libpcap 、 libnet以及相應(yīng)的頭文件安裝在 系統(tǒng)中測試設(shè)備系統(tǒng)中;…配置系統(tǒng)參數(shù),如果被測試設(shè)備是DHCP服務(wù)器或客戶端僅需要配置 被測試設(shè)備網(wǎng)卡1的MAC地址;如果被測試設(shè)備是DHCP中繼代理還要配 置網(wǎng)卡2的MAC地址;…-配置設(shè)備接口 1,是為了在發(fā)送和接受分組的接口;如果是中繼代理 的測試還需要配置設(shè)備接口 2;…配置測試輸入的目錄,該目錄是具有寫權(quán)限的目錄,以存放結(jié)果文件。所述的配置被測設(shè)備為在被測設(shè)備上啟用DHCPv6功能,然后重新啟動被測試設(shè)備。所述的運行自動測試腳本是通過運行run 'make exec'命令來執(zhí)行測試。 所述的收集分析報文生成web格式的結(jié)果文件。本發(fā)明的效果是TTCN是一組專門描述測試執(zhí)行和測試控制的符號表示 語言。他的特點是獨立于測試設(shè)備,自動測試腳本軟件包含兩部分語言實現(xiàn) 部分€++和測試流程定義部分TTCN。 TTCN作為一致的標(biāo)準(zhǔn)測試語言,由于 自動測試腳本中的TTCN部分是抽象測試集具有平臺無關(guān)性(其中只是定義 了測試方法,而無直接硬件過程操作),因此按照TTCN標(biāo)準(zhǔn)寫的其他測試 腳本可以直接調(diào)用DHCPv6腳本。語言實現(xiàn)部分包括3部分內(nèi)容系統(tǒng)適配器SA、平臺適配器PA、編碼Codec 部分。如果測試軟件執(zhí)行的部分為同一個系統(tǒng)平臺適配器PA和編碼Codec 部分不變,僅需要修改系統(tǒng)適配器SA。如果需要跨平臺需要修改平臺適配器 PA。因為不管是什么測試。測試?yán)龔?fù)用的測試流程即TTCN代碼部分是不變 的,可以反復(fù)復(fù)用,如果是基于IP協(xié)議,由于IP的通用性較高,實現(xiàn)部分也 基本無需修改或很少修改即可以實現(xiàn)復(fù)用。只有在物理介質(zhì)改變的時候?qū)?現(xiàn)部分才需要較大的修改。因此本測試方法對比其他的如perl等寫的實現(xiàn)測 試方法具有高可復(fù)用性。具有通用的測試套件架構(gòu)和統(tǒng)一的開發(fā)平臺,并具有高可復(fù)用的測試套 件,可以在不同測試中高級別的自動測試。DHCPc6測試集中,使用TTCN-3編寫的DHCPv6程序中,不僅包含 DHCPv6的測試集,還包含了針對IPv6協(xié)議的測試數(shù)據(jù)以及具體的IPv6協(xié)議 設(shè)備驅(qū)動部分,這些部分在后續(xù)開發(fā)IPv6相關(guān)的其他測試集過程中,能夠減少重復(fù)的IPv6設(shè)備驅(qū)動部分,有利于后續(xù)IPv6測試集的快速交付,同時,通 過統(tǒng)一的TTCN-3系統(tǒng)架構(gòu),保持了系統(tǒng)的一致性。同其他的測試實現(xiàn)方法 相比,具有高可復(fù)用性,可以在包含DHCPv6的測試中直接調(diào)用該該測試?yán)?節(jié)約了開發(fā)新測試的投入,顯著加快了測試的進(jìn)度。
圖1是本發(fā)明DHCPv6測試流程框圖;圖2 DHCPv6客戶端和服務(wù)器測試物理網(wǎng)絡(luò)連接圖;圖3.DHCPv6中繼測試物理網(wǎng)絡(luò)連接圖;圖4 DHCPv6 TTCN抽象測試集結(jié)構(gòu);圖5運行自動測試腳本流程圖;圖6為測試集和測試設(shè)備的連線示意圖。
具體實施方式
為了使本發(fā)明的特性和優(yōu)點更加清晰明了,下面參照附圖結(jié)合具體實施 對本發(fā)明作進(jìn)一步的詳細(xì)說明。如圖1所示,本發(fā)明是一種DHCPv6綜合測試方法。該方法包括一種綜合 的腳本測試軟件,以及由這個測試軟件生成的2個測試環(huán)境。步驟1 01連接測試設(shè)備和被測設(shè)備;步驟102配置測試設(shè)備(1) 測試設(shè)備中需要安裝2部分軟件, 一部分是實現(xiàn)抽象測試集的TTCN 腳本文件,另外一部分是實現(xiàn)TTCN中系統(tǒng)適配器和平臺適配器和編碼Cod6C;(2) 在Linux環(huán)境下同時需要要求GNU Make、 T3DevKit、 libpcap 、 libnet以及相應(yīng)的頭文件必須安裝在系統(tǒng)中測試設(shè)備系統(tǒng)中;(3) 還需要配置系統(tǒng)參數(shù),如果被測試設(shè)備是DHCP服務(wù)器或客戶端僅 需要配置被測試設(shè)備網(wǎng)卡1的MAC地址(NUT—LINK1—ETH—ADDRESSMAC address of the first interface of the router under test);如果豐皮領(lǐng)lji式設(shè)備 是 DHCP 中繼代理還要配置網(wǎng)卡 2的 MAC 地址 (NUT—LINK2—ETH—ADDRESS MAC address of the second interface of the router under test (relay agent only))5(4) 還要配置設(shè)備接口 1(TEST—DEVICE1),是為了在發(fā)送和接受分組 的接口 (在Linux下是如eth0)參見圖2;如果在,如果是中繼代理的測試還 需要配置設(shè)備接口2 ( TEST—DEVICE2地址)參見圖3;(5) 配置測試輸入的目錄,這個目錄必須是具有寫權(quán)限的目錄,以存放 結(jié)果文件。步驟103配置被測設(shè)備在被測設(shè)備上啟用DHCPv6功能,然后重新啟動 被測試設(shè)備。步驟104運行自動測試腳本運行run 'make exec'命令來執(zhí)行測試。步驟105收集分析報文,生成web格式的結(jié)果文件。 本過程生成的文件,參見圖6所示生成的文件包含3個部分上面部分是對 測試的整體結(jié)論描述,左下部分是該測試套件包含的測試?yán)那闆r,右下部 分是測試的日志信息,包括在線日志和離線日志。在線日志主要是在線日志 是個簡單日志,只供用戶了解大致流程,而離線日志是測試的詳細(xì)細(xì)節(jié)記錄。圖2中,測試設(shè)備202為DHCPv6客戶端或服務(wù)器時,其測試環(huán)境對被測 設(shè)備的技術(shù)要求包括測試環(huán)境為測試設(shè)備201同被測設(shè)備202之間由一根 交叉網(wǎng)線203連接。圖3中,測試設(shè)備為DHCPv6中繼代理時,其測試環(huán)境對被測設(shè)備的技術(shù) 要求包括測試環(huán)境為測試設(shè)備201同被測設(shè)備201之間由兩根交叉網(wǎng)線203 和交叉網(wǎng)線301連接。因為中繼代理的功能必須需要穿過3層設(shè)備實現(xiàn),2個 網(wǎng)卡才可以實現(xiàn)2個網(wǎng)段環(huán)境。TTCN實現(xiàn)部分參見圖4,實現(xiàn)過程參見圖5:首先自動腳本軟件創(chuàng)建一個目錄名為log的目錄,然后執(zhí)行運行(runtime) 適配器,適配器包括包括系統(tǒng)適配器、平臺適配器和編碼器。系統(tǒng)適配器主 要適配被測設(shè)備,平臺適配器主要適配被測平臺,主要是時間精度方面的內(nèi) 容,編解碼負(fù)責(zé)轉(zhuǎn)換抽象消息和具體可在設(shè)備上發(fā)送的消息。本發(fā)明的工作原理是DHCP被廣泛地用來設(shè)定主機的IPv4地址及其所需 的額外信息。如果擁有IPv6網(wǎng)絡(luò),并不需要使用DHCP來設(shè)定主機地址,因 為IPv6的無狀態(tài)自動配置(stateless autoconfiguration)機制,不需要 DHCP服務(wù)器就能協(xié)助主機取得IPv6地址。方法很簡單,只須將主機所附接的 連結(jié)的前綴信息設(shè)定給連結(jié)上具IPv6功能的路由器。然而在某些情況下仍必 須選擇使用DHCP服務(wù)器時,以IPv6來使用DHCP的"主機組態(tài)設(shè)定"稱為有 狀態(tài)自動配置(stateful configumtion)。也許通過特殊的尋址機制,需要 動態(tài)指定DNS服務(wù)器,或是選擇不以MAC地址作為IPv6地址的一部分,在這些情況下,可以使DHCP來設(shè)定地址。或是如果IPv6主機位于沒有IPv6路由 器的連結(jié)上,則必須使用DHCP來傳播前綴信息。也可以結(jié)合無狀態(tài)與有狀態(tài) 這兩種自動配置機制在IPv6地址的設(shè)定上,可以使用無狀態(tài)自動配置;在 提供額外的組態(tài)設(shè)定信息上,可以使用DHCP服務(wù)器進(jìn)行有狀態(tài)的組態(tài)設(shè)定。 DHCPv4也可用來設(shè)定IPv4相容的(IPv4-compatible) IPv6地址(參見 RFC2893)。經(jīng)由DHCP取得的IPv4地址,會被放在"IPv4相容的IPv6地址" 中最低序的4字節(jié),接著在前面附加上眾所周知的96個bit的前綴0: 0: 0: 0: 0: 0,就構(gòu)成了所謂的"IPv4相容的IPv6地址。"DHCP會使用下列組播地址;All—DHCP—中繼節(jié)點地址(FF02:: 1: 2)所有DHCP代理(服務(wù)器及中斷代理)都是此組播群組的成員。當(dāng)DHCP客 戶端并不知道其代理的鏈路本地地址時,便會使用鏈路范圍的組播地址,來 到達(dá)其連結(jié)上的DHCP代理。A11_DHCP服務(wù)器s地址(FF05:: 1: 3)在站點(site)內(nèi)的所有DHCP服務(wù)器都是此組播群組的成員。DHCP客戶 端或是DHCP中繼代理會使用此站點范圍的地址來到達(dá)站點內(nèi)的所有DHCP服 務(wù)器。這種情況發(fā)生在,DHCP客戶端或DHCP中繼代理并不知道服務(wù)器的單播 地址,或是想要知道站點中所有的DHCP服務(wù)器。下列為DHCPv6所使用的UDP端口號UDP端口號546 (客戶端的端口號)由DHCP服務(wù)器使用,以作為到達(dá)DHCP中繼代理或DHCP客戶端的目的替 端口號?;蚴怯蒁HCP中繼代理使用,以作為到達(dá)DHCP客戶端的目的端口號。 UDP端口號547 (代理的端口號)DHCP客戶端使用此端口號作為到達(dá)DHCP代理的目的端口號。DHCP中繼 代理使用此端口號作為到達(dá)DHCP服務(wù)器的目的端口號。DHCP服務(wù)器起始(服務(wù)器-initiated)的組態(tài)交換是一項不錯的新特性, 舉例來說,當(dāng)DHCP網(wǎng)域必須被重新編號,或是當(dāng)新的服務(wù)或應(yīng)用加入時,需 要設(shè)定客戶端的組態(tài)。當(dāng)服務(wù)器或應(yīng)用必須在客戶端上進(jìn)行組態(tài)設(shè)定時,DHCP 服務(wù)器會送出RECONFIGURE-INIT信息(型態(tài)10),而客戶端收到此信息時, 必須發(fā)出REQUEST/REPLY信息用以交換所獲取更新信息,這是眾人期盼已久 的功能。DHCP信息的認(rèn)證是有可能的,而且可經(jīng)由認(rèn)證選項的使用來完成。攜帶 于認(rèn)證選項中的認(rèn)證信息能夠用來可靠地辨識DHCP信息的源,及確認(rèn)尚未改變的DHCP信息內(nèi)容。認(rèn)證選項可用于多種認(rèn)證協(xié)議。自動化測試技術(shù)是計算機行業(yè)發(fā)展到規(guī)?;A段的必然產(chǎn)物,是保證產(chǎn) 品質(zhì)量的重要手段。自動化測試是通過自動化的測試工具,將測試過程以自 動化的流程實現(xiàn),在測試內(nèi)容上仍以模擬功能調(diào)用為主。因此,在表述測試過程方面,自動化測試技術(shù)主要包含兩個層次的內(nèi)容 一是測試流程表述,測試流程包含以設(shè)備操作為基本單位的操作流程,通過制定一定的操作流程并監(jiān)控設(shè)備的具體反饋,從而起到測試設(shè)備功能的作用。二是設(shè)備操作,設(shè)備操作包含了在測試流程中定義的流程在具體設(shè)備上的 具體實施。在現(xiàn)有的測試系統(tǒng)中,由于測試的專業(yè)性較高,以上兩個層次的內(nèi)容并沒 有得到較好的分離,因此,在具體的程序設(shè)計過程中,無法有效的降低兩者 之間的耦合性。TTCN-3通過定義標(biāo)準(zhǔn)的抽象測試集表述語言和模塊化測試系統(tǒng)有效的分 離了測試流程表述和設(shè)備操作部分,模塊化通常都意味著復(fù)用性的提高, TTCN-3的這種復(fù)用體現(xiàn)在第一,相同類型的設(shè)備可以復(fù)用相同的抽象測試 集,只用修改對應(yīng)的適配器程序即可;第二,相同設(shè)備可以復(fù)用相同的設(shè)備 驅(qū)動,只需要增加抽象測試集就可以對被測設(shè)備或系統(tǒng)進(jìn)行新的測試。這種 優(yōu)勢將隨著被測系統(tǒng)和被測設(shè)備的增加而顯的越來越明顯,圖7進(jìn)行了傳統(tǒng) 測試開發(fā)和TTCN-3測試開發(fā)的比較。現(xiàn)有的測試流程由上述描述可知,可以視為在一個被測設(shè)備(系統(tǒng))上 運行一個測試集的過程,因此,可以將如圖7的一個測試集和測試設(shè)備的連 線視為一個測試。那么,在m個測試集和n個被測設(shè)備(系統(tǒng))的情況下,如圖所示, 一般的測試系統(tǒng)將需要m'::個測試的開發(fā)工作量,而同條件下的TTCN-3測試開發(fā)任務(wù)為,u個(將每個適配器和測試集獨立計算)。這種增 長級別的不同使得雖然在測試集和測試設(shè)備不多時TTCN-3的優(yōu)勢不能顯現(xiàn), 但是當(dāng)m和n逐漸增大時,TTCN-3在工作量上的優(yōu)勢將越來越大,越來越 明顯。在分離測試流程和具體設(shè)備操作的同時,TTCN-3還定義了包括CH (模塊 控制),TM (測試管理),TL (測試日志)等多個系統(tǒng)級模塊,在幫助測試開 發(fā)者在減少開發(fā)工作量的同時,獲得了更好的開發(fā)效率和開發(fā)利用率。從產(chǎn)業(yè)意義上講,TTCN-3通過將這種模塊化分工公布為產(chǎn)業(yè)國際標(biāo)準(zhǔn), 從而在產(chǎn)業(yè)上充分調(diào)動了測試服務(wù)商和產(chǎn)品設(shè)備商的積極性,測試流程和設(shè)備操作的分離符合測試服務(wù)商和設(shè)備提供商的產(chǎn)業(yè)分工,雙方都能夠在符合TTCN-3標(biāo)準(zhǔn)的前提下,自主的決定提供測試服務(wù)或者參與測試產(chǎn)品的種類, 時間。因此,總結(jié)TTCN-3對比現(xiàn)有測試方案,有以下幾點優(yōu)勢 從技術(shù)上說1、開發(fā)效率提高;2、開發(fā)利用率加大;3、測試的開放性 增大。從產(chǎn)業(yè)上說1、制定了統(tǒng)一的開放的產(chǎn)業(yè)標(biāo)準(zhǔn);2、符合產(chǎn)業(yè)分工;3、促進(jìn)產(chǎn)業(yè)發(fā)展。DHCPc6測試集中,使用TTCN-3編寫的DHCPv6程序中,不僅包含 DHCPv6的測試集,還包含了針對IPv6協(xié)議的測試數(shù)據(jù)以及具體的IPv6協(xié)議 設(shè)備驅(qū)動部分,這些部分在后續(xù)開發(fā)IPv6相關(guān)的其他測試集過程中,能夠減 少重復(fù)的IPv6設(shè)備驅(qū)動部分,有利于后續(xù)IPv6測試集的快速交付,同時,通 過統(tǒng)一的TTCN-3系統(tǒng)架構(gòu),保持了系統(tǒng)的一致性。以上所述的實施例,只是本發(fā)明較優(yōu)選的具體實施方式
,本發(fā)明在不脫 離其精神和本質(zhì)特征前提下,可以有多種具體實施方式
,應(yīng)當(dāng)理解上述實施 例并不限于上述的任何細(xì)節(jié),而應(yīng)該在所附權(quán)利要求所定義的精神和范圍內(nèi) 被廣泛地解釋,因此,所有落在權(quán)利要求的邊界和范圍內(nèi)的或者與這些邊界 和范圍等價的變化和修改都試圖包含在附加權(quán)利要求內(nèi)。
權(quán)利要求
1、一種TTCN語言實現(xiàn)的DHCPv6測試方法,其特征是包括下列步驟---連接測試設(shè)備和被測設(shè)備;---配置測試設(shè)備;---配置被測設(shè)備;---運行自動測試腳本;----收集分析報文。
2、 根據(jù)權(quán)利要求l所述的實現(xiàn)DHCPv6測試的方法,其特征是所述的測試 設(shè)備為計算機,所述被測試設(shè)備為具有DHCPv6功能的設(shè)備,包括DHCPv6服務(wù) 器、DHCPv6中繼代理、DHCPv6客戶端。
3、 根據(jù)權(quán)利要求l或2所述的實現(xiàn)DHCPv6測試的方法,其特征是所述的配 置測試設(shè)備包括下列步驟…測試設(shè)備中安裝2部分軟件, 一部分是實現(xiàn)抽象測試集的TTCN腳本 文件,另外一部分是實現(xiàn)TTCN中系統(tǒng)適配器和平臺適配器和編碼Codec;…將GNU Make、 T3DevKit、 libpcap 、 libnet以及相應(yīng)的頭文件安裝在 系統(tǒng)中測試設(shè)備系統(tǒng)中;…配置系統(tǒng)參數(shù),如果被測試設(shè)備是DHCP服務(wù)器或客戶端僅需要配置 被測試設(shè)備網(wǎng)卡1的MAC地址;如果被測試設(shè)備是DHCP中繼代理還要配 置網(wǎng)卡2的MAC地址;…-配置設(shè)備接口 1,是為了在發(fā)送和接受分組的接口;如果是中繼代理 的測試還需要配置設(shè)備接口 2;…配置測試輸入的目錄,該目錄是具有寫權(quán)限的目錄,以存放結(jié)果文件。
4、 根據(jù)權(quán)利要求l或2所述的實現(xiàn)DHCPv6測試的方法,其特征是所述的配 置被測設(shè)備為在被測設(shè)備上啟用DHCPv6功能,然后重新啟動被測試設(shè)備。
5、 根據(jù)權(quán)利要求l或2所述的實現(xiàn)DHCPv6測試的方法,其特征是所述的運 行自動測試腳本是通過運行run 'make exec'命令來執(zhí)行測試。6根據(jù)權(quán)利要求1或2所述的實現(xiàn)DHCPv6測試的方法,其特征是所述的 收集分析報文生成web格式的結(jié)果文件。
全文摘要
一種測試套件的可復(fù)用性高,擴大自動測試范圍的TTCN語言實現(xiàn)的DHCPv6測試方法,技術(shù)方案是其特征是包括下列步驟連接測試設(shè)備和被測設(shè)備;配置測試設(shè)備;配置被測設(shè)備;運行自動測試腳本;收集分析報文。測試設(shè)備為計算機,所述被測試設(shè)備為具有DHCPv6功能的設(shè)備,包括DHCPv6服務(wù)器、DHCPv6中繼代理、DHCPv6客戶端。
文檔編號H04L29/06GK101262482SQ200810102220
公開日2008年9月10日 申請日期2008年3月19日 優(yōu)先權(quán)日2008年3月19日
發(fā)明者銘 劉, 孫景霞, 尹俊令, 震 李, 遠(yuǎn) 程 申請人:北京天地互連信息技術(shù)有限公司