System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據庫測試領域,尤其涉及一種關系型數據庫測試方法、裝置、電子設備、介質及產品。
技術介紹
1、在數據庫應用遷移、數據庫應用上線等場景下,為保證數據庫的性能和完整性,驗證數據庫真實能力和應用系統的真實能力,需要對數據庫進行測試。
2、目前,一些關系型數據庫測試方法,都是基于結構化查詢語句的語法規則直接生成結構化查詢測試語句;然而使用這種方法生成的測試語句對數據庫執行測試,得到的測試結果不準確,無法準確反映數據庫的特性。
技術實現思路
1、本申請提供一種關系型數據庫測試方法、裝置、電子設備、介質及產品,用以提高數據庫測試結果的準確性。
2、第一方面,本申請提供一種關系型數據庫測試方法,方法包括:根據待測試數據庫的測試目標,基于結構化查詢語句的語法規則生成結構化查詢框架語句;獲取待測試數據庫的數據元信息,基于數據元信息生成待測試數據庫的數據對象關系規則;數據對象關系規則表征數據對象之間的層級關系;根據結構化查詢框架語句和數據對象關系規則,組合生成結構化查詢測試語句;將結構化查詢測試語句發送至待測試數據庫端執行測試,生成測試結果。
3、在一種可能的實現方式中,根據待測試數據庫的測試目標,生成結構化查詢框架語句,包括:根據結構化查詢語句的語法規則,生成結構化查詢語句中的關鍵字及非關鍵字;根據測試目標,逐級解析非關鍵字,得到結構化查詢語句的主體框架;基于結構化查詢語言的主體框架,組合結構化查詢語句中的關鍵字,得到結構化查詢框架語句。
4
5、在一種可能的實現方式中,根據選擇查詢語句中需要填充的非關鍵字標簽,選取數據對象關系規則中與非關鍵字標簽一致的數據標簽下的數據對象填充至非關鍵字標簽部分,包括:若選擇查詢語句包含多個數據表標簽,則優先選取數據對象關系規則中有外鍵關系的數據表進行填充;若無外鍵關系,則選取包含相同數據類型列名的數據表進行填充;若選擇查詢語句不包含多個數據表標簽,則選取數據對象關系規則中的任一數據架構模式節點,選取該架構模式節點下與結構化查詢框架語句的非關鍵字標簽一致的數據對象填充至非關鍵字標簽;若被選中數據架構模式節點含有數據表標簽,則選取該數據表標簽節點下的數據對象填充至非關鍵字標簽。
6、在一種可能的實現方式中,方法還包括:若選擇查詢語句中包括篩選語句,且篩選語句的子句包含第一實際值標簽,則根據待測試數據庫,選取對應第一實際值標簽數量的值,填充至對應的第一實際值標簽;若選擇查詢語句中的非篩選語句的子句包含第二實際值標簽,則根據第二實際值標簽前置的列名稱標簽類型,通過隨機函數生成對應第二實際值標簽數量的隨機值填充至第二實際值標簽。
7、在一種可能的實現方式中,根據待測試數據庫,選取對應第一實際值標簽數量的值,包括:根據選擇查詢語句的數據表標簽和篩選語句,生成查詢語句;將查詢語句發送至待測試數據庫,執行數據查詢,得到查詢結果;在查詢結果中隨機選取對應第一實際值標簽數量的值。
8、在一種可能的實現方式中,根據結構化查詢框架語句和數據對象關系規則,組合生成結構化查詢測試語句,具體還包括:若結構化查詢框架語句為創建語句,則針對創建語句中的選擇查詢語句的子句執行第一處理流程,針對創建語句中的其他語句執行第二處理流程;第二處理流程包括:根據數據對象關系規則隨機生成數據對象,將得到的數據對象填充至結構化查詢框架語句中的非關鍵字標簽部分。
9、在一種可能的實現方式中,根據結構化查詢框架語句和數據對象關系規則,組合生成結構化查詢測試語句,具體還包括:若結構化查詢框架語句既不為選擇查詢語句也不為創建語句,則執行第三處理流程;第三處理流程包括選取數據對象關系規則中的任一數據架構模式節點下的數據對象填充至非關鍵字標簽部分。
10、在一種可能的實現方式中,選擇查詢語句中包括不同層級下的非關鍵字標簽;方法還包括:針對處于同一層級下的非關鍵字標簽,從數據對象關系規則中對應的數據層級節點下的數據對象中選取需填充至該非關鍵字標簽的數據對象。
11、在一種可能的實現方式中,保存結構化查詢測試語句至指定文件。
12、在一種可能的實現方式中,方法還包括:根據本次測試結果,修正結構化查詢語句的語法規則。
13、第二方面,本申請提供一種關系型數據庫測試裝置,裝置包括:生成模塊,用于根據待測試數據庫的測試目標,基于結構化查詢語句的語法規則生成結構化查詢框架語句;生成模塊,還用于獲取待測試數據庫的數據元信息,基于數據元信息生成待測試數據庫的數據對象關系規則;數據對象關系規則表征數據對象之間的層級關系;組合模塊,用于根據結構化查詢框架語句和數據對象關系規則,組合生成結構化查詢測試語句;測試模塊,用于將結構化查詢測試語句發送至待測試數據庫端執行測試,生成測試結果。
14、第三方面,本申請提供一種電子設備,包括:處理器,以及與處理器通信連接的存儲器;存儲器存儲計算機執行指令;處理器執行存儲器存儲的計算機執行指令,以實現如上的方法。
15、第四方面,本申請提供一種計算機可讀存儲介質,計算機可讀存儲介質中存儲有計算機執行指令,計算機執行指令被處理器執行時用于實現如上的方法。
16、第五方面,本申請提供一種計算機程序產品,包括計算機程序,該計算機程序被處理器執行時用于實現如上的方法。
17、本申請提供的關系型數據庫測試方法、裝置、電子設備、介質及產品中,通過根據待測試數據庫的測試目標,基于結構化查詢語句的語法規則生成結構化查詢框架語句;獲取待測試數據庫的數據元信息,基于數據元信息生成待測試數據庫的數據對象關系規則;其中,數據對象關系規則表征數據對象之間的層級關系;根據結構化查詢框架語句和數據對象關系規則,組合生成結構化查詢測試語句;將結構化查詢測試語句發送至待測試數據庫端執行測試,生成測試結果。本申請的方案基于數據庫的真實數據對象與結構化框架語句進行組合,使得生成的結構化測試語句更加準確,使用該結構化測試語句對數據庫執行測試,得到的測試結果更準確,該測試結果可以更加準確反映出數據庫的特性。
本文檔來自技高網...【技術保護點】
1.一種關系型數據庫測試方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述根據待測試數據庫的測試目標,生成結構化查詢框架語句,包括:
3.根據權利要求1所述的方法,其特征在于,所述結構化查詢框架語句中的非關鍵字標簽與所述數據對象關系規則的數據標簽一致;所述根據所述結構化查詢框架語句和所述數據對象關系規則,組合生成結構化查詢測試語句,具體包括:
4.根據權利要求3所述的方法,其特征在于,所述根據所述選擇查詢語句中需要填充的非關鍵字標簽,選取數據對象關系規則中與所述非關鍵字標簽一致的數據標簽下的數據對象填充至所述非關鍵字標簽部分,包括:
5.根據權利要求4所述的方法,其特征在于,所述方法還包括:
6.根據權利要求5所述的方法,其特征在于,所述根據所述待測試數據庫,選取對應第一實際值標簽數量的值,包括:
7.根據權利要求3所述的方法,其特征在于,所述根據所述結構化查詢框架語句和所述數據對象關系規則,組合生成結構化查詢測試語句,具體還包括:
8.根據權利要求3所述的方法,其特
9.根據權利要求3所述的方法,其特征在于,所述選擇查詢語句中包括不同層級下的非關鍵字標簽,所述方法還包括:
10.根據權利要求1所述的方法,其特征在于,所述方法還包括:
11.根據權利要求1-10任一項所述的方法,其特征在于,所述方法還包括:
12.一種關系型數據庫測試裝置,其特征在于,所述裝置包括:
13.一種電子設備,其特征在于,包括:處理器,以及與所述處理器通信連接的存儲器;
14.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質中存儲有計算機執行指令,所述計算機執行指令被處理器執行時用于實現如權利要求1-11中任一項所述的方法。
15.一種計算機程序產品,其特征在于,包括計算機程序,該計算機程序被處理器執行時實現權利要求1-11中任一項所述的方法。
...【技術特征摘要】
1.一種關系型數據庫測試方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述根據待測試數據庫的測試目標,生成結構化查詢框架語句,包括:
3.根據權利要求1所述的方法,其特征在于,所述結構化查詢框架語句中的非關鍵字標簽與所述數據對象關系規則的數據標簽一致;所述根據所述結構化查詢框架語句和所述數據對象關系規則,組合生成結構化查詢測試語句,具體包括:
4.根據權利要求3所述的方法,其特征在于,所述根據所述選擇查詢語句中需要填充的非關鍵字標簽,選取數據對象關系規則中與所述非關鍵字標簽一致的數據標簽下的數據對象填充至所述非關鍵字標簽部分,包括:
5.根據權利要求4所述的方法,其特征在于,所述方法還包括:
6.根據權利要求5所述的方法,其特征在于,所述根據所述待測試數據庫,選取對應第一實際值標簽數量的值,包括:
7.根據權利要求3所述的方法,其特征在于,所述根據所述結構化查詢框架語句和所述數據對象關系規則,組合生成結構化查詢測試...
【專利技術屬性】
技術研發人員:劉雪風,阮青松,
申請(專利權)人:中電科金倉北京科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。