一種生成測試工具的輸入數(shù)據(jù)的方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種生成測試工具的輸入數(shù)據(jù)的方法和裝置,該方法包括:獲取用戶提交的原始數(shù)據(jù);識別原始數(shù)據(jù)的數(shù)字部分和字符部分;將數(shù)字部分轉(zhuǎn)化為預(yù)設(shè)進(jìn)制數(shù);使用預(yù)設(shè)算法將預(yù)設(shè)進(jìn)制數(shù)切割成每段長度為預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù)據(jù)的前面添加指定字符,得到數(shù)字部分的最終轉(zhuǎn)化結(jié)果;將字符部分轉(zhuǎn)化為對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼;使用預(yù)設(shè)算法將預(yù)設(shè)進(jìn)制的ASCII碼切割成每段長度為預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù)據(jù)的前面添加指定字符,得到字符部分的最終轉(zhuǎn)化結(jié)果;將數(shù)字部分的最終轉(zhuǎn)化結(jié)果和字符部分的最終轉(zhuǎn)化結(jié)果組合,得到測試工具的輸入數(shù)據(jù)。本發(fā)明提供的技術(shù)方案省時省力,大大提高了生成輸入數(shù)據(jù)的精度和效率。
【專利說明】一種生成測試工具的輸入數(shù)據(jù)的方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理與存儲領(lǐng)域,具體涉及一種生成測試工具的輸入數(shù)據(jù)的方法 和裝置。
【背景技術(shù)】
[0002] 在使用測試工具進(jìn)行測試時,往往需要將大量的待測試數(shù)據(jù)輸入到測試工具中, 由于大部分測試工具對輸入數(shù)據(jù)的格式均有特定要求,在待測試的原始數(shù)據(jù)不滿足測試工 具對輸入數(shù)據(jù)的要求時,測試工具無法執(zhí)行測試操作。在這種情況下,需要用戶依據(jù)測試工 具的要求,手動對待測試的原始數(shù)據(jù)進(jìn)行逐一轉(zhuǎn)化,再將轉(zhuǎn)化后的數(shù)據(jù)手動填寫至測試工 具的輸入接口中。
[0003] 上述生成測試工具的輸入數(shù)據(jù)的過程依賴于用戶的手動操作,無法批量生成,不 僅費(fèi)時費(fèi)力,還不可避免地會產(chǎn)生操作失誤等問題,無法保證生成的測試工具的準(zhǔn)確性和 高效性,無法滿足測試需求。
【發(fā)明內(nèi)容】
[0004] 鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上 述問題的種生成測試工具的輸入數(shù)據(jù)的方法和裝置。
[0005] 依據(jù)本發(fā)明的一個方面,提供了一種生成測試工具的輸入數(shù)據(jù)的方法,該方法包 括:
[0006] 獲取用戶提交的原始數(shù)據(jù);
[0007] 識別所述原始數(shù)據(jù)的數(shù)字部分和字符部分;
[0008] 將所述數(shù)字部分轉(zhuǎn)化為預(yù)設(shè)進(jìn)制數(shù);使用預(yù)設(shè)算法將所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的 數(shù)字部分切割成每段長度為所述預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù)據(jù)的前面添加所述指定字 符,得到數(shù)字部分的最終轉(zhuǎn)化結(jié)果;
[0009] 將所述字符部分轉(zhuǎn)化為對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼;使用預(yù)設(shè)算法將所述轉(zhuǎn)化成對 應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼的字符部分切割成每段長度為所述預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù) 據(jù)的前面添加所述指定字符,得到字符部分的最終轉(zhuǎn)化結(jié)果;
[0010] 將所述數(shù)字部分的最終轉(zhuǎn)化結(jié)果和所述字符部分的最終轉(zhuǎn)化結(jié)果按照所述原始 數(shù)據(jù)的順序進(jìn)行組合,得到所述測試工具的輸入數(shù)據(jù)。
[0011] 可選地,所述使用預(yù)設(shè)算法包括:使用正則表達(dá)式,或者使用分割函數(shù)。
[0012] 可選地,該方法在所述使用預(yù)設(shè)算法將所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分切割成 每段長度為所述預(yù)設(shè)長度的多組數(shù)據(jù)之前,進(jìn)一步包括:
[0013] 獲取用戶提交的預(yù)設(shè)數(shù)據(jù)類型;判斷所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分的長度是 否小于所述預(yù)設(shè)數(shù)據(jù)類型的長度;是則,在所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分前補(bǔ)0,使其 長度達(dá)到所述預(yù)設(shè)數(shù)據(jù)類型的長度;
[0014] 所述使用預(yù)設(shè)算法將所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分切割成每段長度為所述 預(yù)設(shè)長度的多組數(shù)據(jù)是:對補(bǔ)O后的數(shù)字部分進(jìn)行切割。
[0015] 可選地,該方法進(jìn)一步包括:
[0016] 將得到的所述測試工具的輸入數(shù)據(jù)輸出到所述測試工具的輸入接口中。
[0017] 可選地,所述測試工具為LOAD RUNNER ;
[0018] 所述預(yù)設(shè)進(jìn)制為16進(jìn)制;
[0019] 所述對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼為16進(jìn)制ASCII碼;
[0020] 所述預(yù)設(shè)長度為一個字節(jié);
[0021] 所述指定字符為"\\x"。
[0022] 依據(jù)本發(fā)明的另一個方面,提供了一種生成測試工具的輸入數(shù)據(jù)的裝置,該裝置 包括:
[0023] 輸入單元,適于獲取用戶提交的原始數(shù)據(jù);
[0024] 識別單元,適于識別所述原始數(shù)據(jù)的數(shù)字部分和字符部分;
[0025] 數(shù)字部分轉(zhuǎn)化單元,適于將所述數(shù)字部分轉(zhuǎn)化為預(yù)設(shè)進(jìn)制數(shù);使用預(yù)設(shè)算法將所 述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分切割成每段長度為所述預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù)據(jù) 的前面添加所述指定字符,得到數(shù)字部分的最終轉(zhuǎn)化結(jié)果;
[0026] 字符部分轉(zhuǎn)化單元,適于將所述字符部分轉(zhuǎn)化為對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼;使用 預(yù)設(shè)算法將所述轉(zhuǎn)化成對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼的字符部分切割成每段長度為所述預(yù)設(shè) 長度的多組數(shù)據(jù),在每組數(shù)據(jù)的前面添加所述指定字符,得到字符部分的最終轉(zhuǎn)化結(jié)果;
[0027] 組合單元,適于將所述數(shù)字部分的最終轉(zhuǎn)化結(jié)果和所述字符部分的最終轉(zhuǎn)化結(jié)果 按照所述原始數(shù)據(jù)的順序進(jìn)行組合,得到所述測試工具的輸入數(shù)據(jù)。
[0028] 可選地,所述數(shù)字部分轉(zhuǎn)化單元和字符部分轉(zhuǎn)化單元適于使用正則表達(dá)式或者分 割函數(shù)進(jìn)行數(shù)據(jù)的分割。
[0029] 可選地,所述輸入單元,進(jìn)一步適于獲取用戶提交的預(yù)設(shè)數(shù)據(jù)類型;
[0030] 所述數(shù)字部分轉(zhuǎn)化單元,進(jìn)一步適于判斷所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分的長 度是否小于所述預(yù)設(shè)數(shù)據(jù)類型的長度;是則,在所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分前補(bǔ)〇, 使其長度達(dá)到所述預(yù)設(shè)數(shù)據(jù)類型的長度;并適于對補(bǔ)0后的數(shù)字部分進(jìn)行切割。
[0031] 可選地,該裝置進(jìn)一步包括:
[0032] 輸出單元,適于將得到的所述測試工具的輸入數(shù)據(jù)輸出到所述測試工具的輸入接 口中。
[0033] 可選地,所述測試工具為LOAD RUNNER ;
[0034] 所述預(yù)設(shè)進(jìn)制為16進(jìn)制;
[0035] 所述對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼為16進(jìn)制ASCII碼;
[0036] 所述預(yù)設(shè)長度為一個字節(jié);
[0037] 所述指定字符為"\\x"。
[0038] 由上述可知,本發(fā)明提供的技術(shù)方案通過對原始數(shù)據(jù)的數(shù)字部分和字符部分的轉(zhuǎn) 化、切割和組合,完成了將原始數(shù)據(jù)批量轉(zhuǎn)化為符合測試工具要求的輸入數(shù)據(jù)的過程。對于 用戶來說,只需提交待測試的原始數(shù)據(jù),無需手動逐一進(jìn)行數(shù)據(jù)轉(zhuǎn)化,不僅省時省力,還避 免了人工操作容易產(chǎn)生的失誤,大大提高了生成測試工具的輸入數(shù)據(jù)的精度和效率。
[0039] 上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠 更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0040] 通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通 技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0041] 圖1示出了根據(jù)本發(fā)明一個實施例的一種生成測試工具的輸入數(shù)據(jù)的方法的流 程圖;
[0042] 圖2示出了根據(jù)本發(fā)明一個實施例的一種生成測試工具的輸入數(shù)據(jù)的裝置的示 意圖;
[0043] 圖3示出了根據(jù)本發(fā)明另一個實施例的一種生成測試工具的輸入數(shù)據(jù)的裝置的 示意圖。
【具體實施方式】
[0044] 下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開 的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例 所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍 完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0045] 測試工具對輸入數(shù)據(jù)的格式均有特定要求,對于測試工具要求輸入數(shù)據(jù)為預(yù)設(shè)進(jìn) 制數(shù),且要求輸入數(shù)據(jù)的形式為在每預(yù)設(shè)長度的輸入數(shù)據(jù)前添加指定字符的情況,圖1示 出了根據(jù)本發(fā)明一個實施例的一種生成測試工具的輸入數(shù)據(jù)的方法的流程圖,用于將用戶 提交的原始數(shù)據(jù)轉(zhuǎn)化為符合測試工具上述要求的輸入數(shù)據(jù)。如圖1所示,該方法包括:
[0046] 步驟S110,獲取用戶提交的原始數(shù)據(jù)。
[0047] 步驟S120,識別原始數(shù)據(jù)的數(shù)字部分和字符部分。
[0048] 步驟S130,將數(shù)字部分轉(zhuǎn)化為預(yù)設(shè)進(jìn)制數(shù);使用預(yù)設(shè)算法將轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的 數(shù)字部分切割成每段長度為預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù)據(jù)的前面添加指定字符,得到 數(shù)字部分的最終轉(zhuǎn)化結(jié)果。
[0049] 步驟S140,將字符部分轉(zhuǎn)化為對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼;使用預(yù)設(shè)算法將轉(zhuǎn)化成 對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼的字符部分切割成每段長度為預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù)據(jù) 的前面添加指定字符,得到字符部分的最終轉(zhuǎn)化結(jié)果。
[0050] 步驟S150,將數(shù)字部分的最終轉(zhuǎn)化結(jié)果和字符部分的最終轉(zhuǎn)化結(jié)果按照原始數(shù)據(jù) 的順序進(jìn)行組合,得到測試工具的輸入數(shù)據(jù)。
[0051] 可見,圖1所示的方法通過對原始數(shù)據(jù)的數(shù)字部分和字符部分的轉(zhuǎn)化、切割和組 合,完成了將原始數(shù)據(jù)批量轉(zhuǎn)化為符合測試工具要求的輸入數(shù)據(jù)的過程。對于用戶來說,只 需提交待測試的原始數(shù)據(jù),無需手動逐一進(jìn)行數(shù)據(jù)轉(zhuǎn)化,不僅省時省力,還避免了人工操作 容易產(chǎn)生的失誤,大大提高了生成測試工具的輸入數(shù)據(jù)的精度和效率。
[0052] 例如,測試工具LOAD RUNNER是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具,該測試 工具LOAD RUNNER要求輸入數(shù)據(jù)的形式為"\\x00",即要求輸入數(shù)據(jù)為16進(jìn)制數(shù),且要求輸 入數(shù)據(jù)的形式為在每一個字節(jié)長度的輸入數(shù)據(jù)前添加指定字符"\\x"。本例將通過以下過 程生成符合該測試工具LOAD RUNNER的要求的輸入數(shù)據(jù):
[0053] 當(dāng)獲取到用戶提交的原始數(shù)據(jù)為"userid = 10000"時,識別原始數(shù)據(jù)"userid = 10000"的數(shù)字部分為:10進(jìn)制數(shù)"10000",識別原始數(shù)據(jù)的字符部分為'userid =";分別 對數(shù)字部分和字符部分進(jìn)行轉(zhuǎn)化,各轉(zhuǎn)化階段的結(jié)果如表1所示:
[0054] 表 1
[0055]
【權(quán)利要求】
1. 一種生成測試工具的輸入數(shù)據(jù)的方法,其特征在于,該方法包括: 獲取用戶提交的原始數(shù)據(jù); 識別所述原始數(shù)據(jù)的數(shù)字部分和字符部分; 將所述數(shù)字部分轉(zhuǎn)化為預(yù)設(shè)進(jìn)制數(shù);使用預(yù)設(shè)算法將所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部 分切割成每段長度為所述預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù)據(jù)的前面添加所述指定字符,得 到數(shù)字部分的最終轉(zhuǎn)化結(jié)果; 將所述字符部分轉(zhuǎn)化為對應(yīng)預(yù)設(shè)進(jìn)制的Ascn碼;使用預(yù)設(shè)算法將所述轉(zhuǎn)化成對應(yīng)預(yù) 設(shè)進(jìn)制的Ascn碼的字符部分切割成每段長度為所述預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù)據(jù)的 前面添加所述指定字符,得到字符部分的最終轉(zhuǎn)化結(jié)果; 將所述數(shù)字部分的最終轉(zhuǎn)化結(jié)果和所述字符部分的最終轉(zhuǎn)化結(jié)果按照所述原始數(shù)據(jù) 的順序進(jìn)行組合,得到所述測試工具的輸入數(shù)據(jù)。
2. 如權(quán)利要求1所述的方法,其中,所述使用預(yù)設(shè)算法包括;使用正則表達(dá)式,或者使 用分割函數(shù)。
3. 如權(quán)利要求1所述的方法,其中,該方法在所述使用預(yù)設(shè)算法將所述轉(zhuǎn)化成預(yù)設(shè)進(jìn) 制數(shù)的數(shù)字部分切割成每段長度為所述預(yù)設(shè)長度的多組數(shù)據(jù)之前,進(jìn)一步包括: 獲取用戶提交的預(yù)設(shè)數(shù)據(jù)類型;判斷所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分的長度是否小 于所述預(yù)設(shè)數(shù)據(jù)類型的長度;是則,在所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分前補(bǔ)0,使其長度 達(dá)到所述預(yù)設(shè)數(shù)據(jù)類型的長度; 所述使用預(yù)設(shè)算法將所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分切割成每段長度為所述預(yù)設(shè) 長度的多組數(shù)據(jù)是;對補(bǔ)0后的數(shù)字部分進(jìn)行切割。
4. 如權(quán)利要求1-3中任一項所述的方法,其中,該方法進(jìn)一步包括: 將得到的所述測試工具的輸入數(shù)據(jù)輸出到所述測試工具的輸入接口中。
5. 如權(quán)利要求1-3中任一項所述的方法,其中, 所述測試工具為LOAD RUNNER ; 所述預(yù)設(shè)進(jìn)制為16進(jìn)制; 所述對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼為16進(jìn)制ASCII碼; 所述預(yù)設(shè)長度為一個字節(jié); 所述指定字符為"\\x"。
6. -種生成測試工具的輸入數(shù)據(jù)的裝置,其特征在于,該裝置包括: 輸入單元,適于獲取用戶提交的原始數(shù)據(jù); 識別單元,適于識別所述原始數(shù)據(jù)的數(shù)字部分和字符部分; 數(shù)字部分轉(zhuǎn)化單元,適于將所述數(shù)字部分轉(zhuǎn)化為預(yù)設(shè)進(jìn)制數(shù);使用預(yù)設(shè)算法將所述轉(zhuǎn) 化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分切割成每段長度為所述預(yù)設(shè)長度的多組數(shù)據(jù),在每組數(shù)據(jù)的前 面添加所述指定字符,得到數(shù)字部分的最終轉(zhuǎn)化結(jié)果; 字符部分轉(zhuǎn)化單元,適于將所述字符部分轉(zhuǎn)化為對應(yīng)預(yù)設(shè)進(jìn)制的Ascn碼;使用預(yù)設(shè) 算法將所述轉(zhuǎn)化成對應(yīng)預(yù)設(shè)進(jìn)制的Ascn碼的字符部分切割成每段長度為所述預(yù)設(shè)長度 的多組數(shù)據(jù),在每組數(shù)據(jù)的前面添加所述指定字符,得到字符部分的最終轉(zhuǎn)化結(jié)果; 組合單元,適于將所述數(shù)字部分的最終轉(zhuǎn)化結(jié)果和所述字符部分的最終轉(zhuǎn)化結(jié)果按照 所述原始數(shù)據(jù)的順序進(jìn)行組合,得到所述測試工具的輸入數(shù)據(jù)。
7. 如權(quán)利要求6所述的裝置,其中, 所述數(shù)字部分轉(zhuǎn)化單元和字符部分轉(zhuǎn)化單元適于使用正則表達(dá)式或者分割函數(shù)進(jìn)行 數(shù)據(jù)的分割。
8. 如權(quán)利要求6所述的裝置,其中, 所述輸入單元,進(jìn)一步適于獲取用戶提交的預(yù)設(shè)數(shù)據(jù)類型; 所述數(shù)字部分轉(zhuǎn)化單元,進(jìn)一步適于判斷所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分的長度是 否小于所述預(yù)設(shè)數(shù)據(jù)類型的長度;是則,在所述轉(zhuǎn)化成預(yù)設(shè)進(jìn)制數(shù)的數(shù)字部分前補(bǔ)0,使其 長度達(dá)到所述預(yù)設(shè)數(shù)據(jù)類型的長度;并適于對補(bǔ)0后的數(shù)字部分進(jìn)行切割。
9. 如權(quán)利要求6-8中任一項所述的裝置,其中,該裝置進(jìn)一步包括: 輸出單元,適于將得到的所述測試工具的輸入數(shù)據(jù)輸出到所述測試工具的輸入接口 中。
10. 如權(quán)利要求6-8中任一項所述的裝置,其中, 所述測試工具為LOAD RUNNER ; 所述預(yù)設(shè)進(jìn)制為16進(jìn)制; 所述對應(yīng)預(yù)設(shè)進(jìn)制的ASCII碼為16進(jìn)制ASCII碼; 所述預(yù)設(shè)長度為一個字節(jié); 所述指定字符為"\\x"。
【文檔編號】G06F11/36GK104461884SQ201410740741
【公開日】2015年3月25日 申請日期:2014年12月5日 優(yōu)先權(quán)日:2014年12月5日
【發(fā)明者】王陽 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司