編碼信息及其它屬性(包括但不限于用戶擴(kuò)展性)進(jìn)行描述;
[0095] 4、能夠?qū)?shù)據(jù)進(jìn)行描述,提供強(qiáng)大匹配性的屬性模板的功能;
[0096] 5、類型和值的參數(shù)化;
[0097] 6、賦值和測(cè)試判定的處理;
[0098] 7、能夠?qū)y(cè)試套參數(shù)化處理,提供測(cè)試?yán)x取機(jī)制;
[0099] 8、允許其他語(yǔ)言的結(jié)合使用;
[0100] 9、給定一套良好定義的語(yǔ)法,格式的互換方式以及靜態(tài)語(yǔ)義含義;
[0101] 10、提供多種不同的表不格式,如表格和圖形;
[0102] 11、提供精確的執(zhí)行算法(即語(yǔ)言的操作語(yǔ)義)。
[0103] 本發(fā)明中,使用TTCN-3描述的一系列測(cè)試?yán)?,其集合稱為TTCN-3測(cè)試套 (TTCN-3Test Suite)。一般來(lái)說(shuō),完整的TTCN-3測(cè)試套包括四個(gè)主要部分,它們是實(shí) 際測(cè)試數(shù)據(jù)(Actual Test Data)、測(cè)試數(shù)據(jù)類型(Test Data Types)、測(cè)試配置(Test Configuration)和測(cè)試行為(Test Behavior)。
[0104] 此外,在編寫抽象測(cè)試套之前要有一致性測(cè)試規(guī)范,ONF發(fā)布的一致性測(cè)試規(guī)范 中用文本分測(cè)試?yán)枋隽藴y(cè)試目的,測(cè)試拓?fù)?,測(cè)試方法等內(nèi)容,規(guī)范中包括了基本連接測(cè) 試、基本OpenFlow協(xié)議消息、生成樹、流修改消息、流匹配、計(jì)數(shù)器、行為、消息、異步消息、 錯(cuò)誤消息等10項(xiàng)測(cè)試,對(duì)于OpenFlow協(xié)議需要參考規(guī)范將測(cè)試套分為以上測(cè)試組,測(cè)試組 內(nèi)的每個(gè)具體的測(cè)試?yán)龑⑹褂肨TCN-3來(lái)描述。
[0105] 在具體實(shí)現(xiàn)方面,抽象測(cè)試套需要定義的是協(xié)議一致性測(cè)試中所有需要用到的消 息結(jié)構(gòu),包括消息名稱,所包含的字段名稱和長(zhǎng)度,一些協(xié)議中還包括可能出現(xiàn)的可選項(xiàng) (option)。在消息結(jié)構(gòu)定義好之后進(jìn)行測(cè)試套的編寫,將測(cè)試序列和測(cè)試數(shù)據(jù)合起來(lái)生成 并描述抽象測(cè)試套。一個(gè)測(cè)試套中一般包含一個(gè)或多個(gè)測(cè)試?yán)═est Case)和測(cè)試控制 (Test Control)〇
[0106] 具體來(lái)說(shuō),根據(jù)OpenFlow協(xié)議對(duì)OpenFlow的消息格式的定義,可以制定出對(duì)應(yīng)的 TTCN-3消息格式,如Hello消息可定義如下:
【主權(quán)項(xiàng)】
1. 一種對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的系統(tǒng),包括: 抽象測(cè)試套模塊,包括:測(cè)試執(zhí)行單元,用于將要發(fā)送的OpenFlow協(xié)議的測(cè)試數(shù)據(jù)發(fā) 送給編解碼模塊; 所述測(cè)試數(shù)據(jù)為抽象測(cè)試套模塊指定的用于和被測(cè)系統(tǒng)之間的通信的OpenFlow協(xié)議 數(shù)據(jù); 編解碼器模塊,用于對(duì)測(cè)試數(shù)據(jù)進(jìn)行編解碼; 適配器模塊,包括數(shù)據(jù)發(fā)送單元,用于接收經(jīng)過(guò)編解碼器模塊編碼后的測(cè)試數(shù)據(jù),并發(fā) 送給被測(cè)系統(tǒng)的端口;定時(shí)器單元,用于開啟定時(shí); 數(shù)據(jù)接收單元,用于接收來(lái)自被測(cè)系統(tǒng)返回的反饋消息,并將接收到的反饋消息交給 編解碼模塊,所述編解碼模塊對(duì)反饋消息解碼后,發(fā)送給測(cè)試執(zhí)行單元; 所述測(cè)試執(zhí)行單元,根據(jù)解碼后的反饋消息判斷測(cè)試是否通過(guò); 其中,若接收的反饋消息數(shù)據(jù)為空或定時(shí)器單元超時(shí)則判定結(jié)果失敗,若反饋消息的 數(shù)據(jù)包正確則關(guān)閉定時(shí)器單元,并判斷是否需要繼續(xù)發(fā)送數(shù)據(jù)或者判定結(jié)果通過(guò)。
2. 根據(jù)權(quán)利要求1所述的對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的系統(tǒng),其特征在于,所述 抽象測(cè)試套模塊,具體包括: 測(cè)試腳本單元,用于獲取測(cè)試人員設(shè)定的OpenFlow協(xié)議測(cè)試數(shù)據(jù)定義和具體的測(cè)試 邏輯;測(cè)試套單元,用于存儲(chǔ)所有測(cè)試?yán)?,所述測(cè)試?yán)脺y(cè)試腳本語(yǔ)言描述。
3. 根據(jù)權(quán)利要求2所述的對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的系統(tǒng),其特征在于,所述 測(cè)試腳本單元中,所述OpenFlow協(xié)議測(cè)試數(shù)據(jù)定義和具體的測(cè)試邏輯具體包括:測(cè)試人員 根據(jù)OpenFlow協(xié)議的消息格式,定義出的測(cè)試中使用到的OpenFlow消息結(jié)構(gòu),且所述消息 結(jié)構(gòu)為根據(jù)模塊所定義,消息結(jié)構(gòu)使用記錄類型進(jìn)行嵌套定義; 所述測(cè)試套單元中,所述測(cè)試?yán)?,包括測(cè)試所需要的變量對(duì)端口進(jìn)行操作的聲明或定 義。
4. 根據(jù)權(quán)利要求1或2所述的對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的系統(tǒng),其特征在于, 還包括: 日志模塊,包括:日志單元,用于獲取執(zhí)行執(zhí)行測(cè)試?yán)臏y(cè)試結(jié)果; 輸出單元,用于根據(jù)輸出結(jié)果出生成測(cè)試日志,以PDF或者HTML方式提供給測(cè)試人員。
5. 根據(jù)權(quán)利要求2所述的對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的系統(tǒng),其特征在于,所述 測(cè)試?yán)?,具體包括: 測(cè)試?yán)龍?zhí)行時(shí)測(cè)試所需要的變量,以及對(duì)測(cè)試系統(tǒng)和被測(cè)系統(tǒng)的端口進(jìn)行映射的映射 關(guān)系。
6. -種對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的方法,包括: 步驟1 :將要發(fā)送的OpenFlow協(xié)議的測(cè)試數(shù)據(jù)進(jìn)行編碼; 其中,所述測(cè)試數(shù)據(jù)為抽象測(cè)試套模塊指定的用于和被測(cè)系統(tǒng)之間的通信的OpenFlow 協(xié)議數(shù)據(jù); 步驟2:將上述經(jīng)過(guò)編碼后的測(cè)試數(shù)據(jù)發(fā)送給被測(cè)系統(tǒng)的端口,同時(shí)開啟定時(shí); 步驟3 :接收來(lái)自被測(cè)系統(tǒng)返回的反饋消息,并將接收到的反饋消息解碼,根據(jù)解碼后 的反饋消息判斷測(cè)試是否通過(guò);其中,若接收的反饋消息數(shù)據(jù)為空或定時(shí)超時(shí)則判定結(jié)果 失敗; 若反饋消息的數(shù)據(jù)包正確則關(guān)閉定時(shí),并判斷是否需要繼續(xù)發(fā)送數(shù)據(jù)或者判定結(jié)果通 過(guò)。
7. 根據(jù)權(quán)利要求6所述的對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的方法,其特征在于,步驟 1中,具體包括: 獲取測(cè)試人員設(shè)定的OpenFlow協(xié)議測(cè)試數(shù)據(jù)定義和具體的測(cè)試邏輯;存儲(chǔ)所有測(cè)試 例,所述測(cè)試?yán)脺y(cè)試腳本語(yǔ)言描述。
8. 根據(jù)權(quán)利要求7所述的對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的方法,其特征在于,步驟 1中,所述OpenFlow協(xié)議測(cè)試數(shù)據(jù)定義和具體的測(cè)試邏輯具體包括: 測(cè)試人員根據(jù)OpenFlow協(xié)議的消息格式,定義出的測(cè)試中使用到的OpenFlow消息結(jié) 構(gòu),且所述消息結(jié)構(gòu)為根據(jù)模塊所定義,消息結(jié)構(gòu)使用記錄類型進(jìn)行嵌套定義;所述測(cè)試 例,包括測(cè)試所需要的變量對(duì)端口進(jìn)行操作的聲明或定義。
9. 根據(jù)權(quán)利要求6或7所述的對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的方法,其特征在于, 還包括: 獲取執(zhí)行執(zhí)行測(cè)試?yán)臏y(cè)試結(jié)果;根據(jù)輸出結(jié)果出生成測(cè)試日志,以PDF或者HTML方 式提供給測(cè)試人員。
10. 根據(jù)權(quán)利要求7所述的對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的方法,其特征在于,還包 括: 所述測(cè)試?yán)校唧w包括: 測(cè)試?yán)龍?zhí)行時(shí)測(cè)試所需要的變量,以及對(duì)測(cè)試系統(tǒng)和被測(cè)系統(tǒng)的端口進(jìn)行映射的映射 關(guān)系; 測(cè)試執(zhí)行時(shí),根據(jù)測(cè)試?yán)x所需要的變量,對(duì)被測(cè)試系統(tǒng)的端口進(jìn)行操作,發(fā)送數(shù)據(jù) 包。
【專利摘要】本發(fā)明公開了一種對(duì)OpenFlow協(xié)議進(jìn)行一致性測(cè)試的系統(tǒng)和方法,包括:抽象測(cè)試套模塊,包括:測(cè)試執(zhí)行單元,用于將要發(fā)送的OpenFlow協(xié)議的測(cè)試數(shù)據(jù)發(fā)送給編解碼模塊;所述測(cè)試數(shù)據(jù)為抽象測(cè)試套模塊指定的用于和被測(cè)系統(tǒng)之間的通信的OpenFlow協(xié)議數(shù)據(jù);編解碼器模塊,用于對(duì)測(cè)試數(shù)據(jù)進(jìn)行編碼;適配器模塊,包括數(shù)據(jù)發(fā)送單元,用于接收上述經(jīng)過(guò)編碼后的測(cè)試數(shù)據(jù),并發(fā)送給被測(cè)系統(tǒng)的端口;其中,若接收的反饋消息數(shù)據(jù)為空或定時(shí)器單元超時(shí)則判定結(jié)果失敗,若反饋消息的數(shù)據(jù)包正確則關(guān)閉定時(shí)器單元,并判斷是否需要繼續(xù)發(fā)送數(shù)據(jù)或者判定結(jié)果通過(guò)。
【IPC分類】H04L12-26
【公開號(hào)】CN104579837
【申請(qǐng)?zhí)枴緾N201510004799
【發(fā)明人】黃小紅, 張沛, 閆屾, 吳軍, 馬嚴(yán), 杜泓慶
【申請(qǐng)人】北京郵電大學(xué)
【公開日】2015年4月29日
【申請(qǐng)日】2015年1月5日