專利名稱:一種網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信協(xié)議領(lǐng)域,特別涉及一種應(yīng)用于網(wǎng)絡(luò)協(xié)議缺陷測試的系統(tǒng)及方法。
背景技術(shù):
在現(xiàn)代通信領(lǐng)域,網(wǎng)絡(luò)協(xié)議是非常重要的一個(gè)概念。作為一種標(biāo)準(zhǔn),其規(guī)范著 網(wǎng)絡(luò)中技術(shù)的開發(fā)和運(yùn)用。隨著通信網(wǎng)絡(luò)的日趨復(fù)雜,通信功能也越來越強(qiáng)大,因此在 網(wǎng)絡(luò)中也越來越多的使用網(wǎng)絡(luò)協(xié)議。網(wǎng)絡(luò)協(xié)議一般都比較復(fù)雜,而且協(xié)議的正確性對整 個(gè)網(wǎng)絡(luò)影響很大,所以網(wǎng)絡(luò)協(xié)議的測試就十分重要。缺陷測試是通信協(xié)議可靠性測試的重要部分,屬于協(xié)議工程中必不可少的環(huán)節(jié) 之一?,F(xiàn)有的缺陷測試缺乏相關(guān)科學(xué)理論支持和方法論基礎(chǔ),尤其缺乏系統(tǒng)化的缺陷分 析方法,這一點(diǎn)與較成熟的一致性測試?yán)碚摵头椒ㄏ啾?,顯得較為落后,同時(shí),應(yīng)用于 缺陷測試比較完整的系統(tǒng)工具也很少。首先,現(xiàn)有的網(wǎng)絡(luò)協(xié)議缺陷測試方法,一般是基于一些傳統(tǒng)的通信協(xié)議模型構(gòu) 建的,如有限狀態(tài)機(jī)、Petri網(wǎng)、時(shí)序邏輯和通訊進(jìn)度演算等等,這些建模工具或方式不 具有普適性,相關(guān)測試人員只能針對不同的網(wǎng)絡(luò)協(xié)議分別建立相應(yīng)的模型。其次,現(xiàn)有的缺陷測試方法過于魯棒,甚至有些盲目性,沒有明確的缺陷目標(biāo) 指向,單純依靠經(jīng)驗(yàn)判斷和廣度搜集,近乎隨意的測試,直到隨機(jī)偶然的發(fā)現(xiàn)協(xié)議系統(tǒng) 的缺陷為止,這種做法必然消耗大量人力和時(shí)間。再次,如今通用的方式是使用TTCN-3語言描述測試的整個(gè)過程,關(guān)鍵的測試 例生成也是從模型分析中得到的,正因如此,測試?yán)墒艿搅溯^大的限制,不能靈活 的根據(jù)用戶需求自動(dòng)生成任意數(shù)量的測試?yán)?。而且,現(xiàn)有的很多缺陷測試方法不支持測 試用例的自動(dòng)生成,很多情況下還需要測試人員親自花費(fèi)大量時(shí)間重復(fù)編寫大量的測試 例。最后,即使測試人員明確了協(xié)議系統(tǒng)中缺陷存在的具體位置,傳統(tǒng)的缺陷測試 方法并沒有給出實(shí)際暴露缺陷的相應(yīng)方式,即如何用實(shí)驗(yàn)的方法驗(yàn)證協(xié)議缺陷的存在。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有缺陷測試中出現(xiàn)的協(xié)議模型選擇、盲目搜索缺 陷、測試?yán)詣?dòng)生成和測試?yán)⑷氲葟?fù)雜難題,并且提出了一套完整的系統(tǒng)化的網(wǎng)絡(luò)協(xié) 議缺陷測試系統(tǒng)和方法。本發(fā)明提出的技術(shù)方案如下所述的網(wǎng)絡(luò)協(xié)議缺陷測試主要流程包括協(xié)議描述、協(xié)議建模、模型分析、測 試用例生成、錯(cuò)誤注入、測試報(bào)告生成步驟,其中協(xié)議描述步驟,即分析協(xié)議標(biāo)準(zhǔn)的文本描述,獲得協(xié)議狀態(tài)機(jī)、消息報(bào)文格式 及協(xié)議系統(tǒng)接口語法;協(xié)議建模步驟,其是根據(jù)對協(xié)議的文本描述分析建立測試協(xié)議的Petri網(wǎng)模型;
模型分析步驟,對Petri網(wǎng)模型中的狀態(tài)和變遷進(jìn)行分析,定義錯(cuò)誤類型并設(shè)計(jì) 出測試用例模板;測試用例生成步驟,依據(jù)測試用例模板自動(dòng)生成測試用例;錯(cuò)誤注入步驟,將設(shè)計(jì)好的測試用例通過網(wǎng)絡(luò)連接注入到被測協(xié)議系統(tǒng)中,觀 測協(xié)議系統(tǒng)的響應(yīng)行為;測試報(bào)告生成步驟,根據(jù)測試結(jié)果和執(zhí)行數(shù)據(jù)生成測試報(bào)告。在協(xié)議建模步驟中,對Petri網(wǎng)的完善和擴(kuò)充,用圖形加表格的方式表示網(wǎng)絡(luò)協(xié) 議系統(tǒng)圖形部分以Petri網(wǎng)圖形為基礎(chǔ),表示協(xié)議的動(dòng)態(tài)行為,另外對于注入錯(cuò)誤的 變遷用虛線表示;表格部分說明資源和缺陷的含義,分為庫所、變遷、資源和缺陷4個(gè)表。在測試用例生成步驟中,應(yīng)用正則表達(dá)式語法,構(gòu)建包含語法分析階段得出缺 陷的測試用例模板,測試系統(tǒng)基于正則表達(dá)式規(guī)則自動(dòng)隨機(jī)生成相應(yīng)測試用數(shù)據(jù)文件, 即缺陷測試用例。所述的網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)包含三部分內(nèi)容測試集、測試設(shè)備及測試執(zhí)行 平臺(tái)。測試集是所有測試?yán)募?,它以某種形式化的方法為基礎(chǔ),描述了測試?yán)慕M 織方式,并且定義了測試執(zhí)行平臺(tái)以什么樣的方式來執(zhí)行?;跀U(kuò)展語法分析和自動(dòng)測 試?yán)傻木W(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)需要通過協(xié)議模型圖集來自動(dòng)生成測試用例,每個(gè)圖 都是被測協(xié)議某個(gè)場景的Petri網(wǎng)模型圖,它是要測試人員自行設(shè)計(jì)。測試設(shè)備是測試執(zhí) 行的硬件環(huán)境及相關(guān)的操作系統(tǒng),它是測試執(zhí)行系統(tǒng)運(yùn)行的載體。測試執(zhí)行平臺(tái)是測試 用例運(yùn)行的平臺(tái)。測試執(zhí)行系統(tǒng)通過引入測試集中的測試用例,將其以UDP包的方式注 入到被測系統(tǒng),并根據(jù)系統(tǒng)的響應(yīng)給出最終判斷和測試報(bào)告。所述的網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)主要分為圖形編輯模塊、測試生成模塊、故障注 入模塊、結(jié)果分析模塊、配置模塊。配置模塊包含系統(tǒng)配置、被測系統(tǒng)配置、協(xié)議配置三個(gè)部分。從而對系統(tǒng)參 數(shù)、被測系統(tǒng)的位置和接收端口、被測系統(tǒng)實(shí)現(xiàn)的協(xié)議等信息實(shí)現(xiàn)可配置化管理。圖形編輯模塊用于對協(xié)議進(jìn)行Petri網(wǎng)圖形化建模和編輯,生成的模型圖將成為 測試用例生成的依據(jù)。測試生成模塊包括生成規(guī)則管理和測試用例管理兩個(gè)部分。生成規(guī)則管理主要 負(fù)責(zé)確定以什么規(guī)則來解析模型并生成測試用例;測試用例管理部分主要確定如何組織 生成的測試用例,比如是將測試用例組織成jar包的形式,或者是多個(gè)文件夾存放的形 式。測試注入模塊包括注入方式管理、報(bào)文重定向管理兩個(gè)部分。注入方式管理主 要負(fù)責(zé)確定測試?yán)⑷氲陌l(fā)送方式(如通過UDP包發(fā)送)以及測試?yán)淖⑷敕绞?多個(gè) 測試?yán)⑷牖騿蝹€(gè)測試?yán)⑷?。結(jié)果分析模塊包括統(tǒng)計(jì)模塊和報(bào)告生成模塊兩部分。統(tǒng)計(jì)模塊負(fù)責(zé)統(tǒng)計(jì)測試?yán)?總數(shù)、失敗測試?yán)龜?shù)、測試用例類型等信息;報(bào)告生成模塊則負(fù)責(zé)將統(tǒng)計(jì)的信息組織并 以一定的格式生成測試報(bào)告。所述的網(wǎng)絡(luò)協(xié)議缺陷測試方法,針對Petri網(wǎng)不能區(qū)分發(fā)送接收變遷的缺點(diǎn)進(jìn)行 修改和完善,用圖形加表格的方式表示網(wǎng)絡(luò)協(xié)議系統(tǒng)圖形部分以Petri網(wǎng)圖形為基礎(chǔ),表示協(xié)議的動(dòng)態(tài)行為,另外對于注入錯(cuò)誤的變遷用虛線表示;表格部分說明資源和缺陷 的含義,分為庫所、變遷、資源和缺陷4個(gè)表。其次,通過對于網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)文本描述的分析,較準(zhǔn)確的定位協(xié)議系統(tǒng)接口和 內(nèi)部的缺陷位置,基本消除現(xiàn)有缺陷測試的盲目性。最后,應(yīng)用正則表達(dá)式,按照協(xié)議接口標(biāo)準(zhǔn)和協(xié)議分析得到的可能缺陷,以正 則表達(dá)式語法構(gòu)建缺陷測試模板,基于正則表達(dá)式規(guī)則,自主隨機(jī)生成相應(yīng)數(shù)據(jù)文件即 缺陷測試?yán)?,而且測試?yán)0蹇梢噪S時(shí)修改,真正意義上實(shí)現(xiàn)了缺陷測試?yán)碾S意自動(dòng) 生成。本發(fā)明的有益效果該網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)及方法提供了一整套對于現(xiàn)有缺 陷測試方法的改進(jìn)模式,完善的協(xié)議建模方式,系統(tǒng)的缺陷獲得模式,自動(dòng)的測試?yán)?成過程,該系統(tǒng)顯著提高缺陷覆蓋率,能夠較快速發(fā)現(xiàn)待測協(xié)議系統(tǒng)中存在的缺陷。
圖1為示出了該網(wǎng)絡(luò)協(xié)議缺陷測試方法流程。圖2為示出了該網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)邏輯拓?fù)浣Y(jié)構(gòu)。圖3為示出了該網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)模塊組成結(jié)構(gòu)。圖4為示出了該網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)技術(shù)架構(gòu)。
具體實(shí)施例方式所述的網(wǎng)絡(luò)協(xié)議缺陷測試方法,首先通過改進(jìn)和完善經(jīng)典Petri網(wǎng)通信協(xié)議模 型,用圖形加表格的方式表示網(wǎng)絡(luò)協(xié)議系統(tǒng)圖形部分以Petri網(wǎng)圖形為基礎(chǔ),表示協(xié)議 的動(dòng)態(tài)行為,另外對于注入錯(cuò)誤的變遷用虛線表示;表格部分說明資源和缺陷的含義, 分為庫所、變遷、資源和缺陷4個(gè)表,使其適應(yīng)缺陷測試的實(shí)際應(yīng)用。然后,根據(jù)IETF文本格式的網(wǎng)絡(luò)通信協(xié)議標(biāo)準(zhǔn)的具體描述,分析獲得協(xié)議狀態(tài) 機(jī)、消息報(bào)文格式及接口語法規(guī)則等缺陷信息,應(yīng)用上述擴(kuò)展的Petri網(wǎng)模型對待測試的 網(wǎng)絡(luò)通信協(xié)議建模,畫出協(xié)議系統(tǒng)的狀態(tài)和變遷,寫出協(xié)議報(bào)文消息模板,分析并列舉 出網(wǎng)絡(luò)協(xié)議的接口和內(nèi)部可能存在的缺陷,同時(shí),定義錯(cuò)誤類型,根據(jù)被測協(xié)議系統(tǒng)的 資源情況,確定協(xié)議缺陷存在的位置和類型。隨后,基于正則表達(dá)式,應(yīng)用正則表達(dá)式語法構(gòu)建含有分析階段得出缺陷的測 試?yán)0?,所有的缺陷位置都以匹配模式表示,基于正則表達(dá)式規(guī)則,自主隨機(jī)生成相 應(yīng)數(shù)據(jù)文件即缺陷測試?yán)?,即以所有可能的替代符號替換匹配模式,每種缺陷類型都要 求產(chǎn)生大量相異的測試用例。最后,將測試?yán)⑷氲酱郎y網(wǎng)絡(luò)協(xié)議系統(tǒng)中,將含有語法缺陷的測試用例按照 待測協(xié)議規(guī)則,以TCP/UDP方式直接進(jìn)過通信協(xié)議接口,發(fā)送并注入到協(xié)議系統(tǒng)中,等 待協(xié)議系統(tǒng)的響應(yīng)結(jié)果,并返回到測試發(fā)起平臺(tái)上,直接或間接地收集測試執(zhí)行情況數(shù) 據(jù),根據(jù)整個(gè)缺陷測試過程生成最終的測試報(bào)告。所述的缺陷測試系統(tǒng)包含三部分內(nèi)容測試集、測試設(shè)備及測試執(zhí)行平臺(tái)。測 試集是所有測試?yán)募?,它以某種形式化的方法為基礎(chǔ),描述了測試?yán)慕M織方式, 并且定義了測試執(zhí)行平臺(tái)以什么樣的方式來執(zhí)行?;跀U(kuò)展語法分析和自動(dòng)測試?yán)傻木W(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)需要通過協(xié)議模型圖集來自動(dòng)生成測試用例,每個(gè)圖都是被測 協(xié)議某個(gè)場景的Petri網(wǎng)模型圖,它是要測試人員自行設(shè)計(jì)。測試設(shè)備是測試執(zhí)行的硬件 環(huán)境及相關(guān)的操作系統(tǒng),它是測試執(zhí)行系統(tǒng)運(yùn)行的載體。測試執(zhí)行平臺(tái)是測試用例運(yùn)行 的平臺(tái)。測試執(zhí)行系統(tǒng)通過引入測試集中的測試用例,將其以UDP包的方式注入到被測 系統(tǒng),并根據(jù)系統(tǒng)的響應(yīng)給出最終判斷和測試報(bào)告。測試平臺(tái)運(yùn)行在普通PC上,被測系統(tǒng)運(yùn)行在另一臺(tái)PC上。兩臺(tái)PC各有一塊 Ethernet網(wǎng)卡,通過交換機(jī)或者直聯(lián)通信。所述的網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)主要分為配置模塊、圖形編輯模塊、測試生成模 塊、故障注入模塊、結(jié)果分析模塊。配置模塊包含系統(tǒng)配置、被測系統(tǒng)配置、協(xié)議配置三個(gè)部分。從而對系統(tǒng)參 數(shù)、被測系統(tǒng)的位置和接收端口、被測系統(tǒng)實(shí)現(xiàn)的協(xié)議等信息實(shí)現(xiàn)可配置化管理。圖形編輯模塊用于對協(xié)議進(jìn)行Petri網(wǎng)圖形化建模和編輯,生成的模型圖將成為 測試用例生成的依據(jù)。測試生成模塊包括生成規(guī)則管理和測試用例管理兩個(gè)部分。生成規(guī)則管理主要 負(fù)責(zé)確定以什么規(guī)則來解析模型并生成測試用例;測試用例管理部分主要確定如何組織 生成的測試用例,比如是將測試用例組織成jar包的形式,或者是多個(gè)文件夾存放的形 式。測試注入模塊包括注入方式管理、報(bào)文重定向管理兩個(gè)部分。注入方式管理主 要負(fù)責(zé)確定測試?yán)⑷氲陌l(fā)送方式,如通過UDP包發(fā)送,以及測試?yán)淖⑷敕绞?多個(gè) 測試?yán)⑷牖騿蝹€(gè)測試?yán)⑷?。結(jié)果分析模塊包括統(tǒng)計(jì)模塊和報(bào)告生成模塊兩部分。統(tǒng)計(jì)模塊負(fù)責(zé)統(tǒng)計(jì)測試?yán)?總數(shù)、失敗測試?yán)龜?shù)、測試用例類型等信息;報(bào)告生成模塊則負(fù)責(zé)將統(tǒng)計(jì)的信息組織并 以一定的格式生成測試報(bào)告。所述的網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)實(shí)現(xiàn)以java為編程語言,通過UML建模工具來自 定義所需要的各種圖形組件。測試用例通過I/O保存在文件系統(tǒng)中,分析統(tǒng)計(jì)結(jié)果將被 保存于xml格式文件中,通過XSL將統(tǒng)計(jì)結(jié)果文件解析并組織成一定格式的報(bào)告網(wǎng)頁文 件。系統(tǒng)環(huán)境為Windows XP系統(tǒng),開發(fā)環(huán)境為Eclipse5.1GA與JDK1.5。模型編輯器實(shí)現(xiàn)被測協(xié)議Petri網(wǎng)模型的構(gòu)建、維護(hù)和管理。模型編輯器建立在 Eclipse平臺(tái)之上,同時(shí)利用了兩個(gè)Eclipse插件EMF和GEF。EMF是一個(gè)模型驅(qū)動(dòng)的 應(yīng)用開發(fā)框架,借助EMF可以基于上述測試模型的元模型,自動(dòng)生成Java代碼,實(shí)現(xiàn)模 型的編輯、管理、讀取和序列化。而GEF是一個(gè)圖形編輯器框架,為模型視圖的實(shí)現(xiàn)提 供了支持,其作用是把模型以圖形化的方式展現(xiàn)給用戶。模型編輯器實(shí)現(xiàn)了 3種視圖, 分別對應(yīng)測試模型中的3個(gè)部分。配置模塊采用XML文件保存配置信息,可以設(shè)置多個(gè)配置項(xiàng)。系統(tǒng)配置包括系 統(tǒng)測試?yán)l(fā)送端口、系統(tǒng)IP、測試?yán)4嫖恢玫龋槐粶y系統(tǒng)配置包括被測系統(tǒng)IP地址、 接收測試?yán)丝谔?、被測系統(tǒng)版本等;被測系統(tǒng)協(xié)議配置主要是設(shè)置要測試的協(xié)議,以 使測試?yán)赡K能正確解析模型視圖并生成正確的測試?yán)?。測試?yán)赡K實(shí)現(xiàn)從模型圖到測試?yán)霓D(zhuǎn)化。對于語法測試來說,測試?yán)龑?shí) 際上是一個(gè)普通文件,里面包含了含有某個(gè)或某些語法錯(cuò)誤的內(nèi)容。因此測試?yán)傻年P(guān)鍵步驟有如下兩點(diǎn)(1)解析模型視圖,獲得測試?yán)龜?shù)據(jù)。(2)將測試?yán)龜?shù)據(jù)寫入文件,并編號放入指定的目錄下。Eclipse建??蚣?EMF)是一個(gè)Java開源框架與代碼生成工具。用于基于結(jié)構(gòu) 化的模型來構(gòu)建工具和其它應(yīng)用程序。在Eclipse平臺(tái)在用戶界面和文件級上提供一個(gè)強(qiáng) 有力的集成框架的同時(shí),EMF加強(qiáng)了這種能力來實(shí)現(xiàn)工具和應(yīng)用程序之間良好粒度的數(shù) 據(jù)分享。給定一個(gè)模型后,EMF就能夠生成Java源代碼-它允許創(chuàng)建、查詢、更新、反 串行化以及串行化的模型實(shí)例。這使得從模型圖解析獲得數(shù)據(jù)成為了可能。Java語言本身提供了強(qiáng)大的I/O功能,可以很容易地將數(shù)據(jù)寫成文件并保存到希 望的目錄或者將多個(gè)測試?yán)虬蒍AR文件。錯(cuò)誤注入器主要實(shí)現(xiàn)從測試系統(tǒng)將測試?yán)龜?shù)據(jù)通過一定的方式發(fā)送到被測系 統(tǒng)。其中包括注入方式管理和報(bào)文重定向管理兩個(gè)部分,分別由注入包裝類和注入實(shí)現(xiàn) 類來實(shí)現(xiàn)。包裝類定義測試?yán)⑷氲姆绞绞前次募⑷脒€是按jar包整個(gè)注入。注入實(shí) 現(xiàn)類定義用什么協(xié)議與被測系統(tǒng)通信。Java提供了很好的網(wǎng)絡(luò)編程組件,可以輕松地實(shí) 現(xiàn)網(wǎng)絡(luò)通信和報(bào)文發(fā)送功能。測試的結(jié)果以測試報(bào)告的形式展現(xiàn),其中包含統(tǒng)計(jì)信息。前者主要是對測試執(zhí) 行結(jié)果的統(tǒng)計(jì),包括通過的測試數(shù)、失敗的測試數(shù)等。對于失敗的測試,將其相應(yīng)的記 錄與測試用例模型進(jìn)行比較,有助于分析失敗的原因。系統(tǒng)將測試記錄統(tǒng)計(jì)并保存到XML格式的文件中,并通過XSL將XML以特定
的格式轉(zhuǎn)換為測試報(bào)告的形式呈現(xiàn)給測試用戶。
權(quán)利要求
1.一種網(wǎng)絡(luò)協(xié)議缺陷測試方法,其特征在于,包括協(xié)議描述步驟,即分析協(xié)議標(biāo)準(zhǔn)的文本描述,獲得協(xié)議狀態(tài)機(jī)、消息報(bào)文格式及協(xié) 議系統(tǒng)接口語法規(guī)則;協(xié)議建模步驟,其是根據(jù)對協(xié)議的文本描述分析建立測試協(xié)議的Petri網(wǎng)模型;模型分析步驟,對Petri網(wǎng)模型中的狀態(tài)和變遷進(jìn)行分析,定義錯(cuò)誤類型并設(shè)計(jì)出測 試用例模板;測試用例生成步驟,依據(jù)測試用例模板自動(dòng)生成測試用例;錯(cuò)誤注入步驟,將設(shè)計(jì)好的測試用例通過網(wǎng)絡(luò)連接注入到被測協(xié)議系統(tǒng)中,觀測協(xié) 議系統(tǒng)的響應(yīng)行為;測試報(bào)告生成步驟,根據(jù)測試結(jié)果和執(zhí)行數(shù)據(jù)生成測試報(bào)告。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)協(xié)議缺陷測試方法,其特征在于,在協(xié)議建模步驟中, 對Petri網(wǎng)的完善和擴(kuò)充,用圖形加表格的方式表示網(wǎng)絡(luò)協(xié)議系統(tǒng)圖形部分以Petri網(wǎng)圖 形為基礎(chǔ),表示協(xié)議的動(dòng)態(tài)行為,另外對于注入錯(cuò)誤的變遷用虛線表示;表格部分說明 資源和缺陷的含義,分為庫所、變遷、資源和缺陷4個(gè)表。
3.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)協(xié)議缺陷測試方法,其特征在于,在測試用例生成步驟 中,應(yīng)用正則表達(dá)式語法,構(gòu)建包含語法分析階段得出缺陷的測試用例模板,測試系統(tǒng) 基于正則表達(dá)式規(guī)則自動(dòng)隨機(jī)生成相應(yīng)測試用數(shù)據(jù)文件,即缺陷測試用例。
4.一種網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng),其特征在于,包含測試集、測試設(shè)備及測試執(zhí)行 平臺(tái),其中測試集是所有測試?yán)募?,它以某種形式化的方法為基礎(chǔ),描述了測試?yán)慕M織 方式,并且定義了測試執(zhí)行平臺(tái)以什么樣的方式來執(zhí)行;基于擴(kuò)展語法分析和自動(dòng)測試?yán)傻木W(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)需要通過協(xié)議模型圖 集來自動(dòng)生成測試用例,每個(gè)圖都是被測協(xié)議某個(gè)場景的Petri網(wǎng)模型圖,它是要測試人 員自行設(shè)計(jì);測試設(shè)備是測試執(zhí)行的硬件環(huán)境及相關(guān)的操作系統(tǒng),它是測試執(zhí)行系統(tǒng)運(yùn)行的載 體,測試執(zhí)行平臺(tái)是測試?yán)\(yùn)行的平臺(tái);測試執(zhí)行系統(tǒng)通過引入測試集中的測試用例,將其以UDP包的方式注入到被測系 統(tǒng),并根據(jù)系統(tǒng)的響應(yīng)給出最終判斷和測試報(bào)告。
5.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng),其特征在于,具體實(shí)現(xiàn)測試系統(tǒng)主 要分為配置模塊、圖形編輯模塊、測試用例生成模塊、錯(cuò)誤注入模塊、結(jié)果分析模塊, 其中配置模塊包含系統(tǒng)配置、被測系統(tǒng)配置、協(xié)議配置三個(gè)部分,從而對系統(tǒng)參數(shù)、被 測系統(tǒng)的位置和接收端口、被測系統(tǒng)實(shí)現(xiàn)的協(xié)議等信息實(shí)現(xiàn)可配置化管理;圖形編輯模塊用于對協(xié)議進(jìn)行Petri網(wǎng)圖形化建模和編輯,生成的模型圖將成為測試 用例生成的依據(jù);測試用例生成模塊包括生成規(guī)則管理和測試用例管理兩個(gè)部分,生成規(guī)則管理主要 負(fù)責(zé)確定以什么規(guī)則來解析模型并生成測試用例;測試用例管理部分主要確定如何組織 生成的測試用例,比如是將測試用例組織成jar包的形式,或者是多個(gè)文件夾存放的形 式;測試注入模塊包括注入方式管理、報(bào)文重定向管理兩個(gè)部分,注入方式管理主要負(fù) 責(zé)確定測試?yán)⑷氲陌l(fā)送方式,如通過UDP包發(fā)送,以及測試?yán)淖⑷敕绞?;結(jié)果分析模塊包括統(tǒng)計(jì)模塊和報(bào)告生成模塊兩部分,統(tǒng)計(jì)模塊負(fù)責(zé)統(tǒng)計(jì)測試?yán)?數(shù)、失敗測試?yán)龜?shù)、測試?yán)愋偷刃畔?;?bào)告生成模塊則負(fù)責(zé)將統(tǒng)計(jì)的信息組織并以一 定的格式生成測試報(bào)告。
全文摘要
一種網(wǎng)絡(luò)協(xié)議缺陷測試系統(tǒng)和方法,通過改進(jìn)和完善傳統(tǒng)Petri網(wǎng)協(xié)議模型,用圖形與表格的方式表示網(wǎng)絡(luò)協(xié)議系統(tǒng)。根據(jù)文本格式描述的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn),應(yīng)用上述改善的協(xié)議模型對待測試網(wǎng)絡(luò)協(xié)議系統(tǒng)建模。隨后,對網(wǎng)絡(luò)協(xié)議的外部接口和內(nèi)部核心進(jìn)行語法分析,列舉該待測網(wǎng)絡(luò)協(xié)議可能存在的缺陷。應(yīng)用正則表達(dá)式語法,構(gòu)建包含語法分析階段得出缺陷的測試用例模板,測試系統(tǒng)基于正則表達(dá)式規(guī)則自動(dòng)隨機(jī)生成相應(yīng)測試用數(shù)據(jù)文件,即缺陷測試用例。最后,系統(tǒng)將含有語法缺陷的測試用例,按照待測試協(xié)議規(guī)則發(fā)送并注入到協(xié)議系統(tǒng)中,等待協(xié)議系統(tǒng)的響應(yīng),并返回到測試發(fā)起平臺(tái)上,缺陷測試系統(tǒng)根據(jù)整個(gè)缺陷測試過程生成最終的測試報(bào)告。
文檔編號H04L12/24GK102014016SQ20101026766
公開日2011年4月13日 申請日期2010年8月31日 優(yōu)先權(quán)日2010年8月31日
發(fā)明者劉剛, 呂玉琴, 李巍海, 顧世嘉, 黃鑫 申請人:北京郵電大學(xué)