亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法

文檔序號:7799441閱讀:466來源:國知局
基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法
【專利摘要】本發(fā)明公開了一種基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法,用于解決解決Web系統(tǒng)健壯性測試的技術(shù)問題。技術(shù)方案是通過對HTTP數(shù)據(jù)包的協(xié)議狀態(tài)、數(shù)據(jù)包結(jié)構(gòu)、字段語義等方面的負(fù)面變異,生成異常HTTP數(shù)據(jù)包,發(fā)送給被測Web服務(wù)器,通過觀察被測Web服務(wù)器的響應(yīng)狀態(tài)以及分析所返回的HTTP響應(yīng)包協(xié)議狀態(tài),檢驗Web服務(wù)器的健壯性,解決了Web系統(tǒng)健壯性測試的技術(shù)問題。
【專利說明】基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種Web系統(tǒng)健壯性測試方法,特別是涉及一種基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法。
【背景技術(shù)】
[0002]Web系統(tǒng)是當(dāng)前最流行的網(wǎng)絡(luò)應(yīng)用系統(tǒng),在一個Web系統(tǒng)投入運行之前,需要對Web系統(tǒng)進(jìn)行功能測試、性能測試、安全性測試以及健壯性測試等各種測試,通過這些測試活動,能夠及時發(fā)現(xiàn)和排除Web系統(tǒng)潛在的各種缺陷,使Web系統(tǒng)在功能、性能、安全性以及可用性等方面滿足實際應(yīng)用需求。
[0003]健壯性測試(Robustness Testing)技術(shù)用于測試一個系統(tǒng)在各種錯誤或異常條件下的健壯性和可用性。
[0004]一個Web系統(tǒng)通常由Web瀏覽器、Web服務(wù)器和HTTP協(xié)議等三部分組成,Web瀏覽器和Web服務(wù)器之間通過HTTP協(xié)議進(jìn)行數(shù)據(jù)通信,通過HTTP數(shù)據(jù)包來交換信息。HTTP數(shù)據(jù)包分為HTTP請求包和HTTP應(yīng)答包兩種,Web瀏覽器使用HTTP請求包向Web服務(wù)器發(fā)出服務(wù)請求,HTTP請求包由三個部分組成:請求行、消息報頭、請求正文;Web服務(wù)器使用HTTP應(yīng)答包向Web瀏覽器返回應(yīng)答信息,HTTP應(yīng)答包也由三個部分組成:狀態(tài)行、消息報頭、響應(yīng)正文。在HTTP請求包的每個部分中,由一個字段或多個字段組成,每個字段都定義了字段類型和取值范圍。
[0005]當(dāng)HTTP請求包中的某個字段或字段值出現(xiàn)某種錯誤或異常時,Web服務(wù)器可能做出三種反應(yīng):一是Web服務(wù)器檢測到了錯誤或異常,則在返回的HTTP應(yīng)答包中給出錯誤信息,指出HTTP請求包所包含的錯誤,說明Web服務(wù)器對這些錯誤具有良好的檢測和抵御能力,系統(tǒng)健壯性較好;二是Web服務(wù)器未檢測到錯誤或異常,則返回的是正常的HTTP應(yīng)答包,但這些錯誤可能對Web服務(wù)器的正常運行帶來潛在的風(fēng)險,系統(tǒng)健壯性較差;三是Web服務(wù)器沒有返回HTTP應(yīng)答包,說明這些錯誤引起了 Web服務(wù)器異?;蛩罊C,系統(tǒng)健壯性差。
[0006]利用Web系統(tǒng)的這種通信協(xié)議特性,人為地對HTTP請求包的字段類型和取值進(jìn)行負(fù)面變異,生成異常HTTP數(shù)據(jù)包,發(fā)送給被測Web服務(wù)器,通過觀察被測Web服務(wù)器的響應(yīng)狀態(tài)以及分析所返回的HTTP響應(yīng)包協(xié)議狀態(tài),檢驗Web服務(wù)器的健壯性。這就是基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法的基本思想。
[0007]變異測試是一種軟件測試技術(shù),基本思想是首先定義一組變異算子,模擬程序中可能出現(xiàn)的錯誤,將變異算子作用于源程序,產(chǎn)生一組變異體,變異算子是對源程序語法的一個小的改變;然后輸入測試用例,在原始程序和變異體上分別執(zhí)行測試,比較兩者的輸出結(jié)果,進(jìn)而判斷軟件能否檢測到變異。如果兩者輸出相同,則證明軟件未能檢測出變異體,存在潛在的軟件缺陷或故障;否則說明軟件能夠檢測出該變異體及其所代表的故障。目前,變異測試主要用于軟件的單元測試中,未見公開的關(guān)于HTTP協(xié)議變異測試的文獻(xiàn)資料。

【發(fā)明內(nèi)容】
[0008]為了解決Web系統(tǒng)健壯性測試的技術(shù)問題,本發(fā)明提供一種基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法。該方法通過對HTTP數(shù)據(jù)包的協(xié)議狀態(tài)、數(shù)據(jù)包結(jié)構(gòu)、字段語義等方面的負(fù)面變異,生成異常HTTP數(shù)據(jù)包,發(fā)送給被測Web服務(wù)器,通過觀察被測Web服務(wù)器的響應(yīng)狀態(tài)以及分析所返回的HTTP響應(yīng)包協(xié)議狀態(tài),檢驗Web服務(wù)器的健壯性,可以解決Web系統(tǒng)健壯性測試的技術(shù)問題。
[0009]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法,其特點是采用以下步驟:
[0010]步驟一、HTTP協(xié)議變異方法;
[0011](I)字段重復(fù)變異:對HTTP請求包中的一個或多個字段進(jìn)行重復(fù),變異為新的請求包;
[0012](2)字段替換變異:進(jìn)一步分為空字段替換、字段語義替換和隨機字符串替換;
[0013]①空字段替換:使用空字段替換HTTP請求包中的一個或多個字段進(jìn)行變異;
[0014]②字段語義替換;使用不同含義的字段值替換字段語義進(jìn)行變異;
[0015]③隨機字符串替換:首先確定一個完備的字符數(shù)組,其中包含所有想要用來替換的字符,然后隨機抽取若干字符進(jìn)行組合,最后用組合的字符串替換HTTP請求包中的內(nèi)容;
[0016](3)字段溢出變異:對HTTP請求包進(jìn)行極限擴充,看能否收到相應(yīng)的應(yīng)答消息,這里的極限值是指超過正常數(shù)據(jù)包的大?。?br> [0017]使用變異算子來表示上述的變異規(guī)則,通過變異算子將正常數(shù)據(jù)包轉(zhuǎn)換成異常數(shù)據(jù)包;變異算子的構(gòu)造是變異測試的關(guān)鍵部分,根據(jù)HTTP協(xié)議特性,將變異算子分為兩類:一是單項變異算子,實現(xiàn)字段重復(fù)變異、字段替換變異和字段溢出變異,對應(yīng)的變異算子有重復(fù)變異算子、替換變異算子、溢出變異算子等三種;二是組合變異算子,將三種單項變異算子組合后,構(gòu)造出重復(fù)-替換算子、重復(fù)-溢出變異算子、替換-溢出變異算子以及重復(fù)-替換-溢出變異算子;
[0018]步驟二、Web系統(tǒng)變異測試方法;
[0019](I)利用單項變異算子和組合變異算子,對HTTP請求包的數(shù)據(jù)進(jìn)行變異處理,形成相應(yīng)的異常事例,將各種異常事例集合起來,構(gòu)成異常事例庫;
[0020](2)利用每個異常事例生成相應(yīng)的異常HTTP請求包,發(fā)送給被測Web服務(wù)器;
[0021](3)如果超時未收到Web服務(wù)器的HTTP應(yīng)答包,說明這些錯誤引起了 Web服務(wù)器異?;蛩罊C,系統(tǒng)健壯性差;如果收到了 Web服務(wù)器的HTTP應(yīng)答包,并返回的是正常的HTTP應(yīng)答包,說明Web服務(wù)器未檢測到這些錯誤,Web服務(wù)器存在潛在的風(fēng)險,系統(tǒng)健壯性較差;如果收到了 Web服務(wù)器的HTTP應(yīng)答包,并在返回的HTTP應(yīng)答包中給出錯誤信息,說明Web服務(wù)器對這些錯誤具有良好的檢測和抵御能力,系統(tǒng)健壯性較好;
[0022](4)遍歷異常事例庫中的每一個異常事例,直至完成所有的異常事例測試。
[0023]本發(fā)明的有益效果是:由于該方法通過對HTTP數(shù)據(jù)包的協(xié)議狀態(tài)、數(shù)據(jù)包結(jié)構(gòu)、字段語義等方面的負(fù)面變異,生成異常HTTP數(shù)據(jù)包,發(fā)送給被測Web服務(wù)器,通過觀察被測Web服務(wù)器的響應(yīng)狀態(tài)以及分析所返回的HTTP響應(yīng)包協(xié)議狀態(tài),檢驗Web服務(wù)器的健壯性,解決了 Web系統(tǒng)健壯性測試的技術(shù)問題。
[0024]下面結(jié)合附圖和【具體實施方式】對本發(fā)明作詳細(xì)說明?!緦@綀D】

【附圖說明】
[0025]圖1是本發(fā)明基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法的流程圖。
【具體實施方式】
[0026]參照圖1。本發(fā)明基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法具體步驟如下:
[0027]本方法包括兩個組成部分:HTTP協(xié)議變異法和Web系統(tǒng)變異測試法。
[0028]1.HTTP協(xié)議變異法。
[0029]HTTP協(xié)議變異法采用如下的規(guī)則對HTTP請求包中的字段進(jìn)行變異:
[0030](I)字段重復(fù)變異:對HTTP請求包中的一個或多個字段進(jìn)行重復(fù),變異為新的請求包。例如,原始 HTTP 請求包為 “GET/HTTP/1.1Host:www.nwpu.edu.cn”,對 Host 字段進(jìn)行一次重復(fù)的結(jié)果為 “GET/HTTP/1.1Host:www.nwpu.edu.cn Host:www.nwpu.edu.cn”。
[0031](2)字段替換變異:可進(jìn)一步分為空字段替換、字段語義替換和隨機字符串替換。
[0032]①空字段替換:使用空字段來替換HTTP請求包中的一個或多個字段進(jìn)行變異。例如,假設(shè)原始HTTP請求包為“GET/HTTP/1.1Host:www.nwpu.edu.cn”,則可以使用空字段替換其中的Host字段,將原HTTP請求包變異為“GET/HTTP/1.1”。
[0033]②字段語義替換;使用不同含義的字段值來替換字段語義進(jìn)行變異。例如,在HTTP請求包中,第一個字段為請求方法,假設(shè)正常的請求方法為“GET”,則可使用“POST”等其他請求方法來替換原請求包中的“GET ”請求方法。
[0034]③隨機字符串替換:首先確定一個完備的字符數(shù)組,其中包含所有想要用來替換的字符,然后隨機抽取若干字符進(jìn)行組合,最后用組合的字符串替換HTTP請求包中的內(nèi)容。
[0035](3)字段溢出變異:對HTTP請求包進(jìn)行極限擴充,看能否收到相應(yīng)的應(yīng)答消息,這里的極限值是指超過正常數(shù)據(jù)包的大小。
[0036]使用變異算子來表示上述的變異規(guī)則,通過變異算子將正常數(shù)據(jù)包轉(zhuǎn)換成異常數(shù)據(jù)包,也稱作變異規(guī)則或者變異轉(zhuǎn)換。變異算子的構(gòu)造是變異測試的關(guān)鍵部分,根據(jù)HTTP協(xié)議特性,將變異算子分為兩類:一是單項變異算子,主要實現(xiàn)字段重復(fù)變異、字段替換變異和字段溢出變異,對應(yīng)的變異算子有重復(fù)變異算子、替換變異算子、溢出變異算子等三種;二是組合變異算子,將三種單項變異算子組合后,構(gòu)造出新的變異算子,主要有重復(fù)-替換算子、重復(fù)-溢出變異算子、替換-溢出變異算子、重復(fù)-替換-溢出變異算子等四種。
[0037]2.Web系統(tǒng)變異測試法。
[0038]Web系統(tǒng)變異測試方法如下:
[0039](I)利用單項變異算子和組合變異算子,對HTTP請求包的數(shù)據(jù)進(jìn)行變異處理,形成相應(yīng)的異常事例,將各種異常事例集合起來,構(gòu)成異常事例庫;
[0040](2)利用每個異常事例生成相應(yīng)的異常HTTP請求包,發(fā)送給被測Web服務(wù)器;
[0041](3)如果超時未收到Web服務(wù)器的HTTP應(yīng)答包,說明這些錯誤引起了 Web服務(wù)器異?;蛩罊C,系統(tǒng)健壯性差;如果收到了 Web服務(wù)器的HTTP應(yīng)答包,并返回的是正常的HTTP應(yīng)答包,說明Web服務(wù)器未檢測到這些錯誤,Web服務(wù)器存在潛在的風(fēng)險,系統(tǒng)健壯性較差;如果收到了 Web服務(wù)器的HTTP應(yīng)答包,并在返回的HTTP應(yīng)答包中給出錯誤信息,說明Web服務(wù)器對這些錯誤具有良好的檢測和抵御能力,系統(tǒng)健壯性較好;
[0042](4)遍歷異常事例庫中的每一個異常事例,直至完成所有的異常事例測試。
【權(quán)利要求】
1.一種基于HTTP協(xié)議變異的Web系統(tǒng)健壯性測試方法,其特征在于包括以下步驟: 步驟一、HTTP協(xié)議變異方法; (1)字段重復(fù)變異:對HTTP請求包中的一個或多個字段進(jìn)行重復(fù),變異為新的請求包; (2)字段替換變異:進(jìn)一步分為空字段替換、字段語義替換和隨機字符串替換; ①空字段替換:使用空字段替換HTTP請求包中的一個或多個字段進(jìn)行變異; ②字段語義替換;使用不同含義的字段值替換字段語義進(jìn)行變異; ③隨機字符串替換:首先確定一個完備的字符數(shù)組,其中包含所有想要用來替換的字符,然后隨機抽取若干字符進(jìn)行組合,最后用組合的字符串替換HTTP請求包中的內(nèi)容; (3)字段溢出變異:對HTTP請求包進(jìn)行極限擴充,看能否收到相應(yīng)的應(yīng)答消息,這里的極限值是指超過正常數(shù)據(jù)包的大小; 使用變異算子來表示上述的變異規(guī)則,通過變異算子將正常數(shù)據(jù)包轉(zhuǎn)換成異常數(shù)據(jù)包;變異算子的構(gòu)造是變異測試的關(guān)鍵部分,根據(jù)HTTP協(xié)議特性,將變異算子分為兩類:一是單項變異算子,實現(xiàn)字段重復(fù)變異、字段替換變異和字段溢出變異,對應(yīng)的變異算子有重復(fù)變異算子、替換變異算子、溢出變異算子等三種;二是組合變異算子,將三種單項變異算子組合后,構(gòu)造出重復(fù)-替換算子、重復(fù)-溢出變異算子、替換-溢出變異算子以及重復(fù)-替換-溢出變異算子; 步驟二、Web系統(tǒng)變異測試方法; (1)利用單項變異算子和組合變異算子,對HTTP請求包的數(shù)據(jù)進(jìn)行變異處理,形成相應(yīng)的異常事例,將各種異常事例集合起來,構(gòu)成異常事例庫; (2)利用每個異常事例生成相應(yīng)的異常HTTP請求包,發(fā)送給被測Web服務(wù)器; (3)如果超時未收到Web服務(wù)器的HTTP應(yīng)答包,說明這些錯誤引起了Web服務(wù)器異常或死機,系統(tǒng)健壯性差;如果收到了 Web服務(wù)器的HTTP應(yīng)答包,并返回的是正常的HTTP應(yīng)答包,說明Web服務(wù)器未檢測到這些錯誤,Web服務(wù)器存在潛在的風(fēng)險,系統(tǒng)健壯性較差;如果收到了 Web服務(wù)器的HTTP應(yīng)答包,并在返回的HTTP應(yīng)答包中給出錯誤信息,說明Web服務(wù)器對這些錯誤具有良好的檢測和抵御能力,系統(tǒng)健壯性較好; (4)遍歷異常事例庫中的每一個異常事例,直至完成所有的異常事例測試。
【文檔編號】H04L29/08GK103856373SQ201410103694
【公開日】2014年6月11日 申請日期:2014年3月20日 優(yōu)先權(quán)日:2014年3月20日
【發(fā)明者】蔡皖東, 田雪梅 申請人:西北工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1