通訊健壯性測試方法和平臺的制作方法
【專利摘要】本發(fā)明公開了一種通訊健壯性測試方法和平臺,所述測試方法包括:與被測設(shè)備建立通訊連接;根據(jù)用戶需求載入預(yù)設(shè)測試協(xié)議數(shù)據(jù);根據(jù)所述預(yù)設(shè)測試協(xié)議數(shù)據(jù),對所述被測設(shè)備進行通訊健壯性測試,以得到通訊健壯性的測試結(jié)果。本發(fā)明提供的測試方法能夠提高測試效率。當(dāng)這種測試方法適用于工業(yè)控制領(lǐng)域時,由于其能夠根據(jù)用戶需求和被測設(shè)備自身的性能進行測試,所以該測試方法對工業(yè)控制設(shè)備的漏洞挖掘能力高,能夠系統(tǒng)性地挖掘工業(yè)控制系統(tǒng)的隱形漏洞,也能夠提高測試效率。
【專利說明】通訊健壯性測試方法和平臺
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊【技術(shù)領(lǐng)域】,尤其涉及一種通訊健壯性測試方法和平臺。
【背景技術(shù)】
[0002]健壯性是指在異常情況下,系統(tǒng)或組件能夠正常運行的程度。通訊健壯性就是在數(shù)據(jù)變異、人為攻擊、高速流量等異常情況下,通訊協(xié)議棧能夠正常運行的程度。
[0003]目前,對軟件產(chǎn)品的通訊健壯性測試,通常采用模糊測試的方法。模糊測試是通過提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件故障,已經(jīng)廣泛應(yīng)用于各種軟件的安全測試中,包括微軟、IBM等軟件廠商都將模糊測試作為其軟件產(chǎn)品發(fā)布前必不可少的一個測試階段。
[0004]現(xiàn)有的模糊測試方法多數(shù)應(yīng)用于互聯(lián)網(wǎng)領(lǐng)域,當(dāng)現(xiàn)有的模糊測試方法應(yīng)用于工業(yè)控制領(lǐng)域時,由于工業(yè)控制系統(tǒng)的高實時性和高可靠性的特點使得現(xiàn)有的模糊測試方法存在很多缺點:如對工業(yè)控制設(shè)備的漏洞挖掘能力較低,無法系統(tǒng)性地挖掘工業(yè)控制系統(tǒng)的隱形漏洞,測試效率較低。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供了一種通訊健壯性測試方法和平臺,以克服現(xiàn)有技術(shù)中的通訊健壯性的測試方法的上述缺點。
[0006]為了達到發(fā)明目的,本發(fā)明采用了如下技術(shù)方案:
[0007]一種通訊健壯性測試方法,包括:
[0008]與被測設(shè)備建立通訊連接;
[0009]根據(jù)用戶需求載入預(yù)設(shè)測試協(xié)議數(shù)據(jù);
[0010]根據(jù)所述預(yù)設(shè)測試協(xié)議數(shù)據(jù),對所述被測設(shè)備進行通訊健壯性測試,以得到通訊健壯性的測試結(jié)果。
[0011]可選地,所述通訊健壯性測試包括:
[0012]錯誤數(shù)據(jù)模糊測試和資源耗盡壓力測試。
[0013]可選地,所述錯誤數(shù)據(jù)模糊測試包括:
[0014]根據(jù)模糊算法和載入的所述預(yù)設(shè)測試協(xié)議數(shù)據(jù)生成預(yù)設(shè)測試協(xié)議數(shù)據(jù)的錯誤數(shù)據(jù)集,所述錯誤數(shù)據(jù)集內(nèi)包括至少一個錯誤數(shù)據(jù)包;所述錯誤數(shù)據(jù)包括次序錯誤的協(xié)議數(shù)據(jù)、內(nèi)容錯誤的協(xié)議數(shù)據(jù)、內(nèi)容丟失的協(xié)議數(shù)據(jù)和內(nèi)容擴充的協(xié)議數(shù)據(jù)中的一種或多種;
[0015]將所述錯誤數(shù)據(jù)集發(fā)送至所述被測設(shè)備;
[0016]檢測在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常。
[0017]可選地,當(dāng)檢測到在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行異常時,所述測試方法還包括:查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包。
[0018]可選地,所述查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包,具體包括:從發(fā)送時間相距被測設(shè)備發(fā)生異常運行的時間最近的N個錯誤數(shù)據(jù)包中查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包,其中,N彡1,N為整數(shù)。
[0019]可選地,所述從發(fā)送時間相距被測設(shè)備發(fā)生異常運行的時間最近的N個錯誤數(shù)據(jù)包中查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包,具體包括:
[0020]步驟A、獲取被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包:
[0021]步驟B、判斷被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包是否記錄在異常列表中,如果是,執(zhí)行步驟F ;如果否,執(zhí)行步驟C ;
[0022]步驟C、將所述第N個錯誤數(shù)據(jù)包發(fā)送至被測設(shè)備;
[0023]步驟D、檢測在第N個錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常;如果是,執(zhí)行步驟E,如果否,執(zhí)行步驟F ;
[0024]步驟E、將所述第N個錯誤數(shù)據(jù)包記錄在所述異常列表中,延遲T秒以使所述被測設(shè)備復(fù)位至正常基礎(chǔ)服務(wù)狀態(tài);
[0025]步驟F、判斷N是否等于0,如果是,結(jié)束查找,如果否,設(shè)定N = N-1,返回執(zhí)行所述步驟A;
[0026]其中,所述步驟C至所述步驟D依次循環(huán)執(zhí)行M次,M為正整數(shù)。
[0027]可選地,所述資源耗盡壓力測試包括:
[0028]根據(jù)所述被測設(shè)備的性能參數(shù)設(shè)置與所述被測設(shè)備進行通訊的通訊條件;
[0029]按照所述通訊條件與所述被測設(shè)備進行通訊,以檢測被測設(shè)備是否發(fā)生異常。
[0030]可選地,所述與所述被測設(shè)備進行通訊的通訊條件為被測設(shè)備的CPU的最高極限處理速率;
[0031]所述按照所述通訊條件與所述被測設(shè)備進行通訊,以檢測被測設(shè)備是否發(fā)生異常具體包括:按照所述被測設(shè)備的CPU最高極限處理速率向所述被測設(shè)備發(fā)送數(shù)據(jù),以測試所述被測設(shè)備是否發(fā)生異常;
[0032]和/ 或,
[0033]所述與所述被測設(shè)備進行通訊的通訊條件為所述被測設(shè)備的通訊接口的極限速率;
[0034]所述按照所述通訊條件與所述被測設(shè)備進行通訊,以檢測被測設(shè)備是否發(fā)生異常具體包括:按照所述被測設(shè)備的通訊接口的極限速率向所述被測設(shè)備發(fā)送數(shù)據(jù),以測試所述被測設(shè)備是否發(fā)生異常;
[0035]和/ 或,
[0036]所述與所述被測設(shè)備進行通訊的通訊條件為所述被測設(shè)備與預(yù)定數(shù)量臺主機進行通訊連接;所述預(yù)定數(shù)量為被測設(shè)備連接主機的極限數(shù)量;
[0037]所述按照所述通訊條件與所述被測設(shè)備進行通訊,以檢測被測設(shè)備是否發(fā)生異常具體包括:將所述被測設(shè)備與預(yù)定數(shù)量臺主機建立通訊連接,以測試所述被測設(shè)備是否發(fā)生異常。
[0038]可選地,還包括:
[0039]統(tǒng)計并輸出所述被測設(shè)備的通訊健壯性測試的測試結(jié)果。
[0040]可選地,所述測試結(jié)果以文本形式輸出。
[0041]一種通訊健壯性測試平臺,包括:
[0042]通訊接口模塊,用于與被測設(shè)備建立通訊連接;
[0043]測試數(shù)據(jù)載入模塊,用于根據(jù)用戶需求載入預(yù)設(shè)測試協(xié)議數(shù)據(jù);
[0044]通訊健壯性測試模塊,用于根據(jù)所述預(yù)設(shè)測試協(xié)議數(shù)據(jù),對所述被測設(shè)備進行通訊健壯性測試,以得到通訊健壯性的測試結(jié)果。
[0045]可選地,所述通訊健壯性測試模塊包括:錯誤數(shù)據(jù)模糊測試模塊和資源耗盡壓力測試模塊。
[0046]可選地,所述錯誤數(shù)據(jù)模糊測試模塊包括:
[0047]生成錯誤數(shù)據(jù)集子模塊,用于根據(jù)模糊算法和載入的所述預(yù)設(shè)測試協(xié)議數(shù)據(jù)生成預(yù)設(shè)測試協(xié)議數(shù)據(jù)的錯誤數(shù)據(jù)集,所述錯誤數(shù)據(jù)集內(nèi)包括至少一個錯誤數(shù)據(jù)包;所述錯誤數(shù)據(jù)包括次序錯誤的協(xié)議數(shù)據(jù)、內(nèi)容錯誤的協(xié)議數(shù)據(jù)、內(nèi)容丟失的協(xié)議數(shù)據(jù)和內(nèi)容擴充的協(xié)議數(shù)據(jù)中的一種或多種;
[0048]發(fā)送子模塊,用于將所述錯誤數(shù)據(jù)集發(fā)送至所述被測設(shè)備;
[0049]異常檢測子模塊,用于檢測在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常。
[0050]可選地,所述錯誤數(shù)據(jù)模糊測試模塊還包括:
[0051]查找子模塊,用于在所述異常檢測子模塊檢測到在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行異常時,查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包。
[0052]可選地,從發(fā)送時間相距被測設(shè)備發(fā)生異常運行的時間最近的N個錯誤數(shù)據(jù)包中查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包,所述查找子模塊包括:
[0053]獲取單元,用于獲取被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包;
[0054]第一判斷單元、用于判斷被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包是否記錄在異常列表中;
[0055]發(fā)送單元,用于在接收到第一判斷單元為否的判斷結(jié)果后,將所述第N個錯誤數(shù)據(jù)包發(fā)送至被測設(shè)備;
[0056]檢測單元,用于檢測在第N個錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常;
[0057]記錄單元,用于在接收到所述檢測單元為是的判斷結(jié)果后,將所述第N個錯誤數(shù)據(jù)包記錄在所述異常列表中,延遲T秒以使所述被測設(shè)備復(fù)位至正?;A(chǔ)服務(wù)狀態(tài);
[0058]第二判斷單元,用于在接收到所述第一判斷單元為是的判斷結(jié)果后或者在寄售到所述檢測單元為否的判斷結(jié)果后或者接收到所述記錄單元延遲T秒以使所述被測設(shè)備復(fù)位至正?;A(chǔ)服務(wù)狀態(tài)的信號后,判斷N是否等于0,如果是,結(jié)束查找,如果否,設(shè)定N =N-1,并將攜帶有N = N-1的信號傳送至所述獲取單元;
[0059]其中,每個錯誤數(shù)據(jù)包循環(huán)檢測M次,M為正整數(shù)。
[0060]可選地,所述測試平臺還包括:
[0061]統(tǒng)計輸出模塊,用于統(tǒng)計并輸出所述被測設(shè)備的通訊健壯性測試的測試結(jié)果。
[0062]相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
[0063]本發(fā)明提供的通訊健壯性測試方法,根據(jù)預(yù)設(shè)測試協(xié)議數(shù)據(jù)進行被測設(shè)備的通訊健壯性測試。由于預(yù)設(shè)測試協(xié)議數(shù)據(jù)是根據(jù)用戶的需求載入的,因此,這些預(yù)設(shè)測試協(xié)議數(shù)據(jù)不是隨意產(chǎn)生的,所以,那些不是用戶所關(guān)心的測試項或者與被測設(shè)備的性能參數(shù)關(guān)系不大的測試項就可以免去測試,所以,本發(fā)明提供的通訊健壯性測試方法,提高了測試效率。而且,通過本發(fā)明提供的通訊健壯性測試方法,用戶可以根據(jù)測試需要自行選擇測試項,提高了測試的針對性,進而提高了測試效率。
[0064]而且,該測試方法能夠根據(jù)用戶需求有針對性地對被測設(shè)備的健壯性進行測試,所以,該測試方法的被測設(shè)備的漏洞挖掘能力強,能夠系統(tǒng)地挖掘被測設(shè)備的隱形漏洞。當(dāng)這種測試方法適用于工業(yè)控制領(lǐng)域時,由于其能夠根據(jù)用戶需求進行測試,所以該測試方法對工業(yè)控制設(shè)備的漏洞挖掘能力高,能夠系統(tǒng)性地挖掘工業(yè)控制系統(tǒng)的隱形漏洞,也能夠提高測試效率。
【專利附圖】
【附圖說明】
[0065]為了清楚地理解本發(fā)明的技術(shù)方案,下面對描述本發(fā)明的【具體實施方式】時用到的附圖做一簡要說明。顯而易見地,這些附圖僅是本發(fā)明的部分附圖,本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的前提下,還可以獲得其它的附圖。
[0066]圖1是本發(fā)明實施例一提供的通訊健壯性測試方法的流程示意圖;
[0067]圖2是本發(fā)明實施例提供的通訊健壯性測試方法的搭建環(huán)境示意圖;
[0068]圖3是本發(fā)明實施例二提供的通訊健壯性測試方法的流程示意圖;
[0069]圖4是本發(fā)明實施例中提供的查找引起被測設(shè)備的錯誤數(shù)據(jù)包的循環(huán)檢測方法流程示意圖;
[0070]圖5是本發(fā)明實施例三提供的通訊健壯性測試方法的流程示意圖;
[0071]圖6是本發(fā)明實施例四提供的通訊健壯性測試平臺的架構(gòu)圖;
[0072]圖7是本發(fā)明提供的錯誤數(shù)據(jù)模糊測試模塊的結(jié)構(gòu)示意圖;
[0073]圖8是本發(fā)明提供的查找子模塊的結(jié)構(gòu)示意圖。
【具體實施方式】
[0074]為了使本發(fā)明的目的、作用、有益效果以及技術(shù)方案更加清楚、完整,下面結(jié)合附圖對本發(fā)明的【具體實施方式】進行描述。
[0075]基于上述【背景技術(shù)】部分的描述可知,現(xiàn)有的通訊健壯性測試方法通常采用模糊測試方法。但是現(xiàn)有的模糊測試方法的測試數(shù)據(jù)是隨機產(chǎn)生的,因此產(chǎn)生的測試數(shù)據(jù)過于隨機簡單,無法系統(tǒng)性地挖掘被測設(shè)備尤其是工業(yè)控制設(shè)備的隱形漏洞,對被測設(shè)備尤其是工業(yè)控制設(shè)備的漏洞挖掘能力較低,而且現(xiàn)有的模糊測試方法的測試效率較低。
[0076]為了解決上述技術(shù)問題,本發(fā)明提供了一種通訊健壯性的測試方法。具體參見以下實施例。
[0077]需要說明的是,本發(fā)明實施例提供的通訊健壯性測試方法不僅能夠適用于互聯(lián)網(wǎng)領(lǐng)域,而且由于其考慮了工業(yè)控制系統(tǒng)的高實時性和高可靠性的特點,還能夠適用于工業(yè)控制領(lǐng)域,因而具有更廣泛的應(yīng)用領(lǐng)域。
[0078]實施例一
[0079]結(jié)合圖1對本發(fā)明的實施例一的【具體實施方式】進行描述。圖1是本發(fā)明實施例一提供的通訊健壯性測試方法的流程示意圖。
[0080]如圖1所示,實施例一提供的通訊健壯性測試方法包括以下步驟:
[0081]S101、與被測設(shè)備建立通訊連接:
[0082]通訊健壯性測試平臺與被測設(shè)備DUT (Device Under Test)建立通訊連接。需要說明的是,被測設(shè)備DUT通過其通訊接口與通訊健壯性測試平臺建立通訊連接。
[0083]另外,為了防止網(wǎng)絡(luò)上其他設(shè)備對被測設(shè)備DUT的健壯性測試結(jié)果造成干擾,本發(fā)明實施例中的通訊健壯性測試平臺與DUT的搭建環(huán)境如圖2所示,通訊健壯性測試平臺與DUT直接連接,在測試平臺和DUT之間禁止接入交換機等中間設(shè)備。
[0084]S102、根據(jù)用戶需求載入預(yù)設(shè)測試協(xié)議數(shù)據(jù):
[0085]需要說明的是,通訊領(lǐng)域中的協(xié)議包括很多種。并且每個協(xié)議又包括多種不同類型的數(shù)據(jù),如果對通訊的每個協(xié)議中的每種類型的數(shù)據(jù)均進行測試的話,會消耗很長測試時間,導(dǎo)致測試效率很低。然而,每個協(xié)議測試數(shù)據(jù)的測試有不同的側(cè)重點,而且人們對每臺被測設(shè)備的通訊性能要求不同,有時可能只要被測設(shè)備的某一方面的通訊性能要求較高,而對其他方面的通訊性能沒有要求或要求較低,在這種情況下,可以僅對用戶關(guān)心的通訊性能進行測試。例如:如果用戶僅對被測設(shè)備的通用協(xié)議要求比較高,那么則可以僅對通用協(xié)議進行測試,那么自定義協(xié)議測試等其它測試則可以不進行。因而,本發(fā)明提供的測試方法通過根據(jù)用戶需求選擇測試項有利于提高測試效率,而且有利于挖掘系統(tǒng)的漏洞。
[0086]另外,預(yù)設(shè)測試協(xié)議數(shù)據(jù)可以為一個,也可以為多個。預(yù)設(shè)測試協(xié)議數(shù)據(jù)的類型和數(shù)量是根據(jù)用戶需求確定的。
[0087]本步驟可以具體為,通訊健壯性測試平臺根據(jù)用戶需求從標(biāo)準(zhǔn)協(xié)議模塊或自定義協(xié)議擴展模塊中載入預(yù)設(shè)測試協(xié)議數(shù)據(jù)。其中,標(biāo)準(zhǔn)協(xié)議模塊內(nèi)的協(xié)議是通訊領(lǐng)域中的標(biāo)準(zhǔn)協(xié)議,自定義協(xié)議擴展模塊的協(xié)議是根據(jù)用戶需求和被測設(shè)備自身的性能屬性而自定義的協(xié)議。另外,通訊健壯性測試平臺從標(biāo)準(zhǔn)協(xié)議模塊或自定義協(xié)議擴展模塊中載入的預(yù)設(shè)測試協(xié)議數(shù)據(jù)均為符合協(xié)議規(guī)定的正確的測試數(shù)據(jù)。
[0088]S103、根據(jù)所述預(yù)設(shè)測試協(xié)議數(shù)據(jù),對所述被測設(shè)備進行通訊健壯性測試,以得到通訊健壯性的測試結(jié)果:
[0089]通訊健壯性測試平臺根據(jù)所述預(yù)設(shè)測試協(xié)議數(shù)據(jù),對被測設(shè)備進行針對性的通訊健壯性測試。所述通訊健壯性測試是檢測被測設(shè)備的運行是否發(fā)生異常,如果是,則表明通訊健壯性較差,如果否,則表明通訊健壯性較好。
[0090]由于預(yù)設(shè)測試協(xié)議數(shù)據(jù)是根據(jù)用戶的需求載入的,因此,這些預(yù)設(shè)測試協(xié)議數(shù)據(jù)不是隨意產(chǎn)生的,所以,那些不是用戶所關(guān)心的測試項或者與被測設(shè)備的性能參數(shù)關(guān)系不大的測試項就可以免去測試,所以,本發(fā)明提供的通訊健壯性測試方法,提高了測試效率。而且,通過本發(fā)明提供的通訊健壯性測試方法,用戶可以根據(jù)測試需要自行選擇測試項,提高了測試的針對性,進而提高了測試效率。
[0091]以上為本發(fā)明實施例一提供的通訊健壯性測試方法的【具體實施方式】。
[0092]需要進一步說明的是,上述步驟S103對被測設(shè)備進行通訊健壯性測試包括錯誤數(shù)據(jù)模糊測試和資源耗盡壓力測試。
[0093]所述錯誤數(shù)據(jù)模糊測試是指將正確的測試數(shù)據(jù)根據(jù)模糊算法生成錯誤數(shù)據(jù)包,然后將生成的錯誤數(shù)據(jù)包發(fā)送至被測設(shè)備,檢測被測設(shè)備在錯誤數(shù)據(jù)包的作用下是否引起運行異常,從而測試被測設(shè)備在數(shù)據(jù)變異的攻擊下的通訊健壯性。
[0094]所述資源耗盡壓力測試是指以被測設(shè)備的極限性能參數(shù)如CPU的最高極限處理速率、通訊接口的極限速率以及被測設(shè)備能夠連接的主機的極限數(shù)量進行數(shù)據(jù)傳送,檢測被測設(shè)備是否產(chǎn)生運行異常,從而測試被測設(shè)備的高速流量等壓力測試。
[0095]上述所述的錯誤數(shù)據(jù)模糊測試是根據(jù)預(yù)設(shè)測試協(xié)議進行的,此時,所述錯誤數(shù)據(jù)模糊測試具體包括:
[0096]Al、根據(jù)模糊算法和載入的預(yù)設(shè)測試協(xié)議數(shù)據(jù)生成預(yù)設(shè)測試協(xié)議數(shù)據(jù)的錯誤數(shù)據(jù)集,所述錯誤數(shù)據(jù)集內(nèi)包括至少一個錯誤數(shù)據(jù)包;
[0097]采用本領(lǐng)域慣用的技術(shù)手段,根據(jù)模糊算法將載入的預(yù)設(shè)測試協(xié)議數(shù)據(jù)生成預(yù)設(shè)測試協(xié)議的錯誤數(shù)據(jù)集,在錯誤數(shù)據(jù)集內(nèi)包括至少一個錯誤數(shù)據(jù)包。
[0098]所述錯誤數(shù)據(jù)包括次序錯誤的協(xié)議數(shù)據(jù)、內(nèi)容錯誤的協(xié)議數(shù)據(jù)、內(nèi)容丟失的協(xié)議數(shù)據(jù)和內(nèi)容擴充的協(xié)議數(shù)據(jù)中的一種或多種。
[0099]所述次序錯誤的協(xié)議數(shù)據(jù)是針對基于狀態(tài)的協(xié)議,該協(xié)議存在該項異常,次序錯誤的協(xié)議數(shù)據(jù)的次序與標(biāo)準(zhǔn)次序不符。
[0100]所述內(nèi)容錯誤的協(xié)議數(shù)據(jù)是指協(xié)議字段內(nèi)容與標(biāo)準(zhǔn)協(xié)議不符。
[0101]內(nèi)容丟失的協(xié)議數(shù)據(jù)是在協(xié)議部分字段內(nèi)容丟失。
[0102]內(nèi)容擴充的協(xié)議數(shù)據(jù)是指協(xié)議部分字段內(nèi)容擴充。
[0103]以上幾種錯誤數(shù)據(jù)包均導(dǎo)致協(xié)議數(shù)據(jù)發(fā)生變異,均可能會引起被測設(shè)備的運行異常,從而能夠檢測被測設(shè)備的通訊健壯性。
[0104]A2、將所述錯誤數(shù)據(jù)集發(fā)送至所述被測設(shè)備:
[0105]由于通訊健壯性測試平臺與被測設(shè)備預(yù)先建立了通訊連接,通訊健壯性測試平臺將錯誤數(shù)據(jù)集發(fā)送至被測設(shè)備。需要說明的是,在錯誤數(shù)據(jù)模糊測試過程中,數(shù)據(jù)的發(fā)送速率優(yōu)選為通常情況下(即能夠?qū)崿F(xiàn)正常通訊的發(fā)送速率)采用的發(fā)送速率。
[0106]A3、檢測在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常:
[0107]被測設(shè)備在錯誤數(shù)據(jù)集中的錯誤數(shù)據(jù)包的攻擊下,有可能發(fā)生運行異常。
[0108]通訊健壯性測試平臺檢測被測設(shè)備在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下的運行是否異常。如果是,表明被測設(shè)備的通訊健壯性較差,如果否,表明被測設(shè)備的通訊健壯性較好。
[0109]需要說明的是,被測設(shè)備的運行是否異常的判斷規(guī)則可以根據(jù)不同的被測設(shè)備設(shè)置不同的判斷規(guī)則。尤其是當(dāng)測試方法應(yīng)用于工業(yè)控制領(lǐng)域時,可以根據(jù)工業(yè)控制系統(tǒng)高實時性和高可靠性的特點設(shè)計相應(yīng)的異常判斷規(guī)則。
[0110]該異常判斷規(guī)則可以具體如下:
[0111]由于工業(yè)控制設(shè)備具備高實時性和高可靠性的特點,因此對于點對點的請求響應(yīng)速度很快,這一特性可作為DUT異常判斷的必要規(guī)則。此外,一般工業(yè)控制設(shè)備都存在周期性控制命令和診斷報警信息,這些信息可為異常判別提供依據(jù),可作為增加測試精度的異常判斷可選規(guī)則。
[0112]基于TCP/IP協(xié)議的工業(yè)控制設(shè)備具備多種點對點通訊協(xié)議,在此ARP請求命令和PING請求命令將作為DUT異常判斷的必要規(guī)則,此外,針對不同工控設(shè)備,可加入私有協(xié)議的點對點命令作為DUT異常判別規(guī)則之一,以增加異常判斷精度。
[0113]在本發(fā)明實施例中,檢測被測設(shè)備的運行是否異??梢载灤┱麄€測試過程,因而,有利于提高通訊健壯性測試平臺的測試能力。
[0114]在本發(fā)明實施例中,所述的資源耗盡壓力測試根據(jù)載入的正確預(yù)設(shè)測試協(xié)議數(shù)據(jù)進行。
[0115]在本發(fā)明實施例中,所述資源耗盡壓力測試具體包括:
[0116]根據(jù)所述被測設(shè)備的性能參數(shù)設(shè)置與所述被測設(shè)備進行通訊的通訊條件;
[0117]按照所述通訊條件與所述被測設(shè)備進行通訊,以檢測被測設(shè)備是否發(fā)生異常。
[0118]由以上的描述可知,所述預(yù)設(shè)測試協(xié)議數(shù)據(jù)是根據(jù)被測設(shè)備的性能參數(shù)載入到通訊健壯性測試平臺的。
[0119]在本發(fā)明實施例中,所述資源耗盡壓力測試可以具體包括滿載測試、過載測試和連接數(shù)測試。
[0120]其中,滿載測試是按照被測設(shè)備的CPU最高極限處理速率向所述被測設(shè)備發(fā)送數(shù)據(jù),以測試被測設(shè)備在該情況下是否發(fā)生異常。
[0121]過載測試是按照所述被測設(shè)備的通訊接口的極限速率向所述被測設(shè)備發(fā)送數(shù)據(jù),以測試所述被測設(shè)備在該情況下是否發(fā)生異常。
[0122]所述連接數(shù)測試是指將所述被測設(shè)備與預(yù)定數(shù)量臺主機建立通訊連接,以測試所述被測設(shè)備在該情況下是否發(fā)生異常,其中,所述預(yù)定數(shù)量是被測設(shè)備連接主機的最多數(shù)量。
[0123]需要說明的是,上述進行資源耗盡測試時均是以被測設(shè)備的某些性能參數(shù)的極限值進行的,所以能夠測試出被測設(shè)備在高速流量下的抗壓能力。并且由于測試是以被測設(shè)備的某些性能參數(shù)的極限值進行的,所以,該資源耗盡測試針對不同的被測設(shè)備會配置不同的測試數(shù)據(jù),所以該測試方法具有很大的針對性。有利于提高測試效率。而且能夠系統(tǒng)性地挖掘被測設(shè)備尤其是工業(yè)控制設(shè)備的隱形漏洞。
[0124]進一步地,上述資源耗盡測試在進行測試時,能夠即時得到檢測結(jié)果,即數(shù)據(jù)發(fā)送至被測設(shè)備后,能夠立刻得出被測設(shè)備是否異常的結(jié)果,所以,在資源耗盡測試時沒有延時的問題。
[0125]此外,通過本發(fā)明提供的資源耗盡壓力測試,能夠?qū)崿F(xiàn)根據(jù)被測設(shè)備自身的性能參數(shù)進行相關(guān)測試項的測試,由于這些測試項可以根據(jù)被測設(shè)備自身的性能進行設(shè)定,所以,該測試方法能夠根據(jù)被測設(shè)備的性能進行適應(yīng)于該被測設(shè)備性能參數(shù)的測試,具有很大的針對性,也有利于提聞測試效率。
[0126]而且,由于能夠針對不同的被測設(shè)備進行不同的測試項的測試,所以,該測試方法的被測設(shè)備的漏洞挖掘能力強,能夠系統(tǒng)地挖掘被測設(shè)備的隱形漏洞。當(dāng)這種測試方法適用于工業(yè)控制領(lǐng)域時,由于其能夠根據(jù)用戶需求和被測設(shè)備自身的性能進行測試,所以該測試方法對工業(yè)控制設(shè)備的漏洞挖掘能力高,能夠系統(tǒng)性地挖掘工業(yè)控制系統(tǒng)的隱形漏洞,也能夠提高測試效率。
[0127]實施例一所述的通訊健壯性測試方法能夠?qū)崿F(xiàn)根據(jù)用戶需求和被測設(shè)備自身的性能參數(shù)對被測設(shè)備進行針對性測試,有利于提高測試效率,對被測設(shè)備的漏洞挖掘能力強。為了能夠查找到引起被測設(shè)備發(fā)生運行異常的錯誤數(shù)據(jù)包,本發(fā)明還提供了實施例二。
[0128]實施例二
[0129]實施例二所述的測試方法與實施例一所述的測試方法有諸多相似之處,為了突出重點,本發(fā)明實施例僅對其不同之處進行著重描述,其相似之處請參見實施例一的描述。
[0130]如圖3所示,實施例二所述的測試方法包括以下步驟:
[0131]步驟S301至步驟S303與實施例一所述的步驟SlOl至步驟S103相同,為了簡要起見,在此不再詳細(xì)描述,具體請參見實施例一的描述。
[0132]S304、當(dāng)檢測到在所述錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行異常時,查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包:
[0133]一般情況下,當(dāng)被測設(shè)備的運行發(fā)生異常后,認(rèn)為發(fā)送至被測設(shè)備的當(dāng)前數(shù)據(jù)即為引起所述被測設(shè)備發(fā)生運行異常的錯誤數(shù)據(jù)包。對于設(shè)置有一個處理器的被測設(shè)備來說,這種引起被測設(shè)備發(fā)生異常的錯誤數(shù)據(jù)包的定位方法的定位較為準(zhǔn)確。
[0134]但是,當(dāng)某些被測設(shè)備例如某些工業(yè)控制設(shè)備采用雙處理器的設(shè)計時,處理器數(shù)據(jù)交互存在一定延時,當(dāng)進行錯誤數(shù)據(jù)包模糊測試時,如果采取一般的錯誤數(shù)據(jù)包的定位方法,即在被測設(shè)備發(fā)生異常后,就認(rèn)為當(dāng)前數(shù)據(jù)即為引起被測設(shè)備發(fā)生異常的錯誤數(shù)據(jù)包,可能造成定位不準(zhǔn)確。
[0135]為了能夠?qū)崿F(xiàn)對弓I起異常運行的錯誤數(shù)據(jù)包進行準(zhǔn)確定位,本發(fā)明實施例還提供了一種采用循環(huán)檢測方法對引起被測設(shè)備發(fā)生異常的錯誤數(shù)據(jù)包進行定位的方法,以提高定位的準(zhǔn)確性。需要說明的是,為了給延時一定的時間,在進入循環(huán)檢測之前,延遲T秒以使被測設(shè)備DUT從異常運行狀態(tài)復(fù)位恢復(fù)至正?;A(chǔ)服務(wù)狀態(tài)。
[0136]另外,需要說明的是,當(dāng)對被測設(shè)備進行通訊健壯性測試時,發(fā)送至被測設(shè)備的錯誤數(shù)據(jù)包是逐一發(fā)送的,即在同一時刻向被測設(shè)備只發(fā)送一個錯誤數(shù)據(jù)包。當(dāng)被測設(shè)備發(fā)生異常后,考慮到數(shù)據(jù)交互延時的問題,引起被測設(shè)備發(fā)生異常的錯誤數(shù)據(jù)包一定是發(fā)生異常之前且最靠近發(fā)生異常時刻的發(fā)送來的錯誤數(shù)據(jù)包。
[0137]為了對引起被測設(shè)備異常運行的錯誤數(shù)據(jù)包進行定位,同時又盡可能地提高測試效率,在本發(fā)明實施中,從所述被測設(shè)備發(fā)生異常時往前數(shù)N個發(fā)送至被測設(shè)備的錯誤數(shù)據(jù)包,對這N個錯誤數(shù)據(jù)包重新進行測試。換句話說,這N個錯誤數(shù)據(jù)包的發(fā)送時間相距被測設(shè)備發(fā)生異常運行的時間最近。其中,N為正整數(shù)。N的取值與被測設(shè)備的數(shù)據(jù)處理速率有關(guān),如果數(shù)據(jù)處理速率快,則N值優(yōu)選為較大值,如果數(shù)據(jù)處理速率慢,則N值優(yōu)選為較小值。
[0138]另外,為了提高查找到的錯誤數(shù)據(jù)包的準(zhǔn)確性,在本發(fā)明實施例中,這N個錯誤數(shù)據(jù)包中的每一個錯誤數(shù)據(jù)包均循環(huán)檢測M次,M為正整數(shù)。進一步優(yōu)選地,M為大于等于2的整數(shù)。也就是說,對每一個錯誤數(shù)據(jù)包進行多次檢測。需要說明的是,M值越大,循環(huán)次數(shù)越多,檢測時間越長,測試效率越低,反之亦然。
[0139]該循環(huán)檢測方法的總體過程如圖4所示,其包括以下步驟:
[0140]S401、獲取被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包:
[0141]需要說明的是,第N個錯誤數(shù)據(jù)包的發(fā)送時間可以是相距被測設(shè)備發(fā)生異常運行時間最長,也可以為最短,當(dāng)然也可以為中間值。在本發(fā)明實施例中,對N個錯誤數(shù)據(jù)包的檢測順序不做限定,只要在結(jié)束循環(huán)測試前,N個錯誤數(shù)據(jù)包中的每個錯誤數(shù)據(jù)包均進行了檢測即可。
[0142]S402、判斷所述第N個錯誤數(shù)據(jù)包是否記錄在異常列表中,如果是,執(zhí)行步驟S407,如果否,執(zhí)行步驟S403:
[0143]需要說明的是,當(dāng)查找到某一個錯誤數(shù)據(jù)包引起了被測設(shè)備的運行發(fā)生了異常,就將該錯誤數(shù)據(jù)包記錄在異常列表中。所以,當(dāng)某一個錯誤數(shù)據(jù)包記錄在異常列表中時,則表明該錯誤數(shù)據(jù)包引起了被測設(shè)備發(fā)生異常運行。
[0144]S403、將所述第N個錯誤數(shù)據(jù)包發(fā)送至所述被測設(shè)備:
[0145]S404、檢測在第N個錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常,如果是,執(zhí)行步驟S405,如果否,執(zhí)行步驟S406。
[0146]S405、將第N個錯誤數(shù)據(jù)包記錄在所述異常列表中,延遲T秒以使所述被測設(shè)備復(fù)位至正常基礎(chǔ)服務(wù)狀態(tài),然后執(zhí)行步驟S407:
[0147]由于處理器交互有一定的時間延遲,所以,將第N個錯誤數(shù)據(jù)包記錄在所述異常列表中,延遲T秒以使被測設(shè)備復(fù)位至正?;A(chǔ)服務(wù)狀態(tài),然后繼續(xù)執(zhí)行步驟S407。
[0148]S406、判斷M是否等于0,如果是,執(zhí)行步驟S407,如果否,設(shè)定M = M_l,返回執(zhí)行步驟S403。
[0149]在本發(fā)明實施例中,為了提高錯誤數(shù)據(jù)包的定位準(zhǔn)確性,設(shè)定對每個錯誤數(shù)據(jù)包測試M次。
[0150]S407、判斷N是否等于0,如果是,結(jié)束循環(huán)測試,如果否,設(shè)定N = N_l,返回執(zhí)行所述步驟S401。
[0151]在圖4所示的循環(huán)檢測方法中,由于在對下一個錯誤數(shù)據(jù)包檢測之前,被測設(shè)備均恢復(fù)到正常技術(shù)服務(wù)狀態(tài),所以,當(dāng)一個錯誤數(shù)據(jù)包發(fā)送至被測設(shè)備,引起設(shè)備發(fā)生異常運行時,肯定是該錯誤數(shù)據(jù)包引起的被測設(shè)備發(fā)生了異常運行。所以,相較于現(xiàn)有技術(shù),該循環(huán)檢測方法提高了錯誤數(shù)據(jù)包定位的準(zhǔn)確性。而且,該循環(huán)檢測方法能夠應(yīng)用于高實時性的工業(yè)控制領(lǐng)域。
[0152]以上為本發(fā)明實施例二提供的通訊健壯性測試方法的【具體實施方式】。在實施例二中,實現(xiàn)了對引起被測設(shè)備發(fā)生異常的錯誤數(shù)據(jù)包的準(zhǔn)確定位。但是實施例二不對測試結(jié)果進行統(tǒng)計和整理,不方便工作人員對被測設(shè)備的改進處理。為了能夠,將測試結(jié)果反饋給工作人員,以便工作人員對被測設(shè)備進行處理,本發(fā)明實施例還提供了實施例三。
[0153]實施例三
[0154]實施例三所述的通訊健壯性的測試方法是在實施例二所述的通訊健壯性測試方法的基礎(chǔ)上進行的進一步改進。因此,實施例三與實施例二有諸多相似之處,為了突出重點,本發(fā)明實施例僅對其不同之處進行著重描述,其相似之處請參見實施例二的描述。
[0155]如圖5所示,實施例三所述的通訊健壯性的測試方法包括以下步驟:
[0156]S501至步驟S504與實施例二所述的步驟S301至步驟S304相同,為了簡要起見,在此不再詳細(xì)描述,具體參見實施例二的描述。
[0157]S505、統(tǒng)計并輸出所述被測設(shè)備的通訊健壯性測試的測試結(jié)果:
[0158]所述測試結(jié)果包括:異常數(shù)目、異常類型、異常參數(shù)和異常時間中的一種或多種。
[0159]在測試結(jié)果中還可以包括對被測設(shè)備的通訊健壯性的評估結(jié)果,該評估結(jié)果可以為健壯性良好或者健壯性較差。
[0160]所述異常數(shù)目是指整個測試過程中,引起被測設(shè)備發(fā)生異常運行的錯誤數(shù)據(jù)包的數(shù)量。
[0161]所述異常類型是指引起被測設(shè)備發(fā)生異常運行的錯誤數(shù)據(jù)包的類型。也就是說,在此處,所述的類型為錯誤數(shù)據(jù)包的描述。
[0162]異常參數(shù)是指引起被測設(shè)備發(fā)生異常運行的錯誤數(shù)據(jù)包里面的異常字段的值。
[0163]異常時間是指被測設(shè)備發(fā)生異常的時間。
[0164]在本發(fā)明實施例中,測試結(jié)果可以以文本形式輸出。
[0165]實施例三提供的測試方法能夠?qū)y試結(jié)果輸出反饋給工作人員,因而使得工作人員更加清楚地了解被測設(shè)備的通訊健壯性的優(yōu)劣。
[0166]基于上述實施例一至實施例三所述的測試方法,本發(fā)明實施例還提供了通訊健壯性的測試平臺。具體參見實施例四。
[0167]實施例四
[0168]如圖6所示,實施例四所的通訊健壯性測試平臺包括:
[0169]通訊接口模塊61,用于與被測設(shè)備建立通訊連接;
[0170]測試數(shù)據(jù)載入模塊62,用于根據(jù)用戶需求載入預(yù)設(shè)測試協(xié)議數(shù)據(jù);
[0171]通訊健壯性測試模塊63,用于根據(jù)所述預(yù)設(shè)測試協(xié)議數(shù)據(jù),對所述被測設(shè)備進行通訊健壯性測試,以得到通訊健壯性的測試結(jié)果。
[0172]為了實現(xiàn)對測試結(jié)果的統(tǒng)計和輸出,所述測試平臺還包括:
[0173]統(tǒng)計輸出模塊64,用于統(tǒng)計并輸出所述被測設(shè)備的通訊健壯性測試的測試結(jié)果。
[0174]實施例四提供的測試平臺能夠根據(jù)用戶需求載入預(yù)設(shè)測試協(xié)議數(shù)據(jù),因此,這些預(yù)設(shè)測試協(xié)議數(shù)據(jù)不是隨意產(chǎn)生的,所以,本發(fā)明提供的通訊健壯性測試平臺,提高了測試效率。而且,通過本發(fā)明提供的通訊健壯性測試平臺,用戶可以根據(jù)測試需要自行選擇測試項,提高了測試的針對性,進而提高了測試效率。
[0175]而且,該測試平臺能夠根據(jù)用戶需求有針對性地對被測設(shè)備的健壯性進行測試,所以,該測試平臺的被測設(shè)備的漏洞挖掘能力強,能夠系統(tǒng)地挖掘被測設(shè)備的隱形漏洞。當(dāng)這種測試平臺適用于工業(yè)控制領(lǐng)域時,由于其能夠根據(jù)用戶需求和被測設(shè)備自身的性能進行測試,所以該測試平臺對工業(yè)控制設(shè)備的漏洞挖掘能力高,能夠系統(tǒng)性地挖掘工業(yè)控制系統(tǒng)的隱形漏洞,也能夠提高測試效率。
[0176]進一步地,所述通訊健壯性測試模塊63包括錯誤數(shù)據(jù)模糊測試模塊631和資源耗盡壓力測試模塊632。
[0177]進一步地,錯誤數(shù)據(jù)模糊測試模塊631的具體結(jié)構(gòu)如圖7所示,其包括:
[0178]生成錯誤數(shù)據(jù)集子模塊71,用于根據(jù)模糊算法和載入的所述預(yù)設(shè)測試協(xié)議數(shù)據(jù)生成預(yù)設(shè)測試協(xié)議數(shù)據(jù)的錯誤數(shù)據(jù)集,所述錯誤數(shù)據(jù)集內(nèi)包括至少一個錯誤數(shù)據(jù)包;所述錯誤數(shù)據(jù)包括次序錯誤的協(xié)議數(shù)據(jù)、內(nèi)容錯誤的協(xié)議數(shù)據(jù)、內(nèi)容丟失的協(xié)議數(shù)據(jù)和內(nèi)容擴充的協(xié)議數(shù)據(jù)中的一種或多種;
[0179]發(fā)送子模塊72,用于將所述錯誤數(shù)據(jù)集發(fā)送至所述被測設(shè)備;
[0180]異常檢測子模塊73,用于檢測在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常。
[0181]為了能夠查找到引起被測設(shè)備發(fā)生運行異常的錯誤數(shù)據(jù)包,上述所述的錯誤數(shù)據(jù)模糊測試模塊631還進一步包括:
[0182]查找子模塊74,用于在所述異常檢測子模塊檢測到在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行異常時,查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包。
[0183]為了能夠在數(shù)據(jù)交互延時的情況下,也能準(zhǔn)確地查找到引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包,所述查找子模塊74的具體結(jié)構(gòu)可以采用如圖8所述的結(jié)構(gòu),其包括:
[0184]獲取單元81,用于獲取被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包;
[0185]第一判斷單元82,用于判斷被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包是否記錄在異常列表中;
[0186]發(fā)送單元83,用于在接收到第一判斷單元82為否的判斷結(jié)果后,將所述第N個錯誤數(shù)據(jù)包發(fā)送至被測設(shè)備;
[0187]檢測單元84,用于檢測在第N個錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常;
[0188]記錄單元85,用于在接收到所述檢測單元84為是的判斷結(jié)果后,將所述第N個錯誤數(shù)據(jù)包記錄在所述異常列表中,延遲T秒以使所述被測設(shè)備復(fù)位至正?;A(chǔ)服務(wù)狀態(tài);
[0189]第二判斷單元86,用于在接收到所述第一判斷單元82為是的判斷結(jié)果后或者在接收到所述檢測單元84為否的判斷結(jié)果后或者接收到所述記錄單元85延遲T秒以使被測設(shè)備復(fù)位至正常基礎(chǔ)服務(wù)狀態(tài)的信號后,判斷N是否等于0,如果是,結(jié)束查找,如果否,設(shè)SN = N-1,并將攜帶有N = N-1的信號傳送至所述獲取單元81 ;
[0190]其中,每個錯誤數(shù)據(jù)包循環(huán)檢測M次,M為正整數(shù)。
[0191]以上所述僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制。雖然本發(fā)明以較佳實施例揭露如上,然而并非用以限定本發(fā)明。任何熟悉本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍情況下,都可利用上述揭示的方法和技術(shù)內(nèi)容對本發(fā)明技術(shù)方案做出許多可能的變動和修飾,或修改為等同變化的等效實施例。因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所做的任何簡單修改、等同變化及修飾,均仍屬于本發(fā)明技術(shù)方案保護的范圍內(nèi)。
【權(quán)利要求】
1.一種通訊健壯性測試方法,其特征在于,包括: 與被測設(shè)備建立通訊連接; 根據(jù)用戶需求載入預(yù)設(shè)測試協(xié)議數(shù)據(jù); 根據(jù)所述預(yù)設(shè)測試協(xié)議數(shù)據(jù),對所述被測設(shè)備進行通訊健壯性測試,以得到通訊健壯性的測試結(jié)果。
2.根據(jù)權(quán)利要求1所述的測試方法,其特征在于,所述通訊健壯性測試包括: 錯誤數(shù)據(jù)模糊測試和資源耗盡壓力測試。
3.根據(jù)權(quán)利要求2所述的測試方法,其特征在于,所述錯誤數(shù)據(jù)模糊測試包括: 根據(jù)模糊算法和載入的所述預(yù)設(shè)測試協(xié)議數(shù)據(jù)生成預(yù)設(shè)測試協(xié)議數(shù)據(jù)的錯誤數(shù)據(jù)集,所述錯誤數(shù)據(jù)集內(nèi)包括至少一個錯誤數(shù)據(jù)包;所述錯誤數(shù)據(jù)包括次序錯誤的協(xié)議數(shù)據(jù)、內(nèi)容錯誤的協(xié)議數(shù)據(jù)、內(nèi)容丟失的協(xié)議數(shù)據(jù)和內(nèi)容擴充的協(xié)議數(shù)據(jù)中的一種或多種; 將所述錯誤數(shù)據(jù)集發(fā)送至所述被測設(shè)備; 檢測在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常。
4.根據(jù)權(quán)利要求3所述的測試方法,其特征在于,當(dāng)檢測到在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行異常時,所述測試方法還包括:查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包。
5.根據(jù)權(quán)利要求4所述的測試方法,其特征在于,所述查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包,具體包括:從發(fā)送時間相距被測設(shè)備發(fā)生異常運行的時間最近的N個錯誤數(shù)據(jù)包中查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包,其中,N > 1,N為整數(shù)。
6.根據(jù)權(quán)利要求5所述的測試方法,其特征在于,所述從發(fā)送時間相距被測設(shè)備發(fā)生異常運行的時間最近的N個錯誤數(shù)據(jù)包中查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包,具體包括: 步驟A、獲取被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包: 步驟B、判斷被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包是否記錄在異常列表中,如果是,執(zhí)行步驟F ;如果否,執(zhí)行步驟C ; 步驟C、將所述第N個錯誤數(shù)據(jù)包發(fā)送至被測設(shè)備; 步驟D、檢測在第N個錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常;如果是,執(zhí)行步驟E,如果否,執(zhí)行步驟F; 步驟E、將所述第N個錯誤數(shù)據(jù)包記錄在所述異常列表中,延遲T秒以使所述被測設(shè)備復(fù)位至正?;A(chǔ)服務(wù)狀態(tài); 步驟F、判斷N是否等于0,如果是,結(jié)束查找,如果否,設(shè)定N = N-1,返回執(zhí)行所述步驟A; 其中,所述步驟C至所述步驟D依次循環(huán)執(zhí)行Μ次,Μ為正整數(shù)。
7.根據(jù)權(quán)利要求2所述的測試方法,其特征在于,所述資源耗盡壓力測試包括: 根據(jù)所述被測設(shè)備的性能參數(shù)設(shè)置與所述被測設(shè)備進行通訊的通訊條件; 按照所述通訊條件與所述被測設(shè)備進行通訊,以檢測被測設(shè)備是否發(fā)生異常。
8.根據(jù)權(quán)利要求7所述的測試方法,其特征在于,所述與所述被測設(shè)備進行通訊的通訊條件為被測設(shè)備的CPU的最高極限處理速率; 所述按照所述通訊條件與所述被測設(shè)備進行通訊,以檢測被測設(shè)備是否發(fā)生異常具體包括:按照所述被測設(shè)備的CPU最高極限處理速率向所述被測設(shè)備發(fā)送數(shù)據(jù),以測試所述被測設(shè)備是否發(fā)生異常; 和/或, 所述與所述被測設(shè)備進行通訊的通訊條件為所述被測設(shè)備的通訊接口的極限速率;所述按照所述通訊條件與所述被測設(shè)備進行通訊,以檢測被測設(shè)備是否發(fā)生異常具體包括:按照所述被測設(shè)備的通訊接口的極限速率向所述被測設(shè)備發(fā)送數(shù)據(jù),以測試所述被測設(shè)備是否發(fā)生異常; 和/或, 所述與所述被測設(shè)備進行通訊的通訊條件為所述被測設(shè)備與預(yù)定數(shù)量臺主機進行通訊連接;所述預(yù)定數(shù)量為被測設(shè)備連接主機的極限數(shù)量; 所述按照所述通訊條件與所述被測設(shè)備進行通訊,以檢測被測設(shè)備是否發(fā)生異常具體包括:將所述被測設(shè)備與預(yù)定數(shù)量臺主機建立通訊連接,以測試所述被測設(shè)備是否發(fā)生異堂巾O
9.根據(jù)權(quán)利要求1-8任一項所述的測試方法,其特征在于,還包括: 統(tǒng)計并輸出所述被測設(shè)備的通訊健壯性測試的測試結(jié)果。
10.根據(jù)權(quán)利要求9所述的測試方法,其特征在于,所述測試結(jié)果以文本形式輸出。
11.一種通訊健壯性測試平臺,其特征在于,包括: 通訊接口模塊,用于與被測設(shè)備建立通訊連接; 測試數(shù)據(jù)載入模塊,用于根據(jù)用戶需求載入預(yù)設(shè)測試協(xié)議數(shù)據(jù); 通訊健壯性測試模塊,用于根據(jù)所述預(yù)設(shè)測試協(xié)議數(shù)據(jù),對所述被測設(shè)備進行通訊健壯性測試,以得到通訊健壯性的測試結(jié)果。
12.根據(jù)權(quán)利要求11所述的測試平臺,其特征在于,所述通訊健壯性測試模塊包括:錯誤數(shù)據(jù)模糊測試模塊和資源耗盡壓力測試模塊。
13.根據(jù)權(quán)利要求12所述的測試平臺,其特征在于,所述錯誤數(shù)據(jù)模糊測試模塊包括: 生成錯誤數(shù)據(jù)集子模塊,用于根據(jù)模糊算法和載入的所述預(yù)設(shè)測試協(xié)議數(shù)據(jù)生成預(yù)設(shè)測試協(xié)議數(shù)據(jù)的錯誤數(shù)據(jù)集,所述錯誤數(shù)據(jù)集內(nèi)包括至少一個錯誤數(shù)據(jù)包;所述錯誤數(shù)據(jù)包括次序錯誤的協(xié)議數(shù)據(jù)、內(nèi)容錯誤的協(xié)議數(shù)據(jù)、內(nèi)容丟失的協(xié)議數(shù)據(jù)和內(nèi)容擴充的協(xié)議數(shù)據(jù)中的一種或多種; 發(fā)送子模塊,用于將所述錯誤數(shù)據(jù)集發(fā)送至所述被測設(shè)備; 異常檢測子模塊,用于檢測在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常。
14.根據(jù)權(quán)利要求13所述的測試平臺,其特征在于,所述錯誤數(shù)據(jù)模糊測試模塊還包括: 查找子模塊,用于在所述異常檢測子模塊檢測到在所述錯誤數(shù)據(jù)集內(nèi)的錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行異常時,查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包。
15.根據(jù)權(quán)利要求14所述的測試平臺,其特征在于,從發(fā)送時間相距被測設(shè)備發(fā)生異常運行的時間最近的N個錯誤數(shù)據(jù)包中查找引起所述被測設(shè)備運行異常的錯誤數(shù)據(jù)包,所述查找子模塊包括: 獲取單元,用于獲取被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包; 第一判斷單元、用于判斷被測設(shè)備發(fā)生異常前的第N個錯誤數(shù)據(jù)包是否記錄在異常列表中; 發(fā)送單元,用于在接收到第一判斷單元為否的判斷結(jié)果后,將所述第N個錯誤數(shù)據(jù)包發(fā)送至被測設(shè)備; 檢測單元,用于檢測在第N個錯誤數(shù)據(jù)包的作用下所述被測設(shè)備的運行是否異常; 記錄單元,用于在接收到所述檢測單元為是的判斷結(jié)果后,將所述第N個錯誤數(shù)據(jù)包記錄在所述異常列表中,延遲T秒以使所述被測設(shè)備復(fù)位至正?;A(chǔ)服務(wù)狀態(tài); 第二判斷單元,用于在接收到所述第一判斷單元為是的判斷結(jié)果后或者在寄售到所述檢測單元為否的判斷結(jié)果后或者接收到所述記錄單元延遲T秒以使所述被測設(shè)備復(fù)位至正?;A(chǔ)服務(wù)狀態(tài)的信號后,判斷N是否等于O,如果是,結(jié)束查找,如果否,設(shè)定N = N-1,并將攜帶有N = N-1的信號傳送至所述獲取單元; 其中,每個錯誤數(shù)據(jù)包循環(huán)檢測M次,M為正整數(shù)。
16.根據(jù)權(quán)利要求11-15任一項所述的測試平臺,其特征在于,所述測試平臺還包括: 統(tǒng)計輸出模塊,用于統(tǒng)計并輸出所述被測設(shè)備的通訊健壯性測試的測試結(jié)果。
【文檔編號】H04L12/26GK104243114SQ201410504323
【公開日】2014年12月24日 申請日期:2014年9月26日 優(yōu)先權(quán)日:2014年9月26日
【發(fā)明者】章維, 陳銀桃, 鐘晨, 陸衛(wèi)軍 申請人:浙江中控技術(shù)股份有限公司