亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種批量生成測試數(shù)據(jù)的方法、系統(tǒng)和裝置的制作方法

文檔序號(hào):6468313閱讀:363來源:國知局
專利名稱:一種批量生成測試數(shù)據(jù)的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種批量生成測試數(shù)據(jù)的方法、 系統(tǒng)和裝置。
背景技術(shù)
對(duì)于絕大多數(shù)軟件項(xiàng)目而言,測試都是非常重要的環(huán)節(jié),測試成敗直接 決定了軟件項(xiàng)目的成敗。在測試過程中,通常情況下,都需要為多個(gè)相互關(guān) 聯(lián)的表生成測試數(shù)據(jù),并且這些數(shù)據(jù)之間要有一定的關(guān)系。而制造測試數(shù)據(jù) 始終是一件麻煩的事情,尤其是需要制造大量測試數(shù)據(jù)的情況。
當(dāng)需要批量生成測試數(shù)據(jù)時(shí),這批測試數(shù)據(jù)的大部分內(nèi)容都是相同的, 只有部分?jǐn)?shù)據(jù)如數(shù)據(jù)庫主鍵、日期等需要變化,當(dāng)然具體哪些數(shù)據(jù)需要變化 要由業(yè)務(wù)需求來決定。因此,批量制造測試數(shù)據(jù)的難點(diǎn)在于如何生成這些變 化的內(nèi)容,以及如何保證這些批量制造出的測試數(shù)據(jù)、在數(shù)據(jù)庫內(nèi)具有關(guān)聯(lián) 關(guān)系的表和表之間存在正確的關(guān)聯(lián)關(guān)系。
目前解決這類問題的主要辦法有兩種
1) 手工錄入數(shù)據(jù)
具體的,由人手工往數(shù)據(jù)庫中一條一條的插入數(shù)據(jù),這種方式最主要的 缺點(diǎn)是效率低下,而且非常容易出錯(cuò)。尤其是在多表關(guān)聯(lián)的情況下更是如此。
2) 通過函數(shù)錄入數(shù)據(jù)
具體的,通過數(shù)據(jù)庫工具如PL/SQL,編寫一段函數(shù),利用該編寫的函 數(shù)直接往數(shù)據(jù)庫中具有關(guān)聯(lián)關(guān)系的各個(gè)表中插入數(shù)據(jù)。這種方式最主要的缺 點(diǎn)是過于復(fù)雜,必須由專業(yè)的數(shù)據(jù)庫開發(fā)人員才能編寫出所需要的函數(shù),并 且很難保證具有關(guān)聯(lián)關(guān)系的各個(gè)表中測試數(shù)據(jù)完全對(duì)應(yīng),即很容易出錯(cuò)。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例在于提供一種批量生成測試數(shù)據(jù)的方法、系統(tǒng)和裝置,以本發(fā)明實(shí)施例提供的一種批量生成測試數(shù)據(jù)的方法,包括設(shè)置模板文 件,所述模板文件包括待生成測試數(shù)據(jù)的原始語句,所述原始語句中包含用 變量表示的測試數(shù)據(jù)的動(dòng)態(tài)變化部分以及固定值部分;所述方法還包括由 數(shù)據(jù)生成器協(xié)調(diào)模板解析器、模板合成器和文件存儲(chǔ)器配合操作,其中,
模板解析器解析所述模板文件,識(shí)別所述模板文件中的變量和固定值部
分;
模板合成器根據(jù)所述變量的類型以及所述變量的生成方式,生成真實(shí)的 數(shù)據(jù),依次用真實(shí)的數(shù)據(jù)替換所述變量,生成批量測試數(shù)據(jù)的動(dòng)態(tài)部分,根
據(jù)所述固定值部分生成批量測試數(shù)據(jù)的靜態(tài)部分;合并所述測試數(shù)據(jù)的動(dòng)態(tài)
部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);
文件存儲(chǔ)器將所述批量的測試數(shù)據(jù)存儲(chǔ)到結(jié)果文件中。
其中,所述方法還包括將所述結(jié)果文件中的批量測試數(shù)據(jù)導(dǎo)入到數(shù)據(jù)
庫的內(nèi)存在關(guān)聯(lián)的各個(gè)表中。
其中,所述變量的生成方式包括以教:值的方式遞增或遞減,以字符的方
式遞增或遞減,或者,由多個(gè)值構(gòu)成且有幾個(gè)值就生成幾條記錄,且可以嵌套。
本發(fā)明實(shí)施例提供的一種批量生成測試數(shù)據(jù)的系統(tǒng),包括
配置單元,用于設(shè)置模板文件,所述模板文件包括待生成測試數(shù)據(jù)的原
始語句,所述原始語句中包含用變量表示的測試數(shù)據(jù)的動(dòng)態(tài)變化部分以及固
定值部分;
測試數(shù)據(jù)生成裝置,用于解析所述模板文件,識(shí)別所述模板文件中的變 量和固定值部分;根據(jù)所述變量的類型以及所述變量的生成方式,生成真實(shí) 的數(shù)據(jù),依次用真實(shí)的數(shù)據(jù)替換所述變量,生成批量測試數(shù)據(jù)的動(dòng)態(tài)部分, 根據(jù)所述固定值部分生成批量測試數(shù)據(jù)的靜態(tài)部分;合并所述測試數(shù)據(jù)的動(dòng) 態(tài)部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);將所述批量的測試數(shù)據(jù)存儲(chǔ)到結(jié) 果文件中。
其中,所述系統(tǒng)還包括導(dǎo)入單元,用于將所述結(jié)果文件中的批量測試 數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫的內(nèi)存在關(guān)聯(lián)的各個(gè)表中。其中,所述變量的生成方式包括以數(shù)值的方式遞增或遞減,以字符的方 式遞增或遞減,或者,由多個(gè)值構(gòu)成且有幾個(gè)值就生成幾條記錄,且可以嵌 套。
本發(fā)明實(shí)施例提供的一種測試數(shù)據(jù)生成裝置,包括
數(shù)據(jù)生成器,用于協(xié)調(diào)模板解析器、模板合成器和文件存儲(chǔ)器配合操作;
模板解析器,用于在數(shù)據(jù)生成器的控制下,解析已配置的模板文件,識(shí) 別所述模板文件中的變量和固定值部分;
模板合成器,用于在數(shù)據(jù)生成器的控制下,根據(jù)所述變量的類型以及所 述變量的生成方式,生成真實(shí)的數(shù)據(jù),依次用真實(shí)的數(shù)據(jù)替換所述變量,生 成批量測試數(shù)據(jù)的動(dòng)態(tài)部分,根據(jù)所述固定值部分生成批量測試數(shù)據(jù)的靜態(tài) 部分;合并所述測試數(shù)據(jù)的動(dòng)態(tài)部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);
文件存儲(chǔ)器,用于在數(shù)據(jù)生成器的控制下,將所述批量的測試數(shù)據(jù)存儲(chǔ) 到結(jié)果文件中。
其中,所述變量的生成方式包括以數(shù)值的方式遞增或遞減,以字符的方 式遞增或遞減,或者,由多個(gè)值構(gòu)成且有幾個(gè)值就生成幾條記錄,且可以嵌 套。
應(yīng)用本發(fā)明,即便是一個(gè)不懂?dāng)?shù)據(jù)庫的人,也可以在很短的時(shí)間內(nèi)生成 大量的復(fù)雜的測試數(shù)據(jù),并可以確保生成的數(shù)據(jù)是正確的,同時(shí),可以準(zhǔn)確 地處理多表關(guān)聯(lián)的數(shù)據(jù)。不但提高了工作效率,而且降低了測試數(shù)據(jù)的出錯(cuò) 幾率。應(yīng)用本發(fā)明實(shí)施例提供的方法、系統(tǒng)和裝置,筒單、靈活,可以創(chuàng)造 任何復(fù)雜的數(shù)據(jù),從而滿足各種復(fù)雜的業(yè)務(wù)需求。


為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有 技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附 圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng) 造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明實(shí)施例的批量生成測試數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)示意圖; 圖2是根據(jù)本發(fā)明實(shí)施例的測試數(shù)據(jù)生成裝置的結(jié)構(gòu)示意圖;圖3是根據(jù)本發(fā)明實(shí)施例的批量生成測試數(shù)據(jù)的流程圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而 不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作 出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參見圖1,其是根據(jù)本發(fā)明實(shí)施例的批量生成測試數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)示意
圖,該系統(tǒng)包括
配置單元101,用于設(shè)置模板文件,所述模板文件包括待生成測試數(shù)據(jù) 的原始語句,所述原始語句中包含用變量表示的測試凄t據(jù)的動(dòng)態(tài)變化部分以 及固定值部分。所述模板文件位于計(jì)算機(jī)本地的硬盤等存儲(chǔ)器中。
測試數(shù)據(jù)生成裝置102,用于解析所述才莫板文件,識(shí)別所述才莫板文件中 的變量和固定值部分;根據(jù)所述變量的類型以及所述變量的生成方式,生成 真實(shí)的數(shù)據(jù),依次用真實(shí)的數(shù)據(jù)替換所述變量,生成批量測試數(shù)據(jù)的動(dòng)態(tài)部 分,根據(jù)所述固定值部分生成批量測試數(shù)據(jù)的靜態(tài)部分;合并所述測試數(shù)據(jù) 的動(dòng)態(tài)部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);將所述批量的測試數(shù)據(jù)存儲(chǔ) 到結(jié)果文件中。所述結(jié)果文件位于計(jì)算機(jī)本地的硬盤等存儲(chǔ)器中。
也就是說,操作人員需要通過配置單元在模板文件中編寫要生成的SQL 語句的模板,其中需要?jiǎng)討B(tài)變化的字段用變量表示,而不需變化的字段用固 定值部分表示;然后運(yùn)行測試數(shù)據(jù)生成裝置,由測試數(shù)據(jù)生成裝置自動(dòng)讀取 模板文件,并對(duì)其中的變量進(jìn)行解釋,根據(jù)模板生成最終的SQL語句;最后 測試數(shù)據(jù)生成裝置將生成的SQL語句保存到結(jié)果文件中。本實(shí)施例是以SQL 語句為例進(jìn)行說明,在實(shí)際應(yīng)用中可以是各種編輯凝:據(jù)庫的工具,如PL、 SQL 等等,本發(fā)明并不對(duì)具體使用的語言進(jìn)行限定。
上述批量生成測試數(shù)據(jù)的系統(tǒng)還可以包括導(dǎo)入單元(圖未示),用于將所 述結(jié)果文件中的批量測試數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中存在關(guān)聯(lián)關(guān)系的各個(gè)數(shù)據(jù)表 中。例如,假設(shè)USER數(shù)據(jù)表中存在用戶名(NAME)和標(biāo)識(shí)(ID)這兩個(gè)變量,
而用戶名(NAME)變量在兩個(gè)表中相同,那么USER數(shù)據(jù)表和USER ADDR數(shù)據(jù)表就是存在關(guān)聯(lián)關(guān)系的兩個(gè)表。也就是說,可以通過PL/SQL等工具將
結(jié)果文件中的SQL語句直接導(dǎo)入數(shù)據(jù)庫中。
上述變量的生成方式包括但不限于以下三種方式之一或任意組合 方式一、以數(shù)值的方式遞增或遞減,如基數(shù)為value值,該類型的變量
每次變化過程是在value的基礎(chǔ)上增加一 固定值或減少一固定值, <叚設(shè)value
為10000,變量每次變化后可依次為10001、 10002等;
方式二、以字符的方式遞增或遞減,如以字符為"張三",基數(shù)為o為例, 該類型的變量每次變化過程是在字符"張三"不變的情況下讓已設(shè)定的基數(shù) 增加一固定值或減少一固定值,如變量每次變化后可以依次為"張三r、"張
三2"等;
方式三、由多個(gè)值構(gòu)成,有幾個(gè)值就生成幾條記錄,且可以嵌套,如一 個(gè)用戶有同一用戶名命名的多個(gè)郵箱,此處的多個(gè)郵箱相當(dāng)于多個(gè)值,而用 戶名本身又是一個(gè)變量,其可以嵌套于郵箱之中,這樣就可以生成多條記錄, 例如,對(duì)于用戶名"張三1",可生成的郵箱有"張三l@yahoo.cn"、"張三 l@msn.com"等多條記錄。
參見圖2,其是根據(jù)本發(fā)明實(shí)施例的測試數(shù)據(jù)生成裝置的結(jié)構(gòu)示意圖,其 包括
數(shù)據(jù)生成器(DataGenerator) 201,用于協(xié)調(diào)模板解析器、模板合成器和 文件存儲(chǔ)器配合操作;也就是說,數(shù)據(jù)生成器是整個(gè)裝置的入口,負(fù)責(zé)協(xié)調(diào) 模板解析器、模板合成器和文件存儲(chǔ)器共同完成測試數(shù)據(jù)生成任務(wù)。
模板解析器(TemplateParser) 202,用于在數(shù)據(jù)生成器的控制下,解析 已配置的模板文件,識(shí)劉所述模板文件中的變量和固定值部分;
才莫板文件就是一個(gè)普通的文本文件,定義了測試數(shù)據(jù)的原始語句,動(dòng)態(tài) 部分用變量表示,靜態(tài)部分用固定值表示。整個(gè)裝置就根據(jù)這個(gè)沖莫4反文件來 生成最終的測試數(shù)據(jù)。
模板合成器(TemplateMerger) 203,用于在數(shù)據(jù)生成器的控制下,根據(jù) 所述變量的類型以及所述變量的生成方式,生成真實(shí)的數(shù)據(jù),依次用真實(shí)的 數(shù)據(jù)替換所述變量,生成批量測試數(shù)據(jù)的動(dòng)態(tài)部分,4艮據(jù)所述固定值部分生 成批量測試數(shù)據(jù)的靜態(tài)部分;合并所述測試數(shù)據(jù)的動(dòng)態(tài)部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);
上述,生成真實(shí)數(shù)據(jù)的過程,也就是根據(jù)具體已設(shè)定的變量的類型以及 變量的生成方式,在變量每次變化后得到的結(jié)果,例如,對(duì)于變量的生成方
式為以數(shù)值的方式遞增或遞減時(shí),當(dāng)基數(shù)value的值為10000時(shí),該類型的 變量每次變化后生成的真實(shí)數(shù)據(jù)依次為10001、 10002等;其他的變量生成方 式不再舉例i兌明。
文件存儲(chǔ)器(FileStorer) 204,用于在凄t據(jù)生成器的控制下,將所述批量 的測試數(shù)據(jù)存儲(chǔ)到位于本地的結(jié)果文件中。該本地可以是如硬盤等存儲(chǔ)器。
結(jié)果文件也是一個(gè)普通地文本文件,保存最終生成的測試數(shù)據(jù)。這些數(shù) 據(jù)可以直接導(dǎo)入數(shù)據(jù)庫中使用。
上述變量的生成方式包括以數(shù)值的方式遞增或遞減,以字符的方式遞增 或遞減,或者,由多個(gè)值構(gòu)成且有幾個(gè)值就生成幾條記錄,且可以嵌套。
參見圖3,其是根據(jù)本發(fā)明實(shí)施例的批量生成測試數(shù)據(jù)的流程圖。
步驟l,設(shè)置模板文件,所述模板文件包括待生成測試數(shù)據(jù)的原始語句, 所述原始語句中包含用變量表示的測試凌t據(jù)的動(dòng)態(tài)變化部分以及固定值部 分;本例中,模板文件具體如下,其中#表示解釋說明性語句,sql表示模板 文件中實(shí)際的原始語句
弁向USER表中插入一條數(shù)據(jù),id和name都是變量
sql.create.l=INSERT INTO USER(ID,NAME) VALUES ({id},{name});
弁向USER一ADD樣中增加一條數(shù)據(jù),id和email是變量,country是固定值 "中國"
sql.create.2=INSERT INTO USER一ADDR(ID,COUNTRY,EMAIL) VALUES ((id》,"中國",(email));
弁下面三行表示第一個(gè)變量的名字是id,類型是A,值為1000000。對(duì)于A 類變量,值以數(shù)值的方式遞增,基數(shù)為value的值。 sql.param. 1 .name=id sql.param. 1 .type=A sql.param. 1 .value=l 000000弁下面三行表示第二個(gè)變量的名字是name,類型是B,值為"張三"。對(duì)于 B類變量,值以字符的方式遞增,基數(shù)為0。 sql.param.2.name=name sql.param.2.type=B sql.param.2.value:張三
存下面三行表示第三個(gè)變量的名字是email,類型是C。對(duì)于C類變量,可 以包括多個(gè)值,有幾個(gè)值就生成幾條記錄,而且變量可以嵌套。 sql.param.3 .name-email sql.param.3 .type=C
sql.param.3 .value={name} @yahoo.cn, {name} @msn. com, {name} @alipay.c
om
#生成8組數(shù)據(jù) sql.num=8
步驟2 5,數(shù)據(jù)生成器接收運(yùn)行請(qǐng)求,控制模板解析器開始操作,所述 才莫板解析器解析所述模板文件,識(shí)別所述模板文件中的變量和固定值部分; 具體的,模板解析器從模板文件中獲取原始語句,并對(duì)該原始語句進(jìn)行解析,
從而識(shí)別出模板文件中的變量和固定值部分。
步驟6,當(dāng)對(duì)模板文件解析完畢后,數(shù)據(jù)生成器控制模板合并器開始操 作,模板合并器根據(jù)所述變量的類型以及所述變量的生成方式,生成真實(shí)的
數(shù)據(jù),依次用真實(shí)的數(shù)據(jù)替換所述變量,生成批量測試數(shù)據(jù)的動(dòng)態(tài)部分,根 據(jù)所述固定值部分生成批量測試數(shù)據(jù)的靜態(tài)部分;合并所述測試數(shù)據(jù)的動(dòng)態(tài) 部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);
所述變量的生成方式包括以數(shù)值的方式遞增或遞減,以字符的方式遞增 或遞減,或者,由多個(gè)值構(gòu)成且有幾個(gè)值就生成幾條記錄,且可以嵌套。步驟7 8,生成批量的測試數(shù)據(jù)后,數(shù)據(jù)生成器控制文件存儲(chǔ)器開始操 作,文件存儲(chǔ)器將所述批量的測試數(shù)據(jù)存儲(chǔ)到結(jié)果文件中。
針對(duì)前述模板文件,所生成的測試數(shù)據(jù)如下
INSERT INTO USER(ID,NAME) VALUES (1000000,'張三0');
INSERT INTO USER一ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三0⑨yahoo.cn'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三0(gmsn.com'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (1000000,'中國','張三0②alipay.com');
INSERT INTO USER(ID,NAME) VALUES (100000l,'張三l');
INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (1000000,'中國','張三l@yahoo.cn'); INSERT INTO USER一ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三l@msn.com'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三l@alipay.com');
INSERT INTO USER(ID,NAME) VALUES (1000002,'張三2');
INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三2⑥yahoo.cn'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三2(gmsn.com'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三2⑨alipay.com');
INSERT INTO USER(ID,NAME) VALUES (1000003,'張三3');
INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三3⑨yahoo.cn'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三3@111311.(;0111'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三3⑨alipay.com');
INSERT INTO USER(ID,NAME) VALUES (1000004,'張三4');
INSERT INTO USER一ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三4⑨yahoo.cn'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三4(gmsn.com'); INSERT INTO USER一ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三4⑨alipay.com');
INSERT INTO USER(ID,NAME) VALUES (1000005,'張三5');INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三5⑨yahoo.cn'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三5(^msn.com'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (1000000,'中國','張三5⑨alipay.com');
INSERT INTO USER(ID,NAME) VALUES (1000006,'張三6');
INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三6⑨yahoo.cn'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三6②msn.com'); INSERT INTO USER一ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三6⑨alipay.com');
INSERT INTO USER(ID,NAME) VALUES (1000007,'張三7');
INSERT INTO USER一ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三7②yahoo.cn'); INSERT INTO USER—ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三7(gmsn.com'); INSERT INTO USER_ADDR(ID,COUNTRY,EMAIL) VALUES (IOOOOOO,'中國','張三7⑥alipay.com');
commit;
至此,根據(jù)上面配置的模板文件生成了8組測試數(shù)據(jù),完成了批量測試數(shù) 據(jù)的生成操作。上述批量測試數(shù)據(jù)每組4條,其中1條是主表數(shù)據(jù)即針對(duì)USER 表的數(shù)據(jù),其余3條是與USER^存在關(guān)聯(lián)的關(guān)聯(lián)表數(shù)據(jù)即針對(duì)USER一ADDR 表的數(shù)據(jù)。
在此之后還可以包4舌
步驟9 ,將所述結(jié)果文件中的批量測試數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中存在關(guān)聯(lián)關(guān)系 的各個(gè)數(shù)據(jù)表中。
應(yīng)用本發(fā)明提供的方法、系統(tǒng)和裝置,即便是一個(gè)不懂?dāng)?shù)據(jù)庫的人,也 可以在很短的時(shí)間內(nèi)生成大量的復(fù)雜的測試數(shù)據(jù),并可以確保生成的數(shù)據(jù)是 正確的,同時(shí),可以準(zhǔn)確地處理多表關(guān)聯(lián)的數(shù)據(jù)。不但提高了工作效率,而 且降低了測試數(shù)據(jù)的出錯(cuò)幾率。應(yīng)用本發(fā)明實(shí)施例提供的方法、系統(tǒng)和裝置, 筒單、靈活,可以創(chuàng)造任何復(fù)雜的數(shù)據(jù),從而滿足各種復(fù)雜的業(yè)務(wù)需求。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步 驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,這里所稱得的存儲(chǔ)介質(zhì),如ROM/RAM、磁碟、光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范 圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均 包含在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1、一種批量生成測試數(shù)據(jù)的方法,其特征在于,包括設(shè)置模板文件,所述模板文件包括待生成測試數(shù)據(jù)的原始語句,所述原始語句中包含用變量表示的測試數(shù)據(jù)的動(dòng)態(tài)變化部分以及固定值部分;所述方法還包括由數(shù)據(jù)生成器協(xié)調(diào)模板解析器、模板合成器和文件存儲(chǔ)器配合操作,其中,模板解析器解析所述模板文件,識(shí)別所述模板文件中的變量和固定值部分;模板合成器根據(jù)所述變量的類型以及所述變量的生成方式,生成真實(shí)的數(shù)據(jù),依次用真實(shí)的數(shù)據(jù)替換所述變量,生成批量測試數(shù)據(jù)的動(dòng)態(tài)部分,根據(jù)所述固定值部分生成批量測試數(shù)據(jù)的靜態(tài)部分;合并所述測試數(shù)據(jù)的動(dòng)態(tài)部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);文件存儲(chǔ)器將所述批量的測試數(shù)據(jù)存儲(chǔ)到結(jié)果文件中。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括將所述結(jié)果文件 中的批量測試數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫的內(nèi)存在關(guān)聯(lián)的各個(gè)表中。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述變量的生成方式包括 以數(shù)值的方式遞增或遞減,以字符的方式遞增或遞減,或者,由多個(gè)值構(gòu)成 且有幾個(gè)值就生成幾條記錄,且可以嵌套。
4、 一種批量生成測試數(shù)據(jù)的系統(tǒng),其特征在于,包括配置單元,用于設(shè)置模板文件,所述模板文件包括待生成測試數(shù)據(jù)的原 始語句,所述原始語句中包含用變量表示的測試數(shù)據(jù)的動(dòng)態(tài)變化部分以及固 定值部分;測試數(shù)據(jù)生成裝置,用于解析所述才莫4反文件,識(shí)別所述沖莫板文件中的變 量和固定值部分;根據(jù)所述變量的類型以及所述變量的生成方式,生成真實(shí) 的數(shù)據(jù),依次用真實(shí)的數(shù)據(jù)替換所述變量,生成批量測試數(shù)據(jù)的動(dòng)態(tài)部分, 根據(jù)所述固定值部分生成批量測試數(shù)據(jù)的靜態(tài)部分;合并所述測試數(shù)據(jù)的動(dòng) 態(tài)部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);將所述批量的測試數(shù)據(jù)存儲(chǔ)到結(jié) 果文件中。
5、 根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 導(dǎo)入單元,用于將所述結(jié)果文件中的批量測試數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫的內(nèi)存在關(guān)聯(lián)的各個(gè)表中。
6、 根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述變量的生成方式包括 以數(shù)值的方式遞增或遞減,以字符的方式遞增或遞減,或者,由多個(gè)值構(gòu)成 且有幾個(gè)值就生成幾條記錄,且可以嵌套。
7、 一種測試數(shù)據(jù)生成裝置,其特征在于,包括數(shù)據(jù)生成器,用于協(xié)調(diào)模板解析器、模板合成器和文件存儲(chǔ)器配合操作;模板解析器,用于在數(shù)據(jù)生成器的控制下,解析已配置的模板文件,識(shí) 別所述模板文件中的變量和固定值部分;模板合成器,用于在數(shù)據(jù)生成器的控制下,根據(jù)所述變量的類型以及所 述變量的生成方式,生成真實(shí)的數(shù)據(jù),依次用真實(shí)的數(shù)據(jù)替換所述變量,生 成批量測試數(shù)據(jù)的動(dòng)態(tài)部分,根據(jù)所述固定值部分生成批量測試數(shù)據(jù)的靜態(tài) 部分;合并所述測試數(shù)據(jù)的動(dòng)態(tài)部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);文件存儲(chǔ)器,用于在數(shù)據(jù)生成器的控制下,將所述批量的測試數(shù)據(jù)存儲(chǔ) 到結(jié)果文件中。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述變量的生成方式包括 以數(shù)值的方式遞增或遞減,以字符的方式遞增或遞減,或者,由多個(gè)值構(gòu)成 且有幾個(gè)值就生成幾條記錄,且可以嵌套。
全文摘要
本發(fā)明公開了一種批量生成測試數(shù)據(jù)的方法、系統(tǒng)和裝置,所述方法包括設(shè)置模板文件,所述模板文件包括待生成測試數(shù)據(jù)的原始語句,所述原始語句中包含用變量表示的測試數(shù)據(jù)的動(dòng)態(tài)變化部分以及固定值部分;所述方法還包括解析所述模板文件,識(shí)別所述模板文件中的變量和固定值部分;根據(jù)所述變量的類型以及所述變量的生成方式,依次用真實(shí)的數(shù)據(jù)替換所述變量,生成批量測試數(shù)據(jù)的動(dòng)態(tài)部分,根據(jù)所述固定值部分生成批量測試數(shù)據(jù)的靜態(tài)部分;合并所述測試數(shù)據(jù)的動(dòng)態(tài)部分和靜態(tài)部分,生成批量的測試數(shù)據(jù);將所述批量的測試數(shù)據(jù)存儲(chǔ)到結(jié)果文件中。應(yīng)用本發(fā)明,可以確保生成的數(shù)據(jù)是正確的,同時(shí),可以準(zhǔn)確地處理多表關(guān)聯(lián)的數(shù)據(jù)。
文檔編號(hào)G06F11/36GK101430661SQ200810180930
公開日2009年5月13日 申請(qǐng)日期2008年11月18日 優(yōu)先權(quán)日2008年11月18日
發(fā)明者尤占濤 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1