欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用有目標(biāo)的變量輸入來(lái)測(cè)試數(shù)據(jù)格式的系統(tǒng)和方法

文檔序號(hào):7952163閱讀:195來(lái)源:國(guó)知局
專利名稱:使用有目標(biāo)的變量輸入來(lái)測(cè)試數(shù)據(jù)格式的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)格式開發(fā)領(lǐng)域,尤其涉及測(cè)試數(shù)據(jù)格式來(lái)針對(duì)安全問(wèn)題和其它缺陷進(jìn)行保護(hù)。
背景技術(shù)
在常規(guī)的計(jì)算機(jī)網(wǎng)絡(luò)中,編譯、儲(chǔ)存并在多個(gè)不同的計(jì)算設(shè)備之間傳輸大量數(shù)據(jù)。為更安全且更有效地進(jìn)行數(shù)據(jù)的編譯、存儲(chǔ)和傳輸,開發(fā)了多種不同的數(shù)據(jù)格式。一種類型的數(shù)據(jù)格式是文件格式,它是描述如何組織文件中的數(shù)據(jù)的格式。例如,當(dāng)文字處理程序保存文件時(shí),文字處理程序保存除文件文本之外的格式化信息。該格式化信息通常是字符、指令和/或可被分離或剖析成遵循特定數(shù)據(jù)格式的規(guī)則的標(biāo)記其它信息的集合。
另一種類型的數(shù)據(jù)格式是協(xié)議。協(xié)議是用于在兩個(gè)設(shè)備之間傳輸數(shù)據(jù)的格式。協(xié)議描述了諸如要使用的檢錯(cuò)類型、數(shù)據(jù)壓縮方法、發(fā)送設(shè)備如何指示它完成了發(fā)送消息、以及接收設(shè)備如何指示它已接收到消息等屬性。開放系統(tǒng)互連(“OSI”)是定義用于實(shí)現(xiàn)七層協(xié)議的聯(lián)網(wǎng)架構(gòu)的模型。一般而言,控制從一層傳遞到另一層,從一個(gè)站中的應(yīng)用層開始,前進(jìn)到底層,通過(guò)信道到達(dá)下一站,然后向上反向在該分層結(jié)構(gòu)中前進(jìn)。該分層結(jié)構(gòu)包括一些層應(yīng)用層、表示層、會(huì)話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層以及物理層。
應(yīng)用層協(xié)議是用于在應(yīng)用程序的客戶機(jī)和服務(wù)器方之間傳輸信息的協(xié)議。一般而言,應(yīng)用層協(xié)議定義了交換的消息的類型、各種消息類型的句法、以及用于確定應(yīng)用程序何時(shí)以及如何發(fā)送和響應(yīng)消息的規(guī)則??筛鶕?jù)所交換的數(shù)據(jù)的類型采用多種不同的應(yīng)用層協(xié)議。例如,超文本傳輸協(xié)議(HTTP)用于傳輸網(wǎng)頁(yè)內(nèi)容,文件傳輸協(xié)議(FTP)用于通過(guò)因特網(wǎng)傳輸文件,而簡(jiǎn)單郵件傳輸協(xié)議(SMTP)用于傳輸電子郵件。
與數(shù)據(jù)格式尤其是應(yīng)用層協(xié)議相關(guān)聯(lián)的安全缺陷相當(dāng)長(zhǎng)時(shí)間以來(lái)都是行業(yè)級(jí)的問(wèn)題。這一安全缺陷造成了某些非常嚴(yán)重的問(wèn)題,包括但不限于,多種廣泛分布且具破壞性的計(jì)算機(jī)病毒。盡管與這一安全缺陷相關(guān)聯(lián)的金錢損失有時(shí)候是難以計(jì)量的,但它們?nèi)钥赡苁橇钊梭@愕的。即使數(shù)據(jù)格式通常被良好地證明和理解,仍存在多種基本的數(shù)據(jù)格式實(shí)現(xiàn)問(wèn)題。一個(gè)常見的問(wèn)題是在描述數(shù)據(jù)格式的規(guī)范與數(shù)據(jù)格式的實(shí)際實(shí)現(xiàn)之間可能存在偏差或差異。另一個(gè)常見的問(wèn)題出現(xiàn)在對(duì)數(shù)據(jù)格式進(jìn)行實(shí)際剖析中存在缺陷的時(shí)候。許多這樣的問(wèn)題將以安全漏洞的形式來(lái)表現(xiàn)自己。因此,為降低這些缺陷的可能性,期望在實(shí)現(xiàn)之前對(duì)數(shù)據(jù)格式執(zhí)行廣泛的測(cè)試。
一種可能的數(shù)據(jù)格式測(cè)試技術(shù)是試圖預(yù)測(cè)與數(shù)據(jù)格式相關(guān)聯(lián)的潛在缺陷,并開發(fā)能解決這些潛在缺陷的測(cè)試數(shù)據(jù)格式。盡管在理論上,這看似為一種切合實(shí)際的方法,然而試圖事先預(yù)測(cè)可能發(fā)生的各種各樣問(wèn)題并生成解決這些問(wèn)題的測(cè)試數(shù)據(jù)格式要求大量的時(shí)間和工作。這一問(wèn)題的一種更可行的常規(guī)方法涉及形成完全隨機(jī)的數(shù)據(jù)并將完全隨機(jī)的數(shù)據(jù)傳遞到數(shù)據(jù)格式剖析器。由于隨機(jī)數(shù)據(jù)是不可預(yù)測(cè)的,因此它提供了對(duì)未來(lái)數(shù)據(jù)格式的不可預(yù)測(cè)特性的合理估計(jì),而無(wú)需試圖預(yù)測(cè)實(shí)際的缺陷是什么。盡管對(duì)完全隨機(jī)的數(shù)據(jù)的使用在某種程度上是有效的技術(shù),然而隨機(jī)數(shù)據(jù)的固有變化導(dǎo)致多種缺點(diǎn)。具體地,對(duì)于任何相對(duì)復(fù)雜的數(shù)據(jù)格式,完全隨機(jī)的數(shù)據(jù)通常將不會(huì)足夠密切地符合該數(shù)據(jù)格式以使它能夠在前幾個(gè)剖析例程之外測(cè)試。由此,該技術(shù)往往無(wú)法測(cè)試數(shù)據(jù)格式的更復(fù)雜方面。由于這些和其它缺點(diǎn),本領(lǐng)域中需要一種改進(jìn)的數(shù)據(jù)格式測(cè)試技術(shù)。

發(fā)明內(nèi)容
本發(fā)明針對(duì)使用有目標(biāo)的變量輸入來(lái)測(cè)試數(shù)據(jù)格式的系統(tǒng)和方法。依照本發(fā)明的一方面,數(shù)據(jù)格式可使用諸如巴科斯-諾爾范式(Backus Naur Form)等上下文無(wú)關(guān)語(yǔ)法來(lái)定義。所得的數(shù)據(jù)格式定義可包括多種不同的標(biāo)記定義。上下文無(wú)關(guān)數(shù)據(jù)格式定義然后可被變換成以諸如可擴(kuò)展標(biāo)記語(yǔ)言(XML)等語(yǔ)言編寫的人類可讀數(shù)據(jù)格式定義。上下文無(wú)關(guān)數(shù)據(jù)格式定義中的每一標(biāo)記可成為人類可讀數(shù)據(jù)格式定義中的一個(gè)節(jié)點(diǎn)。該數(shù)據(jù)格式定義中一個(gè)或多個(gè)選中的節(jié)點(diǎn)的值然后可用變量占位符來(lái)替換。選中的節(jié)點(diǎn)可基于數(shù)據(jù)格式規(guī)范中的參數(shù)來(lái)選擇。在運(yùn)行時(shí),當(dāng)從數(shù)據(jù)格式定義中生成輸入標(biāo)記流時(shí),每一變量占位符用一隨機(jī)值來(lái)替換,由此提供了有目標(biāo)的變量輸入??芍貜?fù)地生成新的輸入標(biāo)記流,每一新的流包括關(guān)于每一變量占位符的一個(gè)新的隨機(jī)值。每一所得的輸入流可被提交給數(shù)據(jù)格式剖析器以供測(cè)試。
當(dāng)參考附圖閱讀以下說(shuō)明性實(shí)施例的詳細(xì)描述時(shí),可以清楚本發(fā)明的其它特征和優(yōu)點(diǎn)。


在參考附圖閱讀了以下詳細(xì)描述之后,可以更好地理解各說(shuō)明性實(shí)施例,附圖中圖1描述了依照本發(fā)明用于測(cè)試數(shù)據(jù)格式的示例性系統(tǒng);圖2是依照本發(fā)明用于測(cè)試數(shù)據(jù)格式的示例性方法的流程圖;圖3a和3b描述了依照本發(fā)明的示例性數(shù)據(jù)格式定義;圖4a和4b描述了依照本發(fā)明的示例性人類可讀數(shù)據(jù)格式定義;圖5a和5b描述了依照本發(fā)明的示例性變量人類可讀數(shù)據(jù)格式定義;圖6是表示具有其中可實(shí)現(xiàn)本發(fā)明的各種計(jì)算設(shè)備的示例性網(wǎng)絡(luò)環(huán)境的框圖;以及圖7是表示其中可實(shí)現(xiàn)本發(fā)明的示例性計(jì)算設(shè)備的示例性框圖。
具體實(shí)施例方式
本發(fā)明的主題用細(xì)節(jié)來(lái)描述以滿足法定要求。然而,該描述本身并不旨在限制本專利的范圍。相反,發(fā)明人構(gòu)想所要求保護(hù)的主題也可以結(jié)合其它當(dāng)前或未來(lái)的技術(shù)用其它方式來(lái)實(shí)施,以包括與本文檔中所描述的那些相似的不同動(dòng)作或元素。
依照本發(fā)明用于測(cè)試數(shù)據(jù)格式的一個(gè)示例性系統(tǒng)在圖1中示出。如上所述,該數(shù)據(jù)格式可以是例如文件格式、協(xié)議或任何其它類型的數(shù)據(jù)格式。一般而言,該系統(tǒng)包括用于生成有目標(biāo)的變量測(cè)試數(shù)據(jù)格式105的一個(gè)或多個(gè)開發(fā)計(jì)算機(jī)100。測(cè)試數(shù)據(jù)格式105作為輸入被提交給剖析和測(cè)試輸入的數(shù)據(jù)格式剖析器107。開發(fā)計(jì)算機(jī)100或另一可訪問(wèn)的計(jì)算機(jī)可提供能夠生成數(shù)據(jù)格式規(guī)范102的文本編輯器界面101。數(shù)據(jù)格式規(guī)范是描述數(shù)據(jù)格式的期望屬性以及其它類似的特征的文檔。文本編輯器界面101也能夠生成數(shù)據(jù)格式定義104。數(shù)據(jù)格式定義104是定義關(guān)于數(shù)據(jù)格式內(nèi)的標(biāo)記的值、設(shè)置標(biāo)記的順序的文檔,并且也可包括關(guān)于數(shù)據(jù)格式的其它信息。數(shù)據(jù)格式定義104可以基于數(shù)據(jù)格式規(guī)范102中的信息生成。在完成之后,使數(shù)據(jù)格式定義104對(duì)測(cè)試數(shù)據(jù)格式生成器103可用,后者使用其中的信息來(lái)生成有目標(biāo)的變量測(cè)試數(shù)據(jù)格式105。測(cè)試數(shù)據(jù)格式生成過(guò)程在下文參考圖2來(lái)詳細(xì)描述。
如上所述,數(shù)據(jù)格式規(guī)范102描述了數(shù)據(jù)格式的期望屬性。具體地,數(shù)據(jù)格式可具有多個(gè)設(shè)置屬性,諸如固定長(zhǎng)度屬性、長(zhǎng)度前綴屬性以及偏移量屬性。固定長(zhǎng)度屬性具有預(yù)先選擇的固定長(zhǎng)度,且因此僅包括一個(gè)數(shù)據(jù)標(biāo)記。另一方面,長(zhǎng)度前綴屬性包括數(shù)據(jù)標(biāo)記以及之前的長(zhǎng)度標(biāo)記。數(shù)據(jù)標(biāo)記的長(zhǎng)度是由長(zhǎng)度標(biāo)記的值來(lái)確定的。偏移量屬性包括多個(gè)長(zhǎng)度標(biāo)記、多個(gè)偏移量標(biāo)記以及數(shù)據(jù)標(biāo)記。數(shù)據(jù)標(biāo)記包括多個(gè)數(shù)據(jù)集,其每一個(gè)具有對(duì)應(yīng)的數(shù)據(jù)標(biāo)記和對(duì)應(yīng)的偏移量標(biāo)記。每一數(shù)據(jù)集的長(zhǎng)度是由其對(duì)應(yīng)的長(zhǎng)度標(biāo)記的值來(lái)確定的,且每一數(shù)據(jù)集在數(shù)據(jù)標(biāo)記中的位置是由其對(duì)應(yīng)的偏移量標(biāo)記來(lái)確定的。這三個(gè)設(shè)置屬性的示例將在下文中提供。
圖2示出了依照本發(fā)明用于生成有目標(biāo)的變量測(cè)試數(shù)據(jù)格式105的示例性方法的流程圖。在動(dòng)作210,由測(cè)試數(shù)據(jù)格式生成器103接收數(shù)據(jù)格式定義104。數(shù)據(jù)格式定義104可以用諸如巴科斯-諾爾范式(BNF)等上下文無(wú)關(guān)的語(yǔ)法來(lái)定義數(shù)據(jù)格式。圖3a和3b中示出了用于兩個(gè)不同的示例性數(shù)據(jù)格式的兩個(gè)示例性上下文無(wú)關(guān)數(shù)據(jù)格式定義。第一種數(shù)據(jù)格式(“P1”)包括固定長(zhǎng)度數(shù)據(jù)和長(zhǎng)度前綴數(shù)據(jù),而第二種數(shù)據(jù)格式(“P2”)包括偏移量數(shù)據(jù)。
現(xiàn)在參考圖3a,P1數(shù)據(jù)格式定義的第一行指示P1包括三個(gè)標(biāo)記“Type(類型)”,之后為“Length(長(zhǎng)度)”,之后為“Data(數(shù)據(jù))”。“Type”標(biāo)記指定了固定長(zhǎng)度數(shù)據(jù),“Length”標(biāo)記指定了長(zhǎng)度前綴數(shù)據(jù)的長(zhǎng)度,而“Data”標(biāo)記指定了長(zhǎng)度前綴數(shù)據(jù)的數(shù)據(jù)。圖3a中剩余的行定義了標(biāo)記的值。具體地,“Type”和“Length”標(biāo)記的每一個(gè)包括一字節(jié)的數(shù)據(jù),而“Data”標(biāo)記包括由“Length”標(biāo)記值確定的可變數(shù)量的數(shù)據(jù)字節(jié)。
現(xiàn)在參考圖3b,P2數(shù)據(jù)格式定義的第一行指示P2包括三個(gè)標(biāo)記“OffsetLength 1(偏移量長(zhǎng)度1)”,之后為“Offset Length 2(偏移量長(zhǎng)度2)”,之后為“Data(數(shù)據(jù))”。兩個(gè)“Offset Length”標(biāo)記的每一個(gè)包括“Offset(偏移量)”標(biāo)記和“Length(長(zhǎng)度)”標(biāo)記?!癘ffset”標(biāo)記指定了“Data”標(biāo)記中對(duì)應(yīng)的數(shù)據(jù)集的位置,而“Length”標(biāo)記指定了“Data”標(biāo)記中對(duì)應(yīng)的數(shù)據(jù)集的長(zhǎng)度。圖3b中的剩余行定義了標(biāo)記的值。具體地,“Offset”和“Length”標(biāo)記的每一個(gè)包括一字節(jié)的數(shù)據(jù),而“Data”標(biāo)記包括由“Length”標(biāo)記的組合值確定的可變數(shù)量的數(shù)據(jù)字節(jié)。
返回到圖2,在動(dòng)作212,將上下文無(wú)關(guān)數(shù)據(jù)格式定義變換成人類可讀形式。人類可讀數(shù)據(jù)格式定義可以用諸如可擴(kuò)展標(biāo)記語(yǔ)言(XML)等語(yǔ)言來(lái)定義。上下文無(wú)關(guān)數(shù)據(jù)格式定義中的每一標(biāo)記可成為人類可讀數(shù)據(jù)格式定義中的一個(gè)節(jié)點(diǎn)。人類可讀定義中的所得的葉層節(jié)點(diǎn)對(duì)應(yīng)于一系列一個(gè)或多個(gè)字節(jié)。人類可讀數(shù)據(jù)格式定義提供了一種直觀且易于理解的模式,其中可設(shè)置標(biāo)記的值。然而,應(yīng)當(dāng)注意,將數(shù)據(jù)格式定義轉(zhuǎn)換成人類可讀形式無(wú)需在每一情況下都完成,且動(dòng)作212是可任選動(dòng)作。用于數(shù)據(jù)格式P1和P2的示例性人類可讀數(shù)據(jù)格式定義分別在圖4a和4b中示出。這些示例性人類可讀數(shù)據(jù)格式定義是用XML來(lái)定義的。
現(xiàn)在參考圖4a,“Type”標(biāo)記的值被設(shè)為4,“Length”標(biāo)記的值被設(shè)為3,“Data”標(biāo)記包括三個(gè)字節(jié),其每一個(gè)具有二進(jìn)制值“CC”。如應(yīng)當(dāng)理解的,“Data”標(biāo)記包括三個(gè)字節(jié),因?yàn)椤癓ength”標(biāo)記具有值3。依照?qǐng)D4所示的定義所得的用于數(shù)據(jù)格式P1的標(biāo)記流如下P1{04 03 CC CC CC}。
現(xiàn)在參考圖4b,對(duì)于“Offset Length 1”,“Offset”標(biāo)記的值被設(shè)為0,“Length”標(biāo)記的值被設(shè)為1。對(duì)于“Offset Length 2”,“Offset”標(biāo)記的值被設(shè)為1,“Length”標(biāo)記的值被設(shè)為3。“Data”標(biāo)記包括兩個(gè)數(shù)據(jù)集。第一個(gè)數(shù)據(jù)集對(duì)應(yīng)于“OffsetLength 1”,且包括具有二進(jìn)制值“AA”的數(shù)據(jù)的第一字節(jié)。第二個(gè)數(shù)據(jù)集對(duì)應(yīng)于“Offset Length 2”,且包括數(shù)據(jù)的第二到第四字節(jié),其每一個(gè)都具有二進(jìn)制值“BB”。如應(yīng)當(dāng)理解的,第一數(shù)據(jù)集在“Data”標(biāo)記中的第一字節(jié)處開始,因?yàn)樗哂?的偏移量,而第二數(shù)據(jù)集在“Data”標(biāo)記中的第二字節(jié)處開始,因?yàn)樗哂?的偏移量。依照?qǐng)D4b所示的定義所得的用于數(shù)據(jù)格式P1的標(biāo)記流如下P2{0001 01 03 AA BB BB BB}。
返回到圖2,在動(dòng)作214,用變量占位符來(lái)替代一個(gè)或多個(gè)選中的標(biāo)記的值。如上所述,可以在數(shù)據(jù)格式定義104的人類可讀形式中更直觀地進(jìn)行這一替代。然而,該替代無(wú)需從人類可讀數(shù)據(jù)格式定義中作出,且例如可從上下文無(wú)關(guān)數(shù)據(jù)格式定義內(nèi)作出。具有某些示例性變量替代的用于P1和P2的數(shù)據(jù)格式定義分別在圖5a和5b中示出。在圖5a中,“Length”標(biāo)記的值用變量占位符來(lái)替代,而在圖5b中,“Offset Length 2”的“Length”標(biāo)記的值用變量占位符來(lái)替代。依照?qǐng)D5a所示的定義所得的用于數(shù)據(jù)格式P1的標(biāo)記流如下P1{04 XX CC CC CC},而依照?qǐng)D5b的P2為P2{00 01 01 XX AA BB BB BB},其中“XX”表示變量占位符。可以用變量占位符替代數(shù)據(jù)格式內(nèi)的一個(gè)以上標(biāo)記。
返回到圖2,在動(dòng)作216,生成輸入測(cè)試數(shù)據(jù)格式105。輸入測(cè)試數(shù)據(jù)格式105是這樣一種標(biāo)記流,其中每一標(biāo)記具有其自己的來(lái)自數(shù)據(jù)格式定義的對(duì)應(yīng)值,且變量占位符用隨機(jī)值來(lái)替代。在動(dòng)作218,輸入測(cè)試數(shù)據(jù)格式105被提交給數(shù)據(jù)格式剖析器107。輸入測(cè)試數(shù)據(jù)格式105的生成可以被重復(fù)任意的次數(shù)(如由圖2中的虛線循環(huán)所指示的),每一新的輸入流包括用于每一變量占位符的新的隨機(jī)值??梢灾貜?fù)地生成新的輸入流,并將其提交給數(shù)據(jù)格式剖析器107,直到檢測(cè)到數(shù)據(jù)格式中的一個(gè)或多個(gè)缺陷。當(dāng)檢測(cè)到缺陷時(shí),可通過(guò)在必要時(shí)改變數(shù)據(jù)格式來(lái)調(diào)試數(shù)據(jù)格式,以緩和該缺陷。當(dāng)然,也可能對(duì)給定的一組變量替代沒(méi)有檢測(cè)到任何缺陷。這可如下確定重復(fù)生成輸入流,直到認(rèn)為已經(jīng)有了足夠的隨機(jī)值采樣來(lái)得出對(duì)選中的變量標(biāo)記沒(méi)有任何缺陷存在的結(jié)論。一旦得出這一結(jié)論,可以返回變量標(biāo)記的實(shí)際常數(shù)值,且可選擇數(shù)據(jù)格式中的一個(gè)或多個(gè)其它標(biāo)記為變量標(biāo)記。
被選中用于變量替換的標(biāo)記可以基于數(shù)據(jù)格式規(guī)范102中的信息以及數(shù)據(jù)格式的其它特征來(lái)確定。例如,參考數(shù)據(jù)格式P2,“Offset Length 1”可對(duì)應(yīng)于用戶名,而“Offset Length 2”可對(duì)應(yīng)于口令。由此,如在圖5b的示例中,“Offset Length2”的“Length”標(biāo)記可用變量占位符來(lái)替換,以測(cè)試數(shù)據(jù)格式P2如何用變化長(zhǎng)度的口令來(lái)表現(xiàn)。在這一情形中,“Offset Length 2”的“Length”標(biāo)記可被測(cè)試到斷開點(diǎn),而數(shù)據(jù)格式P2中的其它標(biāo)記保持不變。
有目標(biāo)的變量輸入與完全隨機(jī)輸入相反的某些好處可從該示例中容易地看到。具體地,如果沒(méi)有將數(shù)據(jù)格式P2的變化的目標(biāo)定為“Offset Length 2”的“Offset”標(biāo)記,則該標(biāo)記相當(dāng)有可能從不被實(shí)際測(cè)試。為理解這一點(diǎn),考慮如果數(shù)據(jù)格式P2中的所有標(biāo)記被分配隨機(jī)值則可能發(fā)生什么的示例?,F(xiàn)在,為說(shuō)明起見,假定當(dāng)生成變量輸入流時(shí),向“Offset Length 1”分配偏移量0和長(zhǎng)度3,而向“OffsetLength 2”分配偏移量2。在這一情形中,由于“Offset Length 1”的長(zhǎng)度大于“OffsetLength 2”的長(zhǎng)度,因此檢測(cè)到錯(cuò)誤。由此,由于該錯(cuò)誤,測(cè)試將不會(huì)進(jìn)展到“OffsetLength 2”的“Offset”標(biāo)記。盡管這是一個(gè)相對(duì)簡(jiǎn)單的示例,但是許多數(shù)據(jù)格式要復(fù)雜得多,且涉及更多標(biāo)記,由此提高了并非數(shù)據(jù)格式的所有部分都被測(cè)試到的可能性。
除上述上下文無(wú)關(guān)語(yǔ)法數(shù)據(jù)格式定義之外,也可能以基于語(yǔ)言的定義來(lái)定義數(shù)據(jù)格式。這一基于語(yǔ)言的數(shù)據(jù)格式定義可以類似于功能編程,或可以例如是基于棧的語(yǔ)言定義。數(shù)據(jù)格式P1的一個(gè)示例性基于語(yǔ)言的定義示出如下AddByte(0x04)AddRandomByte()AddByte(0xCC)AddByte(0xCC)AddByte(0xCC)
該示例性的基于語(yǔ)言的定義僅列出了每一標(biāo)記的對(duì)應(yīng)值,并且還包括由“AddRandomByte(添加隨機(jī)字節(jié))”命令表示的變量。當(dāng)然,該定義未示出圖3a中所示的數(shù)據(jù)格式P1的巴科斯-諾爾范式數(shù)據(jù)格式定義中諸如“Length”和“Data”標(biāo)記等標(biāo)記之間的關(guān)系。然而,該基于語(yǔ)言的定義仍提供了與上述有目標(biāo)的變量輸入相關(guān)聯(lián)的優(yōu)點(diǎn)。
除完全隨機(jī)的值之外,變量也可以用“智能”值來(lái)替代。這些智能值能夠測(cè)試標(biāo)記流中的每一標(biāo)記的公知邊界。智能值可包括諸如空值(00)、修正值(N)、中間值(N/2)、最大值、預(yù)定值范圍內(nèi)大于修正值的值(N+X)、以及預(yù)定值范圍內(nèi)小于修正值的值(N-X)等值。例如,對(duì)于具有修正值“06”的長(zhǎng)度前綴標(biāo)記,可用的智能值可以包括空值(00)、修正值(06)、中間值(03)、比修正值大1的值(07)以及比修正值小1的值(05)。這些智能值可根據(jù)其中替換了這些智能值的特定標(biāo)記來(lái)測(cè)試不同的屬性。例如,對(duì)于長(zhǎng)度前綴標(biāo)記,智能值(N-X)和(N+X)僅調(diào)整對(duì)應(yīng)數(shù)據(jù)集的長(zhǎng)度。然而,對(duì)于偏移量標(biāo)記,智能值(N-X)將調(diào)整對(duì)應(yīng)數(shù)據(jù)集的位置,使得它位于前一數(shù)據(jù)集內(nèi)的某處,而值(N+X)調(diào)整對(duì)應(yīng)數(shù)據(jù)集的位置,使得它位于后一數(shù)據(jù)集內(nèi)的某處。
因此,如上參考圖1-5的示例性系統(tǒng)和方法所述的,本發(fā)明提供了用于生成測(cè)試數(shù)據(jù)格式的系統(tǒng)和方法。如可從上述內(nèi)容中清楚的,本發(fā)明的各種系統(tǒng)、方法和方面的全部或部分可用硬件、軟件或兩者的組合來(lái)實(shí)現(xiàn)。當(dāng)用軟件實(shí)現(xiàn)時(shí),本發(fā)明的方法和裝置,或其某些方面或部分,可以用程序代碼(即,指令)的形式來(lái)實(shí)施。該程序代碼可以儲(chǔ)存在計(jì)算機(jī)可讀介質(zhì)上,諸如磁、電或光存儲(chǔ)介質(zhì),包括但不限于,軟盤、CD-ROM、CD-RW、DVD-ROM、DVD-RAM、磁帶、閃存、硬盤驅(qū)動(dòng)器或任何其它機(jī)器可讀存儲(chǔ)介質(zhì),其中,當(dāng)程序代碼被加載到諸如計(jì)算機(jī)或服務(wù)器等機(jī)器中并由其執(zhí)行時(shí),該機(jī)器變?yōu)橛糜趯?shí)施本發(fā)明的裝置。其上執(zhí)行程序代碼的計(jì)算機(jī)一般包括處理器、處理器可讀的存儲(chǔ)介質(zhì)(包括易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)元件)、至少一個(gè)輸入設(shè)備以及至少一個(gè)輸出設(shè)備。程序代碼可以用高級(jí)過(guò)程語(yǔ)言或面向?qū)ο蟮木幊陶Z(yǔ)言來(lái)實(shí)現(xiàn)?;蛘?,程序代碼可以用匯編語(yǔ)言或機(jī)器語(yǔ)言來(lái)實(shí)現(xiàn)。在任何情況下,語(yǔ)言可以是已編譯或已解釋語(yǔ)言。
本發(fā)明也可用通過(guò)某一傳輸介質(zhì),如通過(guò)電線或電纜、通過(guò)光纖、通過(guò)包括局域網(wǎng)、廣域網(wǎng)、因特網(wǎng)或內(nèi)聯(lián)網(wǎng)的網(wǎng)絡(luò)、或通過(guò)任一其它形式的傳輸發(fā)送的程序代碼的形式來(lái)實(shí)施,其中,當(dāng)程序代碼由諸如計(jì)算機(jī)等機(jī)器接收被裝載到其中由其執(zhí)行時(shí),該機(jī)器變?yōu)橛糜趯?shí)施本發(fā)明的裝置。
當(dāng)在通用處理器上實(shí)現(xiàn)時(shí),程序代碼可與處理器相結(jié)合,以提供與專用邏輯電路相似地操作的獨(dú)特裝置。
此外,本發(fā)明可以結(jié)合任何計(jì)算機(jī)或其它客戶機(jī)或服務(wù)器設(shè)備來(lái)實(shí)現(xiàn),它們可作為計(jì)算機(jī)網(wǎng)絡(luò)的一部分部署,或部署在分布式計(jì)算環(huán)境中。在這一點(diǎn)上,本發(fā)明涉及具有任意數(shù)量的存儲(chǔ)器或存儲(chǔ)單元,以及跨任意數(shù)量的存儲(chǔ)單元或卷發(fā)生的任意數(shù)量的應(yīng)用程序和進(jìn)程的任何計(jì)算機(jī)系統(tǒng)或環(huán)境,它可結(jié)合本發(fā)明來(lái)使用。本發(fā)明可應(yīng)用于具有部署在具有遠(yuǎn)程或本地存儲(chǔ)的網(wǎng)絡(luò)環(huán)境或分布式計(jì)算環(huán)境中的服務(wù)器計(jì)算機(jī)和客戶機(jī)計(jì)算機(jī)的環(huán)境。本發(fā)明也可應(yīng)用于具有編程語(yǔ)言功能、解釋、以及用于結(jié)合遠(yuǎn)程或本地服務(wù)生成、接收和發(fā)送信息的執(zhí)行能力的獨(dú)立計(jì)算設(shè)備。
分布式計(jì)算通過(guò)計(jì)算設(shè)備和系統(tǒng)之間的交換便于計(jì)算機(jī)資源和服務(wù)的共享。這些資源和服務(wù)包括,但不限于,信息交換、高速緩存存儲(chǔ)以及用于文件的磁盤存儲(chǔ)。分布式計(jì)算利用了網(wǎng)絡(luò)連通性,從而允許客戶機(jī)充分利用其集體能力來(lái)使整個(gè)企業(yè)受益。在這一點(diǎn)上,各種設(shè)備可具有可蘊(yùn)含結(jié)合本發(fā)明來(lái)執(zhí)行的處理的應(yīng)用程序、對(duì)象或資源。
圖6提供了示例性聯(lián)網(wǎng)或分布式計(jì)算環(huán)境的示意圖。該分布式計(jì)算環(huán)境包括計(jì)算對(duì)象10a、10b等等,以及計(jì)算對(duì)象或設(shè)備110a、110b、110c等。這些對(duì)象可包括程序、方法、數(shù)據(jù)存儲(chǔ)、可編程邏輯等。這些對(duì)象可包括諸如PDA、電視機(jī)、MP3播放器、個(gè)人計(jì)算機(jī)等的相同或不同設(shè)備的各部分。每一對(duì)象可通過(guò)通信網(wǎng)絡(luò)14與另一對(duì)象通信。該網(wǎng)絡(luò)本身可包括向圖6的系統(tǒng)提供服務(wù)的其它計(jì)算對(duì)象和計(jì)算設(shè)備,并且本身可表示多個(gè)互連的網(wǎng)絡(luò)。依照本發(fā)明的一個(gè)方面,每一對(duì)象10a、10b等或110a、110b、110c等可包含可以利用API或其它對(duì)象、軟件、固件和/或硬件來(lái)請(qǐng)求對(duì)用于實(shí)現(xiàn)本發(fā)明的過(guò)程的使用的應(yīng)用程序。
可以理解,諸如110c等對(duì)象可以主存在另一計(jì)算設(shè)備10a、10b等或110a、110b等上。由此,盡管所描述的物理環(huán)境可以將連接的設(shè)備示出為計(jì)算機(jī),然而這一說(shuō)明僅是示例性的,并且該物理環(huán)境可替換地被描繪或描述為包括諸如PDA、電視機(jī)、MP3播放器等各種數(shù)字設(shè)備,諸如接口、COM對(duì)象等的軟件對(duì)象。
有各種支持分布式計(jì)算環(huán)境的系統(tǒng)、組件和網(wǎng)絡(luò)配置。例如,計(jì)算系統(tǒng)可以通過(guò)有線或無(wú)線系統(tǒng)、局域網(wǎng)或廣泛分布的網(wǎng)絡(luò)連接在一起。當(dāng)前,許多網(wǎng)絡(luò)耦合至因特網(wǎng),后者為廣泛分布的計(jì)算提供了基礎(chǔ)結(jié)構(gòu)并包含許多不同的網(wǎng)絡(luò)。任一基礎(chǔ)結(jié)構(gòu)可用于關(guān)聯(lián)本發(fā)明所作出的示例性通信。
因特網(wǎng)通常指使用TCP/IP協(xié)議套件的網(wǎng)絡(luò)和網(wǎng)關(guān)的集合,該協(xié)議在計(jì)算機(jī)聯(lián)網(wǎng)領(lǐng)域中是公知的。TCP/IP是“傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議”的縮寫。因特網(wǎng)可被描述為由執(zhí)行允許用戶通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)交互和共享信息的聯(lián)網(wǎng)協(xié)議的計(jì)算機(jī)互連的地理上分布的遠(yuǎn)程計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)。由于這類廣泛分布的信息共享,諸如因特網(wǎng)等遠(yuǎn)程網(wǎng)絡(luò)至今發(fā)展成一種開放系統(tǒng),開發(fā)者可對(duì)該開放系統(tǒng)設(shè)計(jì)用于執(zhí)行專用操作或服務(wù)的應(yīng)用程序,在本質(zhì)上沒(méi)有限制。
由此,網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)啟用了諸如客戶機(jī)/服務(wù)器、對(duì)等或混合體系結(jié)構(gòu)等大量網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)?!翱蛻魴C(jī)”是使用它所不相關(guān)的另一類或組的服務(wù)的類或組的成員。由此,在計(jì)算時(shí),客戶機(jī)是進(jìn)程,即,粗略地而言是一組請(qǐng)求由另一程序提供的服務(wù)的指令或任務(wù)??蛻魴C(jī)進(jìn)程使用所請(qǐng)求的服務(wù),而無(wú)需“知道”關(guān)于其它程序或服務(wù)本身的任何工作細(xì)節(jié)。在客戶機(jī)/服務(wù)器體系結(jié)構(gòu)中,尤其是網(wǎng)絡(luò)化系統(tǒng)中,客戶機(jī)通常是訪問(wèn)由另一計(jì)算機(jī),如服務(wù)器提供的共享網(wǎng)絡(luò)資源的計(jì)算機(jī)。在圖6的示例中,計(jì)算機(jī)110a、110b等可以被認(rèn)為是客戶機(jī),而計(jì)算機(jī)10a、10b等可以被認(rèn)為是服務(wù)器,盡管任何計(jì)算機(jī)可以被認(rèn)為是客戶機(jī)、服務(wù)器或兩者,這取決于環(huán)境。這些計(jì)算設(shè)備的任一個(gè)可以用蘊(yùn)含本發(fā)明的方式處理數(shù)據(jù)。
服務(wù)器通常是可通過(guò)遠(yuǎn)程或本地網(wǎng)絡(luò),如因特網(wǎng)訪問(wèn)的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)。客戶機(jī)進(jìn)程可以在第一計(jì)算機(jī)系統(tǒng)中活動(dòng),而服務(wù)器進(jìn)程可以在第二計(jì)算機(jī)系統(tǒng)中活動(dòng),它們通過(guò)通信介質(zhì)彼此通信,由此提供了分布式功能并允許多個(gè)客戶機(jī)利用服務(wù)器的信息收集能力。依照本發(fā)明使用的任何軟件對(duì)象可以在多個(gè)計(jì)算設(shè)備上分布。
一個(gè)或多個(gè)客戶機(jī)和一個(gè)或多個(gè)服務(wù)器可使用由協(xié)議層提供的功能彼此通信。例如,超文本傳輸協(xié)議(HTTP)是一種結(jié)合萬(wàn)維網(wǎng)(WWW)或“Web”使用的常見協(xié)議。通常,計(jì)算機(jī)網(wǎng)絡(luò)地址,如網(wǎng)際協(xié)議(IP)地址或諸如統(tǒng)一資源定位器(URL)等其它引用,可用于彼此標(biāo)識(shí)服務(wù)器或客戶機(jī)計(jì)算機(jī)。網(wǎng)絡(luò)地址可被稱為URL地址。通信可在任何可用通信介質(zhì)上提供。
由此,圖6示出了具有通過(guò)網(wǎng)絡(luò)/總線與客戶機(jī)計(jì)算機(jī)通信的服務(wù)器的示例性網(wǎng)絡(luò)化或分布式環(huán)境,其中可實(shí)施本發(fā)明。依照本發(fā)明,網(wǎng)絡(luò)/總線14可以是LAN、WAN、內(nèi)聯(lián)網(wǎng)、因特網(wǎng)或某一其它網(wǎng)絡(luò)介質(zhì),它具有多個(gè)客戶機(jī)或遠(yuǎn)程計(jì)算設(shè)備110a、110b、110c、110d、110e等,如便攜式計(jì)算機(jī)、手持式計(jì)算機(jī)、瘦客戶機(jī)、聯(lián)網(wǎng)設(shè)備或其它設(shè)備,如VCR、TV、烤箱、燈、加熱器等等。由此,構(gòu)想本發(fā)明可應(yīng)用于任何計(jì)算設(shè)備,期望結(jié)合這些設(shè)備使用有目標(biāo)的變量輸入來(lái)測(cè)試協(xié)議。
例如,在其中通信網(wǎng)絡(luò)/總線14是因特網(wǎng)的網(wǎng)絡(luò)環(huán)境中,服務(wù)器10a、10b等可以是客戶機(jī)110a、110b、110c、110d、110e等通過(guò)諸如HTTP等多種已知協(xié)議與其通信的服務(wù)器。服務(wù)器10a、10b等也可擔(dān)當(dāng)客戶機(jī)110a、110b、110c、110d、110e等,這可以是分布式計(jì)算環(huán)境的特征。
通信可以在適當(dāng)時(shí)是有線或無(wú)線的。客戶機(jī)設(shè)備110a、110b、110c、110d、110e等可以通過(guò)或不通過(guò)通信網(wǎng)絡(luò)/總線14通信,并可具有與其相關(guān)聯(lián)的獨(dú)立通信。例如,在TV或VCR的情況下,可以有或沒(méi)有其控制的網(wǎng)絡(luò)化方面。每一客戶機(jī)計(jì)算機(jī)110a、110b、110c、110d、110e等以及服務(wù)器計(jì)算機(jī)10a、10b等可以具備各種應(yīng)用程序模塊或?qū)ο?35,并具有對(duì)各種類型的存儲(chǔ)元件或?qū)ο蟮倪B接或訪問(wèn),在這些存儲(chǔ)元件或?qū)ο笊峡蓛?chǔ)存文件或數(shù)據(jù)流,或者可向其下載、發(fā)送或移植文件或數(shù)據(jù)流的一個(gè)或多個(gè)部分。任一計(jì)算機(jī)10a、10b、110a、110b等可以負(fù)責(zé)數(shù)據(jù)庫(kù)、存儲(chǔ)器或用于儲(chǔ)存依照本發(fā)明處理的數(shù)據(jù)的其它存儲(chǔ)元件20的維護(hù)和更新。由此,本發(fā)明可以用于具有可訪問(wèn)計(jì)算機(jī)網(wǎng)絡(luò)/總線14或與其交互的客戶機(jī)110a、110b等,以及可與客戶機(jī)計(jì)算機(jī)110a、110b等交互的服務(wù)器計(jì)算機(jī)10a、10b等,以及其它類似的設(shè)備和數(shù)據(jù)庫(kù)20的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中。
圖7及以下討論旨在提供可結(jié)合其來(lái)實(shí)現(xiàn)本發(fā)明的合適的計(jì)算設(shè)備的簡(jiǎn)要概括描述。例如,圖7所示的客戶機(jī)和服務(wù)器計(jì)算機(jī)或設(shè)備的任一個(gè)可采用這一形式。然而,應(yīng)當(dāng)理解,所有種類的手持式、便攜式和其它計(jì)算設(shè)備和計(jì)算對(duì)象可被構(gòu)想為結(jié)合本發(fā)明使用,即,計(jì)算環(huán)境中的任何地方均可生成、處理、接收和/或發(fā)送數(shù)據(jù)。盡管下文描述了通用計(jì)算機(jī),然而這只是一個(gè)示例,本發(fā)明可以用具有網(wǎng)絡(luò)/總線互操作性和交互的瘦客戶機(jī)來(lái)實(shí)現(xiàn)。由此,本發(fā)明可以在其中蘊(yùn)含了極少或最小客戶機(jī)資源的網(wǎng)絡(luò)化主存的服務(wù)的環(huán)境中實(shí)現(xiàn),如其中客戶機(jī)設(shè)備僅擔(dān)當(dāng)如放置在設(shè)備中的對(duì)象等對(duì)網(wǎng)絡(luò)/總線的接口的網(wǎng)絡(luò)化環(huán)境。本質(zhì)上,可儲(chǔ)存數(shù)據(jù)或從其檢索數(shù)據(jù)或向另一計(jì)算機(jī)發(fā)送數(shù)據(jù)的任何地方都是用于本發(fā)明的對(duì)象持久存儲(chǔ)方法的操作的合乎需要的或合適的環(huán)境。
盡管并非所需,但本發(fā)明可通過(guò)由設(shè)備或?qū)ο蟮姆?wù)開發(fā)者使用的操作系統(tǒng)來(lái)實(shí)現(xiàn),和/或包括在依照本發(fā)明操作的應(yīng)用程序或服務(wù)器軟件中。軟件可以在諸如由客戶機(jī)工作站、服務(wù)器或其它設(shè)備等一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行的軟件模塊等計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。通常,程序模塊的功能可如各實(shí)施例中所需的進(jìn)行組合或分布。此外,本發(fā)明可以用其它計(jì)算機(jī)系統(tǒng)配置和協(xié)議來(lái)實(shí)施。其它適用于本發(fā)明的公知的計(jì)算系統(tǒng)、環(huán)境和/或配置包括但不限于,個(gè)人計(jì)算機(jī)(PC)、自動(dòng)售貨機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)者電子產(chǎn)品、網(wǎng)絡(luò)PC、電器、燈、環(huán)境控制元件、小型機(jī)、大型計(jì)算機(jī)等等。
由此,圖7示出了其中可實(shí)現(xiàn)本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境700的一個(gè)示例,盡管可從上述內(nèi)容中清楚,但計(jì)算系統(tǒng)環(huán)境700僅為合適的計(jì)算環(huán)境的一個(gè)示例,并非對(duì)本發(fā)明的使用范圍或功能提出任何局限。也不應(yīng)將計(jì)算環(huán)境700解釋為對(duì)示例性操作環(huán)境700中示出的任一組件或其組合具有任何依賴或需求。
參考圖7,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件包括,但不限于,處理單元120、系統(tǒng)存儲(chǔ)器130以及將包括系統(tǒng)存儲(chǔ)器的各類系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結(jié)構(gòu)類型的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線以及使用各類總線體系結(jié)構(gòu)的局部總線。作為示例而非局限,這類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線以及外圍部件互連(PCI)總線(也稱為Mezzanine總線)。
計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算機(jī)110訪問(wèn)的任一可用介質(zhì),包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例而非局限,計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于儲(chǔ)存諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性,可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)、磁盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以用來(lái)儲(chǔ)存所期望的信息并可由計(jì)算機(jī)110訪問(wèn)的任一其它介質(zhì)。通信介質(zhì)通常具體化為諸如載波或其它傳輸機(jī)制的已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”指以對(duì)信號(hào)中的信息進(jìn)行編碼的方式設(shè)置或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無(wú)線介質(zhì),如聲學(xué)、RF、紅外和其它無(wú)線介質(zhì)。上述任一的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲(chǔ)器130包括以易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),如只讀存儲(chǔ)器(ROM)131和隨機(jī)存取存儲(chǔ)器(RAM)132?;据斎?輸出系統(tǒng)133(BIOS)包括如在啟動(dòng)時(shí)幫助在計(jì)算機(jī)110內(nèi)的元件之間傳輸信息的基本例程,通常儲(chǔ)存在ROM 131中。RAM 132通常包含處理單元120立即可訪問(wèn)和/或者當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖7示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110也可包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅作示例,圖7示出了對(duì)不可移動(dòng)、非易失性磁介質(zhì)進(jìn)行讀寫的硬盤驅(qū)動(dòng)器141、對(duì)可移動(dòng)、非易失性磁盤152進(jìn)行讀寫的磁盤驅(qū)動(dòng)器151以及對(duì)可移動(dòng)、非易失性光盤156,如CD-RW、DVD-RW或其它光介質(zhì)進(jìn)行讀寫的光盤驅(qū)動(dòng)器155。可以在示例性操作環(huán)境中使用的其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng)器141通常通過(guò)不可移動(dòng)存儲(chǔ)器接口,如接口140連接到系統(tǒng)總線121,磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通常通過(guò)可移動(dòng)存儲(chǔ)器接口,如接口150連接到系統(tǒng)總線121。
上文討論并在圖7示出的驅(qū)動(dòng)器及其關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例如,在圖7中,示出硬盤驅(qū)動(dòng)器141儲(chǔ)存操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,也可以與它們不同。這里對(duì)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給予不同的標(biāo)號(hào)來(lái)說(shuō)明至少它們是不同的副本。用戶可以通過(guò)輸入設(shè)備,如鍵盤162和定位設(shè)備161(諸如鼠標(biāo)、跟蹤球或觸摸板)向計(jì)算機(jī)110輸入命令和信息。其它輸入設(shè)備(未示出)可包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常通過(guò)耦合至系統(tǒng)總線121的用戶輸入接口160連接至處理單元120,但是也可以通過(guò)其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口或通用串行總線(USB)。圖形接口182也可連接到系統(tǒng)總線121。一個(gè)或多個(gè)圖形處理單元(GPU)184可與圖形接口182通信。監(jiān)視器191或其它類型的顯示設(shè)備也通過(guò)接口,如視頻接口190連接至系統(tǒng)總線121,視頻接口進(jìn)而與視頻存儲(chǔ)器186通信。除監(jiān)視器之外,計(jì)算機(jī)也可包括其它外圍輸出設(shè)備,如揚(yáng)聲器197和打印機(jī)196,它們通過(guò)輸出外圍接口195連接。
計(jì)算機(jī)110可以使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī)180的邏輯連接在網(wǎng)絡(luò)化或分布式環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括許多或所有上面相對(duì)于計(jì)算機(jī)110所描述的元件,盡管在圖7中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備181。圖7描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它的網(wǎng)絡(luò)/總線。這類網(wǎng)絡(luò)環(huán)境常見于家庭、辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110通過(guò)網(wǎng)絡(luò)接口或適配器170連接至LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110通常包括調(diào)制解調(diào)器172或用于通過(guò)WAN 173,如因特網(wǎng)建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,通過(guò)用戶輸入接口160或其它適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對(duì)于計(jì)算機(jī)110所描述的程序模塊或其部分可儲(chǔ)存在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例,而非局限,圖7示出遠(yuǎn)程應(yīng)用程序185駐留在存儲(chǔ)器設(shè)備181上??梢岳斫猓境龅木W(wǎng)絡(luò)連接是示例性的,也可以使用在計(jì)算機(jī)之間建立通信鏈路的其它裝置。
總結(jié)由此,揭示了使用有目標(biāo)的變量輸入來(lái)測(cè)試協(xié)議的系統(tǒng)和方法。盡管本發(fā)明是結(jié)合各附圖的較佳實(shí)施例來(lái)描述的,但是應(yīng)當(dāng)理解,可使用其它類似的實(shí)施例或可以對(duì)所描述的實(shí)施例進(jìn)行修改或添加,以執(zhí)行本發(fā)明的相同功能,而不偏離本發(fā)明。因此,本發(fā)明不應(yīng)限于任何單個(gè)實(shí)施例,而是應(yīng)當(dāng)依照所附權(quán)利要求書的寬度和范圍來(lái)解釋。
權(quán)利要求
1.一種用于測(cè)試數(shù)據(jù)格式的方法,包括接收定義所述數(shù)據(jù)格式內(nèi)的多個(gè)標(biāo)記的數(shù)據(jù)格式定義,每一所述標(biāo)記具有對(duì)應(yīng)的值,所述標(biāo)記的至少一個(gè)具有用變量來(lái)替換的其對(duì)應(yīng)值;以及依照所述數(shù)據(jù)格式定義生成標(biāo)記流,其中,所述流中的至少一個(gè)標(biāo)記具有其對(duì)應(yīng)的值,且所述至少一個(gè)變量的每一個(gè)用隨機(jī)值來(lái)替換。
2.如權(quán)利要求1所述的方法,其特征在于,包括接收定義協(xié)議的數(shù)據(jù)格式定義。
3.如權(quán)利要求1所述的方法,其特征在于,包括接收定義文件格式的數(shù)據(jù)格式定義。
4.如權(quán)利要求1所述的方法,其特征在于,還包括接收以基于語(yǔ)言的格式定義所述數(shù)據(jù)格式的數(shù)據(jù)格式定義。
5.如權(quán)利要求1所述的方法,其特征在于,還包括接收以上下文無(wú)關(guān)語(yǔ)法定義所述數(shù)據(jù)格式的數(shù)據(jù)格式定義。
6.如權(quán)利要求5所述的方法,其特征在于,包括接收以巴科斯-諾爾范式上下文無(wú)關(guān)語(yǔ)法定義所述數(shù)據(jù)格式的數(shù)據(jù)格式定義。
7.如權(quán)利要求5所述的方法,其特征在于,還包括將所述上下文無(wú)關(guān)語(yǔ)法數(shù)據(jù)格式定義變換成可擴(kuò)展標(biāo)記語(yǔ)言數(shù)據(jù)格式定義。
8.如權(quán)利要求1所述的方法,其特征在于,包括接收依照固定長(zhǎng)度數(shù)據(jù)屬性、長(zhǎng)度前綴屬性、以及數(shù)據(jù)偏移量屬性中的至少一個(gè)來(lái)定義所述數(shù)據(jù)格式的數(shù)據(jù)格式定義。
9.如權(quán)利要求1所述的方法,其特征在于,還包括用一隨機(jī)值來(lái)替換至少一個(gè)所述變量,所述隨機(jī)值是從一組智能值中選出的,所述智能值包括以下的至少一個(gè)空值、中間值、最大值、修正值、預(yù)定值范圍內(nèi)大于修正值的值、以及預(yù)定值范圍內(nèi)小于修正值的值。
10.一種具有用于執(zhí)行如權(quán)利要求1所述的步驟的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
11.一種用于測(cè)試數(shù)據(jù)格式的系統(tǒng),包括定義所述數(shù)據(jù)格式內(nèi)的多個(gè)標(biāo)記的數(shù)據(jù)格式定義,每一所述標(biāo)記具有對(duì)應(yīng)的值,所述標(biāo)記的至少一個(gè)具有用變量來(lái)替換的其對(duì)應(yīng)值;以及接收所述數(shù)據(jù)格式定義并依照所述數(shù)據(jù)格式定義來(lái)生成標(biāo)記流的測(cè)試數(shù)據(jù)格式生成器,其中,所述流中的至少一個(gè)標(biāo)記具有其對(duì)應(yīng)的值,且所述至少一個(gè)變量中的每一個(gè)用隨機(jī)值來(lái)替換。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述數(shù)據(jù)格式是文件格式。
13.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述數(shù)據(jù)格式是協(xié)議。
14.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述數(shù)據(jù)格式定義以基于語(yǔ)言的格式定義所述數(shù)據(jù)格式。
15.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述數(shù)據(jù)格式定義以上下文無(wú)關(guān)語(yǔ)法定義所述數(shù)據(jù)格式。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述上下文無(wú)關(guān)語(yǔ)法是巴科斯-諾爾范式。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述上下文無(wú)關(guān)語(yǔ)法數(shù)據(jù)格式定義被變換成人類可讀的數(shù)據(jù)格式定義。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述人類可讀數(shù)據(jù)格式定義以可擴(kuò)展標(biāo)記語(yǔ)言定義所述數(shù)據(jù)格式。
19.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述數(shù)據(jù)格式包括固定長(zhǎng)度數(shù)據(jù)屬性、長(zhǎng)度前綴屬性以及數(shù)據(jù)偏移量屬性中的至少一個(gè)。
20.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述隨機(jī)值是從一組智能值中選出的,所述智能值包括以下的至少一個(gè)空值、中間值、最大值、修正值、預(yù)定值范圍內(nèi)大于修正值的值、以及預(yù)定值范圍內(nèi)小于修正值的值。
全文摘要
數(shù)據(jù)格式定義中一個(gè)或多個(gè)所選擇的節(jié)點(diǎn)的值可用變量占位符來(lái)替換。在運(yùn)行時(shí),從數(shù)據(jù)格式定義生成輸入標(biāo)記流,每一變量占位符將用隨機(jī)值來(lái)替換,由此提供了有目標(biāo)的變量輸入。
文檔編號(hào)H04L12/26GK1825852SQ20061000435
公開日2006年8月30日 申請(qǐng)日期2006年1月25日 優(yōu)先權(quán)日2005年2月25日
發(fā)明者B·薩斯菲爾德 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
凤阳县| 革吉县| 清原| 南昌市| 石嘴山市| 绵竹市| 茂名市| 湘潭县| 张家港市| 长治县| 双桥区| 石门县| 禄丰县| 芷江| 巩义市| 绥江县| 腾冲县| 麻江县| 武隆县| 深圳市| 郎溪县| 临泉县| 嵩明县| 抚州市| 南部县| 西吉县| 吉安县| 名山县| 米林县| 江安县| 清远市| 毕节市| 从化市| 陆河县| 习水县| 玛沁县| 万全县| 信阳市| 山西省| 法库县| 金秀|