[發(fā)明專利]一種數(shù)據(jù)指標準確性的校驗方法及自動化測試工具有效
| 申請?zhí)枺?/td> | 202010946160.0 | 申請日: | 2020-09-10 |
| 公開(公告)號: | CN112100066B | 公開(公告)日: | 2023-07-04 |
| 發(fā)明(設計)人: | 王一君;陳燦;鄧爽爽;王光華 | 申請(專利權)人: | 杭州覽眾數(shù)據(jù)科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 杭州君度專利代理事務所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
| 地址: | 310000 浙江省杭州市濱*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數(shù)據(jù) 指標 準確性 校驗 方法 自動化 測試 工具 | ||
1.一種數(shù)據(jù)指標準確性的校驗方法,其特征在于步驟如下:
步驟1:在PG庫中創(chuàng)建測試用例表、用例執(zhí)行結果表以及日志記錄表,分別用于存儲測試用例數(shù)據(jù)、測試結果信息以及用例執(zhí)行異常日志;
步驟2:在測試用例表中根據(jù)需要配置測試用例數(shù)據(jù);
步驟3:根據(jù)用戶傳入的參數(shù)拼接查詢語句,然后根據(jù)拼接查詢語句讀取用例表中的測試用例數(shù)據(jù)并存儲到Dataframe中,其中Dataframe是一個緩存數(shù)據(jù)集合;
步驟4:根據(jù)用例id循環(huán)每一條測試用例數(shù)據(jù),針對循環(huán)的當前測試用例數(shù)據(jù),將被測指標查詢SQL和對照SQL中的進行替換;具體根據(jù)用戶傳入的擴展參數(shù)鍵值對進行替換,
步驟5:通過分別執(zhí)行被測指標查詢SQL和對照SQL讀取HIVE數(shù)據(jù)庫中的被測數(shù)據(jù),并分別將查詢結果存儲到Dataframe中;被測指標查詢SQL和對照SQL均由用戶根據(jù)需求自定義;
步驟6:對比步驟5中兩個查詢結果的一致性,得出最終測試結論,使用is_pass字段標識該指標是否測試通過;
步驟7:在關鍵步驟打印日志
步驟8:存儲測試結果:將測試結果存儲在用例執(zhí)行結果表中;
步驟9:捕獲異常日志:跳過執(zhí)行過程中的異常,并捕獲異常日志存儲到日志記錄表中,status為Ture表示用例執(zhí)行報錯,status為False表示用例執(zhí)行正常;
步驟10:用戶在用例執(zhí)行結果表中查看測試結果;
步驟11:用戶在日志記錄表中查看執(zhí)行失敗的用例日志。
2.根據(jù)權利要求1所述的一種數(shù)據(jù)指標準確性的校驗方法,其特征在于步驟1具體表結構具體如下:
測試用例表:用例id、項目名稱、提測版本、測試層名、測試表名、分區(qū)、被測指標名、被測指標查詢SQL、對照表名、對照SQL、用例狀態(tài)、用例創(chuàng)建時間、用例更新用戶、用例更新時間的字段;
用例執(zhí)行結果表:項目名稱、測試版本號、用例id、被測指標名、數(shù)據(jù)條數(shù)、是否測試通過的字段;其中用例id為該結果表的外鍵,對應測試用例表中的用例id字段;
日志記錄表:用例id、錯誤日志、測試版本號、創(chuàng)建時間、執(zhí)行狀態(tài)的字段;其中用例id為該日志表的外鍵,對應測試用例表中的用例id字段。
3.根據(jù)權利要求1或2所述的一種數(shù)據(jù)指標準確性的校驗方法,其特征在于步驟6使用is_pass字段標識測試結果如下:1為測試通過,0為測試未通過,-1表示該用例執(zhí)行異常;即如果兩個查詢結果一致,則is_pass字段標識為1;如果兩個查詢結果不一致,則is_pass字段標識為0;如果查詢過程出現(xiàn)報錯,則is_pass字段標識為-1。
4.根據(jù)權利要求3所述的一種數(shù)據(jù)指標準確性的校驗方法,其特征在于步驟7所述的關鍵步驟包括:
①獲取執(zhí)行時輸入的參數(shù),并進行校驗;
②從測試用例表中讀取需要執(zhí)行的用例數(shù)據(jù);
③根據(jù)用例id循環(huán)每一條測試用例數(shù)據(jù),替換被測指標查詢SQL和對照SQL的擴展參數(shù);
④分別執(zhí)行用例數(shù)據(jù)中的被測指標查詢SQL和對照SQL;
⑤對比被測指標查詢SQL查詢結果和對照SQL查詢結果的一致性;
⑥存儲測試結果;
⑦捕獲異常日志;
⑧執(zhí)行完成提示。
5.根據(jù)權利要求4所述的一種數(shù)據(jù)指標準確性的校驗方法,其特征在于該校驗方法過程中涉及的自動化測試工具包括讀取用例模塊、循環(huán)用例模塊、替換參數(shù)模塊、執(zhí)行SQL模塊、結果對比模塊、存儲結果模塊、存儲日志模塊;
所述的讀取用例模塊,通過查詢語句將測試用例表中相關的測試用例內(nèi)容讀取到Dataframe中;
所述的循環(huán)用例模塊,根據(jù)用例id,循環(huán)獲取讀取用例模塊Dataframe中每個用例的信息;
所述的替換參數(shù)模塊,根據(jù)用戶自定義傳入的參數(shù)EXTEND_PARAMS,對循環(huán)用例模塊獲取到的用例信息中,被測指標查詢SQL和對照SQL內(nèi)容中的參數(shù)名進行正則匹配的替換;
所述的執(zhí)行SQL模塊,將替換參數(shù)模塊中的被測指標查詢SQL和對照SQL分別執(zhí)行,并得到相應的查詢結果并存儲到Dataframe中;
所述的結果對比模塊,將執(zhí)行SQL模塊中,執(zhí)行被測指標查詢SQL得到的Dataframe,與執(zhí)行對照SQL得到的Dataframe進行對比,輸出不一致的數(shù)據(jù)條數(shù),若數(shù)據(jù)條數(shù)為0則該指標測試通過,否則測試不通過;
所述的結果存儲模塊,將結果對比模塊中,指標不一致的數(shù)據(jù)條數(shù)、用例id、是否通過的信息存儲到PG數(shù)據(jù)庫的用例執(zhí)行結果表中;
所述的日志存儲模塊,將執(zhí)行SQL模塊中的用例執(zhí)行異常信息進行捕獲,并將異常信息、用例id的數(shù)據(jù)存儲到PG數(shù)據(jù)庫的日志記錄表中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州覽眾數(shù)據(jù)科技有限公司,未經(jīng)杭州覽眾數(shù)據(jù)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010946160.0/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結構
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





