本申請涉及數(shù)據(jù)庫測試領(lǐng)域,尤其涉及一種數(shù)據(jù)庫測試方法、系統(tǒng)及電子設(shè)備。
背景技術(shù):
1、隨著數(shù)據(jù)庫技術(shù)的快速發(fā)展,數(shù)據(jù)庫版本更新已成為企業(yè)日常運營中不可或缺的一部分。然而,數(shù)據(jù)庫版本更新過程中,可能會存在各種問題,因此,如何有效的測試數(shù)據(jù)庫的穩(wěn)定性和可靠性成為了業(yè)內(nèi)亟待解決的問題。
技術(shù)實現(xiàn)思路
1、有鑒于此,本申請?zhí)峁┮环N數(shù)據(jù)庫測試方法、系統(tǒng)及電子設(shè)備,其具體方案如下:
2、一種數(shù)據(jù)庫測試方法,包括:
3、獲得結(jié)構(gòu)化查詢語句;
4、將所述結(jié)構(gòu)化查詢語句輸入至至少兩個目標(biāo)數(shù)據(jù)庫,以便所述至少兩個目標(biāo)數(shù)據(jù)庫分別執(zhí)行所述結(jié)構(gòu)化查詢語句,其中,所述至少兩個目標(biāo)數(shù)據(jù)庫為不同版本的數(shù)據(jù)庫;
5、獲得所述至少兩個目標(biāo)數(shù)據(jù)庫分別執(zhí)行所述結(jié)構(gòu)化查詢語句的執(zhí)行結(jié)果;
6、比較所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果,得到比較結(jié)果,以便基于所述比較結(jié)果確定所述至少兩個目標(biāo)數(shù)據(jù)庫是否符合需求,所述比較結(jié)果用于表征所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果是否相同。
7、進(jìn)一步的,所述獲得結(jié)構(gòu)化查詢語句,包括:
8、基于所述至少兩個目標(biāo)數(shù)據(jù)庫的特性生成隨機(jī)結(jié)構(gòu)化查詢語句;
9、或,
10、從配置數(shù)據(jù)庫中獲得結(jié)構(gòu)化查詢語句,所述配置數(shù)據(jù)庫中存儲的結(jié)構(gòu)化查詢語句為預(yù)先存儲的。
11、進(jìn)一步的,所述從配置數(shù)據(jù)庫中獲得結(jié)構(gòu)化查詢語句,包括:
12、獲得測試指令;
13、確定所述測試指令中是否包含重放標(biāo)識,所述重放標(biāo)識能夠表征待重放的結(jié)構(gòu)化查詢語句的標(biāo)識信息;
14、如果確定所述測試指令中包含所述重放標(biāo)識,從所述配置數(shù)據(jù)庫中獲得所述重放標(biāo)識對應(yīng)的待重放的結(jié)構(gòu)化查詢語句。
15、進(jìn)一步的,所述基于所述至少兩個目標(biāo)數(shù)據(jù)庫的特性生成隨機(jī)結(jié)構(gòu)化查詢語句,包括:
16、獲得測試指令;
17、如果確定所述測試指令中未包含重放標(biāo)識,基于所述至少兩個目標(biāo)數(shù)據(jù)庫的特性生成第一隨機(jī)結(jié)構(gòu)化查詢語句;
18、獲得配置數(shù)據(jù)庫中存儲的配置參數(shù);
19、如果確定所述第一隨機(jī)結(jié)構(gòu)化查詢語句中包括所述配置參數(shù)指定的待替換數(shù)據(jù),確定所述配置參數(shù)中的待替換數(shù)據(jù)對應(yīng)的替換值;
20、將所述第一隨機(jī)結(jié)構(gòu)化查詢語句中包括的所述待替換數(shù)據(jù)更改為所述替換值,得到第二隨機(jī)結(jié)構(gòu)化查詢語句,以便所述至少兩個目標(biāo)數(shù)據(jù)庫能夠執(zhí)行所述第二隨機(jī)結(jié)構(gòu)化查詢語句。
21、進(jìn)一步的,所述基于所述至少兩個目標(biāo)數(shù)據(jù)庫的特性生成第一隨機(jī)結(jié)構(gòu)化查詢語句,包括:
22、確定特定字段;
23、基于所述至少兩個目標(biāo)數(shù)據(jù)庫的特性生成按照所述特定字段進(jìn)行排序的第一隨機(jī)結(jié)構(gòu)化查詢語句。
24、進(jìn)一步的,所述比較所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果,得到比較結(jié)果,包括:
25、確定所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果中每個執(zhí)行結(jié)果的摘要信息;
26、比較所述每個執(zhí)行結(jié)果的摘要信息,得到比較結(jié)果。
27、進(jìn)一步的,還包括:
28、如果所述比較結(jié)果表征所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果不一致,獲得配置數(shù)據(jù)庫中存儲的目標(biāo)過濾參數(shù);
29、確定所述結(jié)構(gòu)化查詢語句滿足所述目標(biāo)過濾參數(shù),將所述結(jié)構(gòu)化查詢語句和/或所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果過濾。
30、進(jìn)一步的,還包括:
31、將所述比較結(jié)果以及所述比較結(jié)果對應(yīng)的結(jié)構(gòu)化查詢語句存儲至配置數(shù)據(jù)庫。
32、一種數(shù)據(jù)庫測試系統(tǒng),包括:
33、第一獲得單元,用于獲得結(jié)構(gòu)化查詢語句;
34、輸入單元,用于將所述結(jié)構(gòu)化查詢語句輸入至至少兩個目標(biāo)數(shù)據(jù)庫,以便所述至少兩個目標(biāo)數(shù)據(jù)庫分別執(zhí)行所述結(jié)構(gòu)化查詢語句,其中,所述至少兩個目標(biāo)數(shù)據(jù)庫為不同版本的數(shù)據(jù)庫;
35、第二獲得單元,用于獲得所述至少兩個目標(biāo)數(shù)據(jù)庫分別執(zhí)行所述結(jié)構(gòu)化查詢語句的執(zhí)行結(jié)果;
36、比較單元,用于比較所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果,得到比較結(jié)果,以便基于所述比較結(jié)果確定所述至少兩個目標(biāo)數(shù)據(jù)庫是否符合需求,所述比較結(jié)果用于表征所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果是否相同。
37、一種電子設(shè)備,包括:
38、處理器,用于獲得結(jié)構(gòu)化查詢語句;將所述結(jié)構(gòu)化查詢語句輸入至至少兩個目標(biāo)數(shù)據(jù)庫,以便所述至少兩個目標(biāo)數(shù)據(jù)庫分別執(zhí)行所述結(jié)構(gòu)化查詢語句,其中,所述至少兩個目標(biāo)數(shù)據(jù)庫為不同版本的數(shù)據(jù)庫;獲得所述至少兩個目標(biāo)數(shù)據(jù)庫分別執(zhí)行所述結(jié)構(gòu)化查詢語句的執(zhí)行結(jié)果;比較所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果,得到比較結(jié)果,以便基于所述比較結(jié)果確定所述至少兩個目標(biāo)數(shù)據(jù)庫是否符合需求,所述比較結(jié)果用于表征所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果是否相同;
39、存儲器,用于存儲所述處理器執(zhí)行上述處理過程的程序。
40、從上述技術(shù)方案可以看出,本申請公開的數(shù)據(jù)庫測試方法、系統(tǒng)及電子設(shè)備,獲得結(jié)構(gòu)化查詢語句;將結(jié)構(gòu)化查詢語句輸入至至少兩個目標(biāo)數(shù)據(jù)庫,以便至少兩個目標(biāo)數(shù)據(jù)庫分別執(zhí)行結(jié)構(gòu)化查詢語句,其中,至少兩個目標(biāo)數(shù)據(jù)庫為不同版本的數(shù)據(jù)庫;獲得至少兩個目標(biāo)數(shù)據(jù)庫分別執(zhí)行結(jié)構(gòu)化查詢語句的執(zhí)行結(jié)果;比較至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果,得到比較結(jié)果,以便基于比較結(jié)果確定至少兩個目標(biāo)數(shù)據(jù)庫是否符合需求,比較結(jié)果用于表征至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果是否相同。本方案在數(shù)據(jù)庫版本更新時,為了確定數(shù)據(jù)庫的版本更新是否出現(xiàn)異常,將同一個結(jié)構(gòu)化查詢語句分別輸入至至少兩個目標(biāo)數(shù)據(jù)庫,以使至少兩個目標(biāo)數(shù)據(jù)庫同時執(zhí)行相同的結(jié)構(gòu)化查詢語句,并得到執(zhí)行結(jié)果,基于至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果進(jìn)行比較,并確定執(zhí)行結(jié)果是否相同,以便能夠基于執(zhí)行結(jié)果是否相同的比較結(jié)果確定目標(biāo)數(shù)據(jù)庫版本更新是否異常,實現(xiàn)了對數(shù)據(jù)庫版本更新后穩(wěn)定性及可靠性的測試,提高了數(shù)據(jù)庫版本更新后進(jìn)行測試的準(zhǔn)確率及效率,提高了用戶體驗。
1.一種數(shù)據(jù)庫測試方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得結(jié)構(gòu)化查詢語句,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述從配置數(shù)據(jù)庫中獲得結(jié)構(gòu)化查詢語句,包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述至少兩個目標(biāo)數(shù)據(jù)庫的特性生成隨機(jī)結(jié)構(gòu)化查詢語句,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述基于所述至少兩個目標(biāo)數(shù)據(jù)庫的特性生成第一隨機(jī)結(jié)構(gòu)化查詢語句,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述比較所述至少兩個目標(biāo)數(shù)據(jù)庫的執(zhí)行結(jié)果,得到比較結(jié)果,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
8.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括:
9.一種數(shù)據(jù)庫測試系統(tǒng),其特征在于,包括:
10.一種電子設(shè)備,其特征在于,包括: