一種模塊穩定性的分布式測試方法及裝置制造方法
【專利摘要】本發明提供了一種模塊穩定性的分布式測試方法及裝置,其中模塊穩定性的分布式測試方法包括:獲取與測試數據相關的配置文件,其中所述配置文件以數據行的方式記錄了各個測試數據集標識;對所述配置文件按行進行切分,得到兩個以上的數據行,以及,根據各數據行中的測試數據集標識確定該數據行對應的計算節點,并將該數據行發送至所述對應的計算節點上;在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址,并獲取所述存放地址的測試數據集,以及,在各計算節點上部署被測模塊,并在部署的被測模塊中運行獲取的測試數據集以輸出測試日志。通過上述方式,本發明能夠有效提高模塊穩定性測試的效率。
【專利說明】一種模塊穩定性的分布式測試方法及裝置
【【技術領域】】
[0001]本發明涉及測試技術,特別涉及一種模塊穩定性的分布式測試方法及裝置。
【【背景技術】】
[0002]測試是軟件開發過程中的重要環節。根據測試的目的,測試可分為功能測試和性能測試。功能測試關注模塊的功能,需要驗證模塊的功能實現是否符合模塊的需求規格。性能測試則關注模塊整體運行的穩定性和健壯性。其中穩定性測試是性能測試的一個重要方面,其主要通過向模塊輸入大量數據來檢測模塊在連續進行數據處理時是否能夠穩定運行。
[0003]現有技術在進行模塊穩定性測試時,是采用單機的方式進行的,即在單一終端上部署被測模塊,然后準備大量的數據作為輸入,對被測模塊的運行進行測試。由于單一終端的計算能力是有限的,在輸入數據量很大的情況下,被測模塊要運行完所有的輸入數據,花費的時間會比較長,也就是說,現有技術在進行模塊穩定性測試時的效率很低。
【
【發明內容】
】
[0004]本發明所要解決的技術問題是提供一種模塊穩定性的分布式測試方法及裝置,以提高模塊穩定性測試的效率。
[0005]本發明為解決技術問題而采用的技術方案是提供一種模塊穩定性的分布式測試方法,包括:獲取與測試數據相關的配置文件,其中所述配置文件以數據行的方式記錄了各個測試數據集標識;對所述配置文件按行進行切分,得到兩個以上的數據行,以及,根據各數據行中的測試數據集標識確定該數據行對應的計算節點,并將該數據行發送至所述對應的計算節點上;在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址,并獲取所述存放地·址的測試數據集,以及,在各計算節點上部署被測模塊,并在部署的被測模塊中運行獲取的測試數據集以輸出測試日志。
[0006]根據本發明之一優選實施例,所述配置文件中的測試數據集標識為代表該測試數據集的數字。
[0007]根據本發明之一優選實施例,根據各數據行中的測試數據集標識確定該數據行對應的計算節點的步驟包括:求各數據行中的測試數據集標識與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
[0008]根據本發明之一優選實施例,在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址的步驟包括:將接收到的數據行中的測試數據集標識填入預設的域名模板及端口模板中的槽位,得到測試數據集的存放地址。
[0009]根據本發明之一優選實施例,所述配置文件中的測試數據集標識為該測試數據集的存放地址。
[0010]根據本發明之一優選實施例,根據各數據行中的測試數據集標識確定該數據行對應的計算節點的步驟包括:將各數據行中的測試數據集標識對應的哈希值轉換為整數,求該整數與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
[0011]本發明還提供了一種模塊穩定性的分布式測試方法,包括:獲取測試數據;對所述測試數據進行切分,得到兩個以上的測試數據集,以及,分別將各測試數據集發送至對應的計算節點;在各計算節點上部署被測模塊,并在部署的被測模塊中運行接收到的測試數據集以輸出測試日志。
[0012]根據本發明之一優選實施例,對所述測試數據進行切分的步驟包括:確定所述測試數據的各封裝單元;將包含至少一個封裝單元的數據片段作為測試數據集。
[0013]根據本發明之一優選實施例,確定所述測試數據的各封裝單元的步驟包括:根據被測模塊的輸入數據類型確定封裝長度,并根據所述封裝長度劃分所述測試數據的各封裝單元。
[0014]根據本發明之一優選實施例,確定所述測試數據的各封裝單元的步驟包括:將所述測試數據編碼為文本,并根據所述文本中的換行符劃分所述測試數據的各封裝單元。
[0015]根據本發明之一優選實施例,所述方法在部署的被測模塊中運行接收到的測試數據集前進一步包括:對接收到的測試數據集進行解碼。
[0016]本發明還提供了一種模塊穩定性的分布式測試裝置,包括:配置文件獲取單元,用于獲取與測試數據相關的配置文件,其中所述配置文件以數據行的方式記錄了各個測試數據集的標識;切分單元,用于對所述配置文件按行進行切分,得到兩個以上的數據行,以及,根據各數據行中的測試數據集標識確定該數據行對應的計算節點,并將該數據行發送至所述對應的計算節點上;測試單元,用于在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址,并獲取所述存放地址的測試數據集,以及,在各計算節點上部署被測模塊,并在部署的被測模塊中運行獲取的測試數據集以輸出測試日志。
[0017]根據本發明之一優選實施例,所述配置文件中的測試數據集標識為代表該測試數據集的數字。
[0018]根據本發明之一優選實施例,所述切分單元根據各數據行中的測試數據集標識確定該數據行對應的計算節點的方式包括:求各數據行中的測試數據集標識與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
[0019]根據本發明之一優選實施例,所述測試單元在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址的方式包括:將接收到的數據行中的測試數據集標識填入預設的域名模板及端口模板中的槽位,得到測試數據集的存放地址。
[0020]根據本發明之一優選實施例,所述配置文件中的測試數據集標識為該測試數據集的存放地址。
[0021]根據本發明之一優選實施例,所述切分單元根據各數據行中的測試數據集標識確定該數據行對應的計算節點的方式包括:將各數據行中的測試數據集標識對應的哈希值轉換為整數,求該整數與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
[0022]本發明還提供了一種模塊穩定性的分布式測試裝置,包括:測試數據獲取單元,用于獲取測試數據;切分單元,用于對所述測試數據進行切分,得到兩個以上的測試數據集,以及,將各測試數據集分別發送至對應的計算節點;測試單元,用于在各計算節點上部署被測模塊,并在部署的被測模塊中運行接收到的測試數據集以輸出測試日志。
[0023]根據本發明之一優選實施例,所述切分單元包括:確定單元,用于確定所述測試數據的各封裝單元;劃分單元,用于將包含至少一個封裝單元的數據片段作為測試數據集;通訊單元,用于將各測試數據集分別發送至對應的計算節點。
[0024]根據本發明之一優選實施例,所述確定單元根據被測模塊的輸入數據類型確定封裝長度,并根據所述封裝長度劃分所述測試數據的各封裝單元。
[0025]根據本發明之一優選實施例,所述確定單元將所述測試數據編碼為文本,并根據所述文本中的換行符劃分所述測試數據的各封裝單元。
[0026]根據本發明之一優選實施例,所述測試單元進一步用于在部署的被測模塊中運行接收到的測試數據集前,對接收到的測試數據集進行解碼。
[0027]由以上技術方案可以看出,本發明通過在多個計算節點上部署被測模塊,并在各個計算節點的被測模塊中運行部分測試數據,即測試數據集,能夠實現模塊穩定性的分布式測試。由于各計算節點中的被測模塊是相同的,而測試過程又可以并發地進行,因此,當各計算節點的測試數據均運行完之后,相當于在被測模塊上運行了各計算節點的測試數據之和,這與單機上進行模塊穩定性測試的效果完全相同,但是卻能使整個測試過程需要花費的時間大大降低,從而顯著提高了測試效率。
【【專利附圖】
【附圖說明】】
[0028]圖1為本發明中模塊穩定性的分布式測試裝置的實施例一的結構示意框圖;
[0029]圖2為本發明中切分單元102的實施例的結構示意框圖;
[0030]圖3為本發明中測試數據的一個實施例的示意圖;
[0031]圖4為本發明中測試數據的又一個實施例的示意圖;
[0032]圖5為本發明中模塊穩定性的分布式測試裝置的實施例二的結構示意框圖;
[0033]圖6a為本發明中配置文件的一個實施例的示意圖;
[0034]圖6b為本發明中配置文件的又一個實施例的示意圖;
[0035]圖7為本發明中模塊穩定性的分布式測試方法的實施例一的流程示意圖;
[0036]圖8為本發明中模塊穩定性的分布式測試方法的實施例二的流程示意圖。
【【具體實施方式】】
[0037]為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。
[0038]請參考圖1,圖1為本發明中模塊穩定性的分布式測試裝置的實施例一的結構示意框圖。
[0039]如圖1所示,該實施例的裝置包括:測試數據獲取單元101、切分單元102及測試單元103。
[0040]其中測試數據獲取單元101和切分單元102可以位于相同的終端(如圖1中均位于終端0),也可以位于不同的終端(圖中未示出)。本實施例中具有多個計算節點,即圖1中所示的終端I至終端n,其中每個計算節點均包含一個測試單元,由于每個測試單元的實現是類似的,因此在本實施例中,以測試單元103為例說明具體的實現過程。[0041]具體地,測試數據獲取單元101,用于獲取測試數據。由于本發明實現的是模塊的穩定性測試,因此測試數據獲取單元101獲取的是大量的測試數據。
[0042]具體地,切分單元102,用于對獲取到的測試數據進行切分,得到兩個以上的測試數據集,以及,將各測試數據集分別發送至對應的計算節點。
[0043]請參考圖2,圖2為切分單元102的實施例的結構示意框圖。在圖2所示的實施例中,切分單元102包括:確定單元1021、劃分單元1022及通訊單元1023。其中確定單元1021,用于確定測試數據的各封裝單元。劃分單元1022,用于將包含至少一個封裝單元的數據片段作為測試數據集。通訊單元1023,用于將各測試數據集發送至對應的計算節點。測試數據獲取單元101獲取的測試數據的格式是由被測模塊決定的,有可能是文本,也有可能是二進制的數據。如果測試數據的格式為文本,則確定單元1021可以按照文本行確定測試數據的封裝單元,即每個文本行可作為一個封裝單元。如果測試數據的格式為二進制文本,則為了對測試數據進行合理劃分以得到測試數據集,確定單元1021確定各封裝單元可以有以下兩種實施方式。
[0044]實施方式一:確定單元1021根據被測模塊的輸入數據類型確定封裝長度,并根據該封裝長度劃分測試數據的各封裝單元。被測模塊在測試前即已確定,由于被測模塊是確定的,根據被測模塊的定義可以確定被測模塊的輸入數據類型。由數據類型可以確定該類型數據的長度,該長度即為封裝長度。請參考圖3,圖3是本發明中測試數據的一個示意圖。
[0045]實施方式二:確定單元1022將測試數據編碼為文本,并根據文本中的換行符劃分測試數據的各封裝單元。具體地,可采用base64對二進制的測試數據進行編碼,得到如圖4所示的測試數據,根據換行符“/”即可確定各封裝單元。
[0046]在確定單元1021確定了測試數據的各封裝單元后,劃分單元1022確定測試數據集時,每個測試數據集包含的封裝單元的數目可以隨機確定,既可以包含一個,也可以包含多個。在劃分單元1022確定了各個測試數據集后,通訊單元1023就可以將各個測試數據集發送至對應的計算節點。優選地,通訊單元1023可將一個測試數據集發送至一個計算節點。
[0047]每個計算節點包含一個測試單元,以圖1為例,測試單元103,用于在終端I對應的計算節點上部署被測模塊,并在部署的被測模塊中運行接收到的測試數據集以輸出測試日志。部署被測模塊就是準備被測模塊的運行環境,在部署的被測模塊中運行接收的測試數據集就是以測試數據集作為輸入,調用被測模塊,這與現有技術中的測試過程是類似的。值得注意的是,如果確定單元1022以實施方式二的方式確定各封裝單元,則測試單元進一步還用于在部署的被測模塊中運行接收到的測試數據集前,對接收到的測試數據集進行解碼。
[0048]通過圖1所示的分布式測試裝置可以看出,對測試數據進行切分后,在多個計算節點上分別利用切分后的測試數據集運行被測模塊,可以在很短的時間內,讓被測模塊運行完大量數據,有效提高了模塊穩定性測試的效率。但是在圖1所示的實施例中,由于測試數據是集中獲取的,并且測試數據量很大,因此在測試數據獲取單元101獲取測試數據,即進行數據準備階段,花費的時間比較長,為了提高數據準備階段的效率,本發明的裝置還可以以圖5所示的實施例二的方式實施。
[0049]請參考圖5,圖5為本發明中模塊穩定性的分布式測試裝置的實施例二的結構示意框圖。如圖5所示,該實施例的裝置包括:配置文件獲取單元201、切分單元202及測試單元203。
[0050]其中配置文件單元獲取單元201和切分單元202可以位于相同的終端(如圖5中均位于終端0),也可以位于不同的終端(圖中未示出)。本實施例中具有多個計算節點,即圖5中所示的終端I至終端n,其中每個計算節點均包含一個測試單元,由于每個測試單元的實現是類似的,因此在本實施例中,以測試單元203為例說明具體的實現過程。
[0051]具體地,配置文件獲取單元201,用于獲取與測試數據相關的配置文件,其中配置文件以數據行的方式記錄了各個測試數據集的標識。請參考圖6a和圖6b,圖6a及圖6b分別是配置文件的實施例的示意圖。
[0052]在圖6a中,配置文件中的測試數據集標識為代表該測試數據集的數字。圖6b中,配置文件中的測試數據集標識為測試數據集的存放地址。
[0053]下面將針對上述配置文件的兩個不同實施例,分別介紹后續處理單元的實施方式。
[0054]切分單元202,用于對配置文件按行進行切分,得到兩個以上的數據行,以及,根據各數據行中的測試數據集標識確定該數據行對應的計算節點,并將該數據行發送至對應的計算節點上。
[0055]具體地,如果配置文件如圖6a所示,則切分單元202根據各數據行中的測試數據集標識確定該數據行對應的計算節點的方式包括:求各數據行中的測試數據集標識與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
[0056]本發明裝置的測試過程,是在多個計算節點上并發進行實現的。具體的計算節點總數,可以根據測試需要預先確定。在切分單元202將圖6a所示的配置文件按行切分之后,每個數據行就包含了一個測試數據集標識,由于該標識是一個數字,因此切分單元202通過該數字與計算節點之間余數可以確定該數據行對應的計算節點。例如,配置文件中總共有100個數據行,其包含的標識分別從I至100,而計算節點的總數為100,則這種方式下,包含標識I的數據行就會對應至編號為I的計算節點,包含標識2的數據行就會對應至編號為2的計算節點,以此類推,每個數據行會對應一個計算節點。如果配置文件中總共有100個數據行,其包含的標識分別從I至100,而計算節點的總數為50,則這種方式下,標識從I至50的數據行分別對應編號從I至50的計算節點,并且標識從51至100的數據行也會分別對應編號從I至50的計算節點。這種方式能夠充分實現分布式計算的負載均衡。
[0057]如果配置文件如圖6b所示,則切分單元202切分得到的數據行均為文本形式,此時,切分單元202根據各數據行中的測試數據集標識確定該數據行對應的計算節點的方法包括:將各數據行中的測試數據集標識對應的哈希值轉換為整數,求該整數與預設的計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。其中,求文本的哈希值并將哈希值轉換為整數,可通過調用相應的函數實現,由于在各種程序語言中,這種函數實現均屬于現有技術,在此不再贅述。在轉換為整數后的操作與前面描述圖6a的配置文件的實施方式類似,不再重復。
[0058]切分單元202在確定了每個數據行對應的計算節點后,就可以將該數據行發送至對應的計算節點,由該節點的測試單元進行后續操作。由于各計算節點的測試單元的實施方式是類似的,下面僅以圖5中的終端I上的測試單元203為例進行介紹。[0059]測試單元203,用于在終端I對應的計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址,并獲取該地址的測試數據集,以及,在終端I對應的計算節點上部署被測模塊,并在部署的被測模塊中運行獲取的測試數據集以輸出測試日
O
[0060]具體地,針對圖6a的實施例,測試單元203確定測試數據集的存放地址的方式包括:將接收到的數據行中的測試數據集標識填入預設的域名模板及端口模板中的槽位,得到測試數據集的存放地址。例如,預設的域名模板為“ [id], wdbd.bailing, baidu.com”,端口模板為“ [id]+10000”,其中“[]”表示的就是槽位。
[0061]而針對圖6b的實施例,測試單元203直接將接收到的數據行提取出來,就是測試數據集的存放地址。
[0062]在得到地址后,測試單元203獲取已知地址下的測試數據集的方式與現有技術中提取數據的方式是類似的。
[0063]在得到測試數據集后,測試單元203在計算節點上部署被測模塊,以及運行測試數據集的方式與圖1所示的實施例中的測試單元103類似,不再重復介紹。
[0064]通過圖5所示的實施例,本發明的裝置能夠將獲取測試數據的工作分散至不同的計算節點上并發執行,這樣,即使模塊穩定性測試需要大量的測試數據,在每個計算節點需要獲取的測試數據量也不會很大,從而使得正式對被測模塊進行測試前的數據準備時間大大降低。
[0065]值得注意的是,盡管圖1或圖5所示的實施例中,測試數據、配置文件或測試日志表示在圖中所示的終端O、終端I等終端之外,但是本發明并不限于此,測試數據、配置文件及測試日志可以集中或分布存儲于任意終端中,本發明并不對此進行限制。
`[0066]請參考圖7,圖7為本發明中模塊穩定性的分布式測試方法的實施例一的流程示意圖。如圖7所示,該實施例的方法包括:
[0067]步驟S301:獲取測試數據。
[0068]步驟S302:對測試數據進行切分,得到兩個以上的測試數據集,以及,分布將各測試數據集發送至對應的計算節點。
[0069]步驟S303:在各計算節點上部署被測模塊,并在部署的被測模塊中運行接收到的測試數據集以輸出測試日志。
[0070]步驟S302中對測試數據進行切分,具體包括:
[0071]步驟S3021:確定測試數據的各封裝單元。例如,根據被測模塊的輸入數據類型確定封裝長度,并以該封裝長度劃分測試數據的各封裝單元,或者,將測試數據編碼為文本,并根據文本中的換行符劃分測試數據的各封裝單元。
[0072]步驟S3022:將包含至少一個封裝單元的數據片段作為測試數據集。具體地,測試數據集包含的封裝單元的數目可以隨機確定,既可以包含一個,也可以包含多個。
[0073]此外,步驟S302中,將各個測試數據集發送至對應的計算節點時,優選的,將一個測試數據集發送至一個計算節點。
[0074]如果步驟S3022中,將測試數據編碼為文本,并根據文本中的換行符劃分測試數據的各封裝單元,則在步驟S303中,在部署的被測模塊中運行接收到的測試數據集前,還需要先對接收到的測試數據集進行解碼。[0075]請參考圖8,圖8為本發明中模塊穩定性的分布式測試方法的實施例二的流程示意圖。如圖8所示,該實施例的方法包括:
[0076]步驟S401:獲取與測試數據相關的配置文件,其中配置文件以數據行的方式記錄了各個測試數據集標識。
[0077]步驟S402:對配置文件按行進行切分,得到兩個以上的數據行,以及,根據各數據行中的測試數據集標識確定該數據行對應的計算節點,并將該數據行發送至對應的計算節點上。
[0078]步驟S403:在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址,并獲取該地址的測試數據集,以及,在各計算節點上部署被測模塊,并在部署的被測模塊中運行獲取的測試數據集以輸出測試日志。
[0079]在一種實施方式中,上述配置文件中的測試數據集標識為代表該測試數據集的數字。
[0080]與之對應的,步驟S402中根據各數據行中的測試數據集標識確定該數據行對應的計算節點的方式包括:求各數據行中的測試數據集標識與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
[0081]與之對應的,步驟S403中在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址的方式包括:將接收到的數據行中的測試數據集標識填入預設的域名模板及端口模板中的槽位,得到測試數據集的存放地址。
[0082]在另一種實施方式中,配置文件中的測試數據集標識為該測試數據集的存放地址。
[0083]與之對應的,步驟S402中根據各數據行中的測試數據集標識確定該數據行對應的計算節點的方式包括:將各數據行中的測試數據集標識對應的哈希值轉換為整數,求該整數與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
[0084]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
【權利要求】
1.一種模塊穩定性的分布式測試方法,包括: 獲取與測試數據相關的配置文件,其中所述配置文件以數據行的方式記錄了各個測試數據集標識; 對所述配置文件按行進行切分,得到兩個以上的數據行,以及,根據各數據行中的測試數據集標識確定該數據行對應的計算節點,并將該數據行發送至所述對應的計算節點上; 在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址,并獲取所述存放地址的測試數據集,以及,在各計算節點上部署被測模塊,并在部署的被測模塊中運行獲取的測試數據集以輸出測試日志。
2.根據權利要求1所述的方法,其特征在于,所述配置文件中的測試數據集標識為代表該測試數據集的數字。
3.根據權利要求2所述的方法,其特征在于,根據各數據行中的測試數據集標識確定該數據行對應的計算節點的步驟包括: 求各數據行中的測試數據集標識與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
4.根據權利要求3 所述的方法,其特征在于,在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址的步驟包括: 將接收到的數據行中的測試數據集標識填入預設的域名模板及端口模板中的槽位,得到測試數據集的存放地址。
5.根據權利要求1所述的方法,其特征在于,所述配置文件中的測試數據集標識為該測試數據集的存放地址。
6.根據權利要求5所述的方法,其特征在于,根據各數據行中的測試數據集標識確定該數據行對應的計算節點的步驟包括: 將各數據行中的測試數據集標識對應的哈希值轉換為整數,求該整數與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
7.一種模塊穩定性的分布式測試方法,包括: 獲取測試數據; 對所述測試數據進行切分,得到兩個以上的測試數據集,以及,分別將各測試數據集發送至對應的計算節點; 在各計算節點上部署被測模塊,并在部署的被測模塊中運行接收到的測試數據集以輸出測試日志。
8.根據權利要求7所述的方法,其特征在于,對所述測試數據進行切分的步驟包括: 確定所述測試數據的各封裝單元; 將包含至少一個封裝單元的數據片段作為測試數據集。
9.根據權利要求8所述的方法,其特征在于,確定所述測試數據的各封裝單元的步驟包括: 根據被測模塊的輸入數據類型確定封裝長度,并根據所述封裝長度劃分所述測試數據的各封裝單元。
10.根據權利要求8所述的方法,其特征在于,確定所述測試數據的各封裝單元的步驟包括:將所述測試數據編碼為文本,并根據所述文本中的換行符劃分所述測試數據的各封裝單元。
11.根據權利要求10所述的方法,其特征在于,所述方法在部署的被測模塊中運行接收到的測試數據集前進一步包括:對接收到的測試數據集進行解碼。
12.—種模塊穩定性的分布式測試裝置,包括: 配置文件獲取單元,用于獲取與測試數據相關的配置文件,其中所述配置文件以數據行的方式記錄了各個測試數據集的標識; 切分單元,用于對所述配置文件按行進行切分,得到兩個以上的數據行,以及,根據各數據行中的測試數據集標識確定該數據行對應的計算節點,并將該數據行發送至所述對應的計算節點上; 測試單元,用于在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址,并獲取所述存放地址的測試數據集,以及,在各計算節點上部署被測模±夾,并在部署的被測模塊中運行獲取的測試數據集以輸出測試日志。
13.根據權利要求12所述的裝置,其特征在于,所述配置文件中的測試數據集標識為代表該測試數據集的數字。
14.根據權利要求13所述的裝置,其特征在于,所述切分單元根據各數據行中的測試數據集標識確定該數據行對應的計算節點的方式包括: 求各數據行中的測試數據集標識與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
15.根據權利要求14所述的裝置,其特征在于,所述測試單元在各計算節點上根據接收到的數據行中的測試數據集標識確定測試數據集的存放地址的方式包括: 將接收到的數據行中的測試數據集標識填入預設的域名模板及端口模板中的槽位,得到測試數據集的存放地址。
16.根據權利要求12所述的裝置,其特征在于,所述配置文件中的測試數據集標識為該測試數據集的存放地址。
17.根據權利要求16所述的裝置,其特征在于,所述切分單元根據各數據行中的測試數據集標識確定該數據行對應的計算節點的方式包括: 將各數據行中的測試數據集標識對應的哈希值轉換為整數,求該整數與計算節點總數之間的余數,并將以該余數為編號的計算節點作為該數據行對應的計算節點。
18.一種模塊穩定性的分布式測試裝置,包括: 測試數據獲取單元,用于獲取測試數據; 切分單元,用于對所述測試數據進行切分,得到兩個以上的測試數據集,以及,將各測試數據集分別發送至對應的計算節點; 測試單元,用于在各計算節點上部署被測模塊,并在部署的被測模塊中運行接收到的測試數據集以輸出測試日志。
19.根據權利要求18所述的裝置,其特征在于,所述切分單元包括: 確定單元,用于確定所述測試數據的各封裝單元; 劃分單元,用于將包含至少一個封裝單元的數據片段作為測試數據集; 通訊單元,用于將各測試數據集分別發送至對應的計算節點。
20.根據權利要求19所述的裝置,其特征在于,所述確定單元根據被測模塊的輸入數據類型確定封裝長度,并根據所述封裝長度劃分所述測試數據的各封裝單元。
21.根據權利要求19所述的裝置,其特征在于,所述確定單元將所述測試數據編碼為文本,并根據所述文本中的換行符劃分所述測試數據的各封裝單元。
22.根據權利要求21所述的裝置,其特征在于,所述測試單元進一步用于在部署的被測模塊中運行接收到的測試數據集前,對接`收到的測試數據集進行解碼。
【文檔編號】G06F11/36GK103793318SQ201210422462
【公開日】2014年5月14日 申請日期:2012年10月29日 優先權日:2012年10月29日
【發明者】劉佳, 劉晶 申請人:百度在線網絡技術(北京)有限公司