[發明專利]一種ETL測試的方法和裝置有效
| 申請號: | 201110218915.6 | 申請日: | 2011-08-01 |
| 公開(公告)號: | CN102915303A | 公開(公告)日: | 2013-02-06 |
| 發明(設計)人: | 孟祥敏 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘇培華;趙娟 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 etl 測試 方法 裝置 | ||
技術領域
本申請涉及數據倉庫分析的技術領域,尤其涉及一種ETL測試的方法和裝置。
背景技術
數據倉庫是一個獨立的數據環境,需要通過抽取過程將數據從聯機事務處理環境、外部數據源和脫機的數據存儲介質導入到數據倉庫中。它的目的是建立結構化的數據存儲空間,將不同數據源的數據分離出來,形成統一、有效的數據集,并最終加工、整合成所需要的數據。
ETL是數據抽取(Extract)、清洗(Cleaning)、轉換(Transform)、裝載(Load)的過程。是構建數據倉庫的重要一環,用戶從數據源抽取出所需的數據,經過數據清洗,最終按照預先定義好的數據倉庫模型,將數據加載到數據倉庫中去。在ETL的測試過程中,測試對象通常由多個任務調度形成,或者,由單個任務調度形成,但通常單個任務中包含有一個或多個百行級代碼。
采用現有技術,ETL的測試過程通常可以包括以下步驟:
步驟1、源數據與目標數據的數據匹配(mapping)分析:
分析依賴的源表,目標表以及相互的依賴關系;
步驟2、設計測試用例:
將存儲過程看成一個整體,關注輸入輸出,根據業務功能設計測試用例;
步驟3、數據準備:
準備每個依賴的源表的數據;
步驟4、進行結果驗證:
通過源表與目標表兩表的比對進行結果驗證。
在ETL的測試過程中,測試對象是由多個任務調度組成的,或者單個任務是一個或多個百行級或千行級代碼組成,其數據量十分龐大,并且多個源表之間相互關聯。采用現有技術,將測試對象作為一個整體進行測試,將使得測試過程非常復雜,任務量龐大,其中一個小細節出現問題,整個測試結果就會出錯,就需要重新進行測試,因而使得整個ETL的測試效率非常低。因此,目前需要本領域技術人員迫切解決的一個技術問題就是:提供一種ETL測試機制,用以降低ETL測試對象的復雜度,提高測試效率。
發明內容
本申請所要解決的技術問題是提供一種ETL測試的方法,基于本申請,能夠降低ETL測試對象的復雜度,提高測試效率。
相應的,本申請還提供了ETL測試的裝置,用以保證上述方法在實際中的實現及應用。
為了解決上述問題,本申請公開了一種ETL測試方法,包括:
按照預置規則將ETL測試對象拆分為測試子對象;
針對所述測試子對象逐個進行測試。
優選的,所述按照預置規則將ETL測試對象拆分為測試子對象的步驟包括:
獲取ETL測試對象中可拆分的測試子對象的個數;
依據所述可拆分的測試子對象個數,將ETL測試對象拆分為相應個數的測試子對象。
優選的,所述獲取ETL測試對象中可拆分的測試子對象的個數的步驟進一步包括:
針對ETL測試對象中所包含的各個業務進行分割,獲得可拆分的測試子對象個數;
或者,
針對ETL測試對象中所包含的各個功能進行分割,獲得可拆分的測試子對象個數。
優選的,所述獲取ETL測試對象中可拆分的測試子對象的個數的步驟包括:
獲取所述ETL測試對象中存儲過程的臨時表和目標表信息;
計算所述臨時表和一個目標表的數量之和,作為可拆分的測試子對象個數。
優選的,所述依據可拆分的測試子對象個數,將ETL測試對象拆分為測試子對象的步驟包括:
在ETL測試對象對應的代碼中,提取插入相同臨時表的代碼段;
合并所述插入相同臨時表的多個代碼段,組成測試子對象。
優選的,所述ETL測試對象對應的代碼為,ETL測試對象的代碼中匹配Insert至Select的代碼段,所述測試子對象為Insert至Select代碼段組成的SQL腳本。
優選的,所述針對測試子對象逐個進行測試的步驟包括:
針對所述測試子對象準備測試用例和測試數據;
執行采用所述測試數據的測試用例,獲得測試結果。
優選的,所述針對測試子對象準備測試用例和測試數據的步驟包括:
根據測試目的編寫測試用例;
獲取當前測試子對象所依賴的源表信息。
優選的,所述的方法,還包括:
封裝所述測試子對象,并批量執行所述測試子對象對應的測試用例,獲得所述ETL測試對象的測試結果。
本申請還提供了一種ETL測試的裝置,包括:
拆分模塊,用于按照預置規則將ETL測試對象拆分為測試子對象;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110218915.6/2.html,轉載請聲明來源鉆瓜專利網。





