一種自動化測試方法及系統的制作方法
【專利摘要】本發明公開了一種自動化測試方法及系統,其中,該方法包括:接收測試人員配置的測試指令;根據所述測試指令執行相應的測試程序,進行測試數據處理、測試,獲取測試結果。本發明的自動化測試方法及系統,可以包含測試數據生成、批量作業監控、數據掃描、數據核對四大部分的一體化測試,通過執行相應的測試程序,獲得相應的測試結果,實現批量數據加工功能的自動化測試。
【專利說明】
一種自動化測試方法及系統
技術領域
[0001]本發明涉及數據庫領域,尤指一種自動化測試方法及系統。
【背景技術】
[0002]目前,傳統的數據測試一般采取手工埋數、等價類的手工測試方法,測試覆蓋率低,只能在工作時間進行測試,且不能及時發現嚴重缺陷,缺陷逃逸情況普遍。
[0003]現有技術中,通常是利用一些測試工具進行數據測試和分析,而本領域中并沒有一套完整的批量加工功能自動化測試工具,只有零散的一些命令,如Oracle數據庫有Minus命令,可以比對目標數據和源數據等。
【發明內容】
[0004]為克服現有數據測試領域存在的不足,解決以上批量加工功能的測試不便問題,本發明設計了本批量加工功能自動化測試工具。
[0005]具體的,本發明提出了一種自動化測試方法及系統。該數據測試工具以常用的Excel與測試人員進行友好交互,測試人員僅須在Excel中完成配置及指定預期測試結果,該工具就能完成豐富測試數據的生成、測試環境的實時監控、待測數據加工邏輯的精確完整驗證,并以Excel的形式展示給測試人員。本工具可以使用命令行進行調用,即測試人員可以定時執行該工具。同時本工具是跨平臺的,可以對來自不同數據源的數據進行監控比對,如數據文件、Oracle及Mysql數據庫、HDFS、MongoDB大數據系統。
[0006]本發明提出的自動化測試方法包括:接收測試人員配置的測試指令;根據所述測試指令執行相應的測試程序,進行測試數據處理、測試,獲取測試結果。
[0007]進一步的,測試指令包括:跨平臺數據監控比對指令、測試數據文件生成指令、批量作業監控指令、數據掃描指令、表結構核對指令、數據核對指令、列維度數據映射邏輯驗證指令或表維度數據映射邏輯驗證指令。
[0008]進一步的,當所述測試指令為跨平臺數據監控比對指令時,配置監控比對的數據源,根據該跨平臺數據監控比對指令訪問對應的文件、O r a c I e及M y s q I數據庫、H D F S、MongoDB大數據系統,獲取監控比對結果。
[0009]進一步的,當所述測試指令為測試數據文件生成指令時,根據待測系統中存儲的測試數據文件,按需求修改測試數據文件的關鍵字段,包括日期、機構、或文件類型、編碼格式等,并生成新的測試數據文件。
[0010]進一步的,在所述生成測試數據文件的同時,通過創建空文件或自定義包含正常值、特殊字符、邊界值、錯誤值、非空、超長數據、主鍵沖突在內的業務數據文件,驗證待測系統的健壯性,獲取待測系統的測試結果。
[0011]進一步的,當所述測試指令為批量作業監控指令時,根據測試人員配置的掃描批量作業的結構化查詢語句,檢測批量作業狀態和批量作業日志,獲取批量作業測試結果,并將反復或一次性執行獲取的批量作業測試結果導入測試報告。
[0012]進一步的,當所述測試指令為數據掃描指令時,根據測試人員配置的信息自動拼接生成結構化查詢語句,執行該結構化查詢語句檢測空表、空列、各枚舉值占比、數據區域分布、特征值,獲取數據掃描測試結果。
[0013]進一步的,當所述測試指令為表結構核對指令時,根據測試人員錄入的預期表結構或根據表與表、列與列的對應關系,自動檢測表結構,獲取表結構核對結果。
[0014]進一步的,當所述測試指令為數據核對指令時,根據測試人員配置的預期目標表表名、列名、數據值,查找是否存在對應的數據,并記錄數據條數,生成測試數據情況及目標表的數據值測試結果。
[0015]進一步的,當所述測試指令為列維度數據映射邏輯驗證指令時,根據測試人員輸入的目標表和源表的列和列映射關系,自動拼接生成結構化查詢語句進行列維度數據映射邏輯驗證,獲取列維度數據映射邏輯驗證結果。
[0016]進一步的,當所述測試指令為表維度數據映射邏輯驗證指令時,根據目標表與源表的映射關系,自動拼接生成結構化查詢語句進行表維度數據映射邏輯驗證,獲取表維度數據映射邏輯驗證結果。
[0017]本發明提出的自動化測試系統用于執行上述自動化測試方法,其中,該系統包括:指令接收模塊,用于接收測試人員配置的測試指令;測試模塊,用于根據所述測試指令執行相應的測試程序,進行測試數據處理、測試,獲取測試結果。
[0018]本發明的自動化測試方法及系統,可以包含測試數據生成、批量作業監控、數據掃描、數據核對四大部分的一體化測試,通過執行相應的測試程序,獲得相應的測試結果,實現批量功能的自動化測試。
【附圖說明】
[0019]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,并不構成對本發明的限定。在附圖中:
[0020]圖1為本發明一實施例的自動化測試方法流程圖。
[0021]圖2為本發明一實施例的自動化測試系統結構示意圖。
[0022]圖3為本發明第一具體實施例的測試人員配置的監控比對數據源的表格樣例圖。
[0023]圖4為本發明第二具體實施例的生成測試數據文件的主配置界面的表格樣例圖。
[0024]圖5為本發明第二具體實施例的生成特殊測試數據文件的配置界面的表格樣例圖。
[0025]圖6為本發明第三具體實施例的批量作業監控的配置界面的表格樣例圖。
[0026]圖7為本發明第三具體實施例的測試報告的表格樣例圖。
[0027]圖8為本發明第四具體實施例的數據掃描的配置界面的表格樣例圖。
[0028]圖9為本發明第四具體實施例的測試結果表格樣例圖。
[0029]圖10為本發明第五具體實施例的測試人員錄入的預期表結構信息的表格樣例圖。
[0030]圖11為本發明第五具體實施例的測試結果的表格樣例圖。
[0031]圖12為本發明第六具體實施例的預期結果表內容的配置界面的表格樣例圖。
[0032]圖13為本發明第七具體實施例的測試人員輸入的目標表和源表的列和列映射關系的表格樣例圖。
[0033]圖14為本發明第七具體實施例的測試結果的表格樣例圖。
[0034]圖15為本發明第八具體實施例的測試人員輸入的目標表和源表的列和列映射關系的表格樣例圖。
【具體實施方式】
[0035]以下配合圖示及本發明的較佳實施例,進一步闡述本發明為達成預定發明目的所采取的技術手段。
[0036]圖1為本發明一實施例的自動化測試方法流程圖。如圖1所示,該方法包括:
[0037]步驟SlOl,接收測試人員配置的測試指令;
[0038]步驟S102,根據所述測試指令執行相應的測試程序,進行測試數據處理、測試,獲取測試結果。
[0039]基于同一發明構思,本發明實施例中還提供了一種執行上述自動化測試方法的自動化測試系統,如圖2所示,為本發明一實施例的自動化測試系統結構示意圖。其中,該系統包括:
[0040]指令接收模塊100,用于接收測試人員配置的測試指令;
[0041]測試模塊200,用于根據所述測試指令執行相應的測試程序,進行測試數據處理、測試,獲取測試結果。
[0042]其中,測試人員配置的測試指令包括:1.跨平臺數據監控比對指令、2.測試數據文件生成指令、3.批量作業監控指令、4.數據掃描指令、5.表結構核對指令、6.數據核對指令、
7.列維度數據映射邏輯驗證指令、8.表維度數據映射邏輯驗證指令。
[0043]1.當測試人員輸入跨平臺數據監控比對指令時,由測試系統配置監控比對的數據源,根據該跨平臺數據監控比對指令訪問對應的文件、O r a c I e及M y s q I數據庫、H D F S、MongoDB大數據系統,獲取監控比對結果。
[0044]在一具體實施例中,參考圖3所示,為測試人員配置的監控比對數據源的表格樣例圖。
[0045]2.當測試人員輸入測試數據文件生成指令時,根據待測系統中存儲的測試數據文件,按需求修改測試數據文件的關鍵字段,包括日期、機構、或文件類型、編碼格式等,并生成新的測試數據文件。
[0046]在一具體實施例中,主配置界面可以參考圖4所示,測試人員點擊“啟動造數”按鈕,測試系統就開始生成測試數據文件。
[0047]在所述生成測試數據文件的同時,通過創建空文件或自定義包含正常值、特殊字符、邊界值、錯誤值、非空、超長數據、主鍵沖突在內的業務數據文件,驗證待測系統的健壯性,獲取待測系統的測試結果。
[0048]在一具體實施例中,生成特殊測試數據的配置界面可以參考圖5所示。
[0049]3.當測試人員輸入批量作業監控指令時,根據測試人員配置的掃描批量作業的結構化查詢語句,檢測批量作業狀態和批量作業日志,獲取批量作業測試結果,并將反復或一次性執行獲取的批量作業測試結果導入測試報告。
[0050]在一具體實施例中,參考圖6所示,測試人員可以配置掃描JOB(批量作用)的SQL(結構化查詢語句),并點擊按鈕開始檢測。當掃描到有數據時,測試系統會彈出提示框進行提示。
[0051 ]參考圖7所不,為一測試報告的表格樣例圖。
[0052]4.當測試人員輸入數據掃描指令時,根據測試人員配置的信息自動拼接生成SQL,執行該SQL檢測空表、空列、各枚舉值占比、數據區域分布、特征值,獲取數據掃描測試結果。
[0053]在一具體實施例中,參考圖8所示,為數據掃描的配置界面的表格樣例圖,可以由測試人員按需求進行配置。測試結果可以參考圖9所示。
[0054]5.當測試人員輸入表結構核對指令時,根據測試人員錄入的預期表結構或根據表與表、列與列的對應關系,自動檢測表結構,獲取表結構核對結果。
[0055]在一具體實施例中,參考圖10所示,為測試人員錄入的預期表結構信息的表格樣例圖。對應的,測試結果可以參考圖11所示。
[0056]6.當測試人員輸入數據核對指令時,根據測試人員配置的預期目標表表名、列名、數據值,查找是否存在對應的數據,并記錄數據條數,生成測試數據情況及目標表的數據值測試結果。
[0057]在一具體實施例中,參考圖12所示,為預期結果表內容的配置界面的表格樣例圖,可以由測試人員按需求進行配置。注:數據值可以是EXCEL函數。
[0058]7.當測試人員輸入列維度數據映射邏輯驗證指令時,根據測試人員輸入的目標表和源表的列和列映射關系,自動拼接生成SQL進行列維度數據映射邏輯驗證,獲取列維度數據映射邏輯驗證結果。該功能類似開發設計文檔中的數據映射表。
[0059]在一具體實施例中,參考圖13所示,為測試人員輸入的目標表和源表的列和列映射關系的表格樣例圖。測試結果可以參考圖14所示。
[0060]8.當測試人員輸入表維度數據映射邏輯驗證指令時,根據目標表與源表的映射關系,自動拼接生成SQL進行表維度數據映射邏輯驗證,獲取表維度數據映射邏輯驗證結果。
[0061]在一具體實施例中,參考圖15所示,為測試人員輸入的目標表和源表的列和列映射關系的表格樣例圖。
[0062]本發明的自動化測試方法及系統,可以包含測試數據生成、批量作業監控、數據掃描、數據核對四大部分的一體化測試,通過執行相應的測試程序,獲得相應的測試結果,實現批量功能的自動化測試。
[0063]以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施例而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【主權項】
1.一種自動化測試方法,其特征在于,該方法包括: 接收測試人員配置的測試指令; 根據所述測試指令執行相應的測試程序,進行測試數據處理、測試,獲取測試結果。2.根據權利要求1所述的自動化測試方法,其特征在于,所述測試指令包括:跨平臺數據監控比對指令、測試數據文件生成指令、批量作業監控指令、數據掃描指令、表結構核對指令、數據核對指令、列維度數據映射邏輯驗證指令或表維度數據映射邏輯驗證指令。3.根據權利要求2所述的自動化測試方法,其特征在于,當所述測試指令為跨平臺數據監控比對指令時,配置監控比對的數據源,根據該跨平臺數據監控比對指令訪問對應的文件、Oracle及Mysql數據庫、HDFS、MongoDB大數據系統,獲取監控比對結果。4.根據權利要求2所述的自動化測試方法,其特征在于,當所述測試指令為測試數據文件生成指令時,根據待測系統中存儲的測試數據文件,按需求修改測試數據文件的關鍵字段,包括日期、機構、或文件類型、編碼格式,并生成新的測試數據文件。5.根據權利要求4所述的自動化測試方法,其特征在于,在所述生成測試數據文件的同時,通過創建空文件或自定義包含正常值、特殊字符、邊界值、錯誤值、非空、超長數據、主鍵沖突在內的業務數據文件,驗證待測系統的健壯性,獲取待測系統的測試結果。6.根據權利要求2所述的自動化測試方法,其特征在于,當所述測試指令為批量作業監控指令時,根據測試人員配置的掃描批量作業的結構化查詢語句,檢測批量作業狀態和批量作業日志,獲取批量作業測試結果,并將反復或一次性執行獲取的批量作業測試結果導入測試報告。7.根據權利要求2所述的自動化測試方法,其特征在于,當所述測試指令為數據掃描指令時,根據測試人員配置的信息自動拼接生成結構化查詢語句,執行該結構化查詢語句檢測空表、空列、各枚舉值占比、數據區域分布、特征值,獲取數據掃描測試結果。8.根據權利要求2所述的自動化測試方法,其特征在于,當所述測試指令為表結構核對指令時,根據測試人員錄入的預期表結構或根據表與表、列與列的對應關系,自動檢測表結構,獲取表結構核對結果。9.根據權利要求2所述的自動化測試方法,其特征在于,當所述測試指令為數據核對指令時,根據測試人員配置的預期目標表表名、列名、數據值,查找是否存在對應的數據,并記錄數據條數,生成測試數據情況及目標表的數據值測試結果。10.根據權利要求2所述的自動化測試方法,其特征在于,當所述測試指令為列維度數據映射邏輯驗證指令時,根據測試人員輸入的目標表和源表的列和列映射關系,自動拼接生成結構化查詢語句進行列維度數據映射邏輯驗證,獲取列維度數據映射邏輯驗證結果。11.根據權利要求2所述的自動化測試方法,其特征在于,當所述測試指令為表維度數據映射邏輯驗證指令時,根據目標表與源表的映射關系,自動拼接生成結構化查詢語句進行表維度數據映射邏輯驗證,獲取表維度數據映射邏輯驗證結果。12.一種執行權利要求1所述的自動化測試方法的自動化測試系統,其特征在于,該系統包括: 指令接收模塊,用于接收測試人員配置的測試指令; 測試模塊,用于根據所述測試指令執行相應的測試程序,進行測試數據處理、測試,獲取測試結果。
【文檔編號】G06F17/30GK105930274SQ201610290779
【公開日】2016年9月7日
【申請日】2016年5月5日
【發明人】楊潔嵩
【申請人】中國銀行股份有限公司