etl vs db testing closer look etl testing need
ソフトウェアテストには、集中すべきさまざまな領域があります。主な種類は、機能テストと非機能テストです。機能テストは、開発された機能が期待どおりに機能することを確認するための手続き型の方法です。非機能テストは、拡張や許容レベルのパフォーマンスなどの非機能的側面を保証できるアプローチです。
と呼ばれるテストの別のフレーバーがあります DBテスト 。データは、テーブルの形式でデータベースに編成されています。ビジネスの場合、次のようなフローが発生する可能性があります 複数のテーブルのデータを1つのテーブルにマージまたは処理したり、その逆を行ったりすることができます。
ETLテスト は、ある種のレポートの必要性がクライアントによって求められるビジネスケースで好まれるもう1つの種類のテストです。レポートは、需要、ニーズ、および供給を分析して、クライアント、ビジネス、およびエンドユーザーに十分なサービスと利益を提供するために求められます。
このチュートリアルで何を学びますか?
このチュートリアルでは、データベーステストとは何か、ETLテストとは何か、DBテストとETLテストの違い、およびETLテストの必要性、プロセス、計画の詳細を実際の例で学習します。
また、以下のページでETLテストについて詳しく説明しました。また、それを見てください。
=> ETLテスト/データウェアハウステストのヒントとテクニック
学習内容:
DBテストとETLテスト
私たちのほとんどは、データベーステストとETLテストの両方が類似していて同じであると考えることについて少し混乱しています。事実、それらは似ていますが同じではありません。
DBテスト:
DBテストは通常、アプリケーションで複数のデータソースから単一のテーブルに複数のデータフローが発生するビジネスフローで広く使用されます。データソースは、テーブル、フラットファイル、アプリケーション、または出力データを生成できるその他のものにすることができます。
次に、取得した出力データは、シーケンシャルビジネスフローの入力として引き続き使用できます。したがって、DBテストを実行するときにキャプチャする必要がある最も重要なことは、データをソースから変換する方法と、データを宛先の場所に保存する方法です。
同期は、DBテストを実行するときに考慮しなければならない重要なことの1つです。アーキテクチャフロー内でのアプリケーションの配置により、データまたはDBの同期に関する問題がほとんどない場合があります。したがって、テストを実行する際には、潜在的な可能性を克服できるため、これに注意する必要があります。 無効な欠陥 またはバグ。
例1:
プロジェクト「A」には、特定のアプリケーションが他のいくつかの異種データソースからのデータを利用する統合アーキテクチャがあります。したがって、これらのデータと宛先の場所との整合性は、以下の検証とともに実行する必要があります。
- 一次外部キー検証
- 列値の整合性
- 任意の列のNULL値
ETLテストとは何ですか?
ETLテストは、クライアントがビジネスの予測と分析のために実行することを望んでいる特別なタイプのテストです。これは主にレポートの目的で使用されます。たとえば、クライアントが購入日に基づいて製品を使用または購入する顧客についてレポートする必要がある場合は、ETLレポートを使用する必要があります。
役職 分析 そして 報告 、このデータは 保管されたデータ 古い履歴ビジネスデータを移動する必要があるデータウェアハウスに移動します。
最高のメールプロバイダーは誰ですか
これは、ソースからのデータが最終的な宛先の場所に到達する前に複数の環境に変換されるため、複数レベルのテストです。
例2:
日常生活に必要な家庭用品を購入できるショッピングマーケットを通じて、小売顧客ビジネスを行うグループ「A」を検討します。ここでは、訪問するすべての顧客に一意のメンバーシップIDが提供され、ショッピングマーケットから商品を購入するたびにポイントを獲得できます。
グループが提供する規則では、獲得したポイントは毎年期限切れになるとされています。また、使用状況に応じて、現在のグレードと比較して、メンバーシップを高グレードのメンバーにアップグレードすることも、低グレードのメンバーにダウングレードすることもできます。
5年間のショッピング市場の確立の後、経営陣は現在、収益とともにビジネスを拡大することを目指しています。
したがって、顧客を宣伝するために必要なビジネスレポートはほとんどありませんでした。
データベーステストでは、次のことを実行します。
#1) 論理マッピングシートおよびデータルーティングドキュメントで説明されている論理計算を使用して列を使用して作成されたターゲットテーブルの検証。
#二) 顧客データの挿入、更新、削除などの操作は、統合システム内の任意のエンドユーザーPOSアプリケーションで、バックエンドデータベースとともに実行できるため、同じ変更がエンドシステムに反映されます。
#3) DBテストでは、誤って解釈されたり、切り捨てられたりした顧客データがないことを確認する必要があります。これは、顧客データとその忠誠心との誤ったマッピングなどの深刻な問題につながる可能性があります
ETLテストでは、次のことを確認します。
#1) ソースに100人の顧客がいると仮定して、これらすべての顧客と100行のデータがソースシステムからターゲットに移動されたかどうかを確認します。これはの検証として知られています データの完全性チェック。
#二) 顧客データが適切に操作され、100行で示されているかどうかを確認します。これは単に検証と呼ばれます データ精度チェック 。
#3) 特定の期間内にx値を超えるポイントを獲得した顧客のレポート。
ETLとDBテストの比較研究
ETLテストとDBテストには、それらを実行する前に理解することがより重要な、それ自体で異なる側面がいくつかあります。これは、テストの価値と重要性、およびテストがビジネスにどのように役立つかを理解するのに役立ちます。
以下は、両方のテスト形式の基本的な動作を説明する表形式です。
DBテスト | ETLテスト | |
---|---|---|
データの性質 | ここでは正規化されたデータが使用されています | 非正規化されたデータがここで使用されています |
主な目標 | データ統合 | BIレポーティング |
該当する場所 | ビジネスフローが発生する機能システム | ビジネスフロー環境の外部。入力は過去のビジネスデータです |
自動化ツール | QTP、Selenium | Informatica、QuerySurge、COGNOS |
ビジネスへの影響 | ビジネスフローの統合アーキテクチャであるため、深刻な影響が生じる可能性があります | クライアントが予測と分析を実行したい場合のような潜在的な影響 |
使用したモデリング | 実体関連 | 次元 |
システム | オンライントランザクション処理 | オンライン分析処理 |
なぜビジネスはETLを採用する必要があるのですか?
ETLテストを検討するために、多くのビジネスニーズが利用可能です。すべてのビジネスには、独自の使命と事業部門が必要です。すべてのビジネスには、一般的な形式をとる製品ライフサイクルがあります。
新製品が市場に参入し、売り上げが大幅に伸び、成熟と呼ばれる段階に達すると、売り上げが減少することは明らかです。この漸進的な変化は、ビジネスの成長の明確な低下を目撃しています。したがって、ビジネスの成長に対する顧客のニーズや、組織の収益性を高めるために必要なその他の要因を分析することがより重要です。
したがって、実際には、クライアントは履歴データを分析し、戦略的にいくつかのレポートを作成したいと考えています。
ファイル入出力c ++
ETLテスト計画
ETLテストの主な手順の1つは、実行するテストの計画に関するものです。それはに似ています システムテストのテスト計画 これは通常、要件やテストケースなどのいくつかの属性を除いて実行されます。
ここでの要件は、 マッピングシート これは、異なるデータベース内のデータ間の一種のマッピングを持ちます。 ETLテストは複数のレベルで行われることを認識しているため、これを検証するにはさまざまなマッピングが必要です。
ほとんどの場合、データはソースデータベースから直接キャプチャされません。すべてのソースデータには、データを使用できるテーブルのビューがあります。
例: 以下は、マッピングを提供する方法の例です。 2つの列VIEW_NAMEとTABLE_NAMEを使用して、ETL環境のソースとテーブルからそれぞれデータを読み取るためのビューを表すことができます。
自動化を計画する際に役立つ命名規則を維持することをお勧めします。使用できる一般的な表記法は、環境の名前の前に付けるだけです。
ETLで最も重要なことは、ソースから重要なデータとテーブルを識別することです。次の重要なステップは、ソースからETL環境へのテーブルのマッピングです。
以下は、さまざまな環境からのテーブル間のマッピングをETLの目的に関連付ける方法の例です。
上記のマッピングは、ソーステーブルからステージングテーブルへのデータを想定しています。そしてそれからEDWのテーブルにそして次に OLAP これが最終的なレポート環境です。したがって、どの時点でも、ETLのためにデータの同期は非常に重要です。
重要なETLのニーズ
私たちが理解しているように、ETLは、顧客のニーズをより連続的に捉えるために、ビジネスを予測、報告、分析する必要があります。これにより、ビジネスはこれまでよりも高い需要を持つことができます。
ETLテストを達成できない重要なニーズのいくつかを次に示します。
- データとテーブルの識別 :これは重要です。顧客のニーズを予測および分析するときに最も重要性が低い可能性がある、他の多くの無関係で不要なデータが存在する可能性があるためです。したがって、ETL作業を開始する前に、関連するデータとテーブルを選択する必要があります。
- マッピングシート :これは、ETL作業を行う際の重要なニーズの1つです。ソースから宛先への適切なテーブルのマッピングは必須であり、このシートの問題や誤ったデータは、ETL成果物全体に影響を与える可能性があります。
- テーブルのデザインとデータ、列の種類 :これは、ソーステーブルから宛先テーブルへのマッピングを検討する際の次の主要なステップです。列タイプは、両方の場所などでテーブルと一致する必要があります。
- データベースアクセス :主なものは、ETLが実行されるデータベースへのアクセスです。アクセスに対する制限は、同等の影響を及ぼします。
ETLレポートとテスト
ETLでのレポートは、顧客が必要とするクライアントを説明および指示するため、より重要です。これにより、顧客の正確なニーズを予測および分析できます
例3:
シルク生地を製造している会社は、年間売上高を分析したいと考えていました。年間売上高を確認したところ、8月と9月の間に、作成したレポートを使用して売上高が大幅に減少したことがわかりました。
そのため、彼らは売り上げを伸ばす交換や割引などのプロモーションオファーを展開することにしました。
ETLテストの基本的な問題
次のようなETLテストの実行中には、いくつかの問題が発生する可能性があります。
Windows用の最高の無料ビデオダウンローダー
- ソーステーブルまたはビューへのアクセスは無効になります。
- ソースから次のレイヤーまでの列名とデータ型が一致しない場合があります。
- ソーステーブルから宛先テーブルへのレコードの数が一致しない可能性があります。
そして、もっとたくさんあるかもしれません。
以下は、VIEW_NAME、COLUMN_NAME、DATA_TYPE、TABLE_NAME、COLUMN_NAME、DATA_TYPE、TRANSFORMATIONLOGICなどの列が存在するマッピングシートのサンプルです。
最初の3列はソースデータベースの詳細を表し、次の3列は直前のデータベースの詳細を表します。最後の列は非常に重要です。変換ロジックは、ソースからのデータが読み取られ、宛先データベースに格納される方法です。これは、ビジネスとETLのニーズによって異なります。
ETLテストの計画と実行中に覚えておくべきポイント
ETLテストで最も重要なことは、ソースDBからの抽出基準に基づいてデータをロードすることです。この基準が無効または廃止されている場合、ETLテストを実行するためのデータがテーブルにないため、実際にはさらに多くの問題が発生します。
以下は、ETLテストの計画と実行中に注意すべき点のいくつかです。
#1) 異種データソースからデータが抽出されています
#二) 異なる統合環境でのETLプロセス処理:
- DBMS
- 君は
- ハードウェア
- 通信プロトコル
#3) 物理データを変換する前に、論理データマッピングシートを用意する必要があります
#4) データソースの理解と調査
#5) 初期負荷と増分負荷
#6) 監査列
# 7) 事実と次元をロードする
ETLツールとその重要な使用法
ETLツールは基本的に、ビルドと変換に使用されます 変換ロジック 変換ロジックを適用して、ソースから別のソースにデータを取り込むことによって。また、独自の方法で発生するソースから宛先にスキーマをマップし、データを宛先に移動する前にデータを変換およびクリーンアップし、効率的な方法で宛先にロードすることもできます。
これにより、ほとんどすべてのETL検証と検証に使用されるマッピングを実行できるため、手作業を大幅に削減できます。
ETLツール :
- 情報学-PowerCenter –は、InformaticaCorporationによって導入された人気のあるETLツールの1つです。これは、広い領域をカバーする非常に優れた顧客基盤を持っています。ツールの主要なコンポーネントは、クライアント用のツールとリポジトリツールおよびサーバーです。ツールの詳細については、をクリックしてください ここに
- IBM – Infosphere Information Server - コンピューター技術のマーケットリーダーであるIBMは、2008年に情報の統合と管理に使用されるInfosphere Informationサーバーを開発しました。ツールの詳細については、ここをクリックしてください。 ここに
- Oracle – Data Integrator – Oracle Corporationは、Oracle – DataIntegratorの名前でETLツールを開発しました。カスタマーサポートの増加により、ETLツールをさまざまなバージョンで更新しています。ツールの詳細については、をクリックしてください ここに
ETLテストの使用例のその他:
戦略的に顧客を引き付けるためにプロモーションやオファーを展開したいいくつかの航空会社を検討します。まず、顧客の仕様の要求とニーズを理解しようとします。これを実現するには、履歴データ、できれば過去2年間のデータが必要になります。彼らはデータを使用して、顧客のニーズを理解するのに役立ついくつかのレポートを分析して準備します。
レポートには次の種類があります。
- 特定の日にリージョンBに旅行するリージョンAの顧客
- 特定の年齢基準を持つ顧客は、XX市に旅行します
そして、他にも多くの報告があります。
これらのレポートを分析することは、クライアントが顧客に利益をもたらすと同時に、これがWin-Winの状況になる可能性がある企業に利益をもたらすプロモーションやオファーの種類を特定するのに役立ちます。これは、ETLテストとレポートによって簡単に実現できます。
並行して、ITセグメントは、複数のサービスを停止し、ビジネスに影響を与える可能性があることに気付いた深刻なDBの問題に直面しています。調査の結果、いくつかの無効なデータにより、手動で修正する必要のあるいくつかのデータベースが破損していることが判明しました。
前者の場合、必要になるのはETLレポートとテストです。
後者の場合は、無効なデータの問題を克服するためにDBテストを適切に実行する必要がある場合です。
結論
上記のチュートリアルで、ETLテストとは何か、およびETLテストを実行する必要がある理由と、それらがもたらすビジネスへの影響またはメリットについて、簡単で明確な概要が提供されたことを願っています。これはここにとどまりませんが、ビジネスの成長の先見性を設定するために拡張することができます。
著者について: このチュートリアルはNagarajanによって書かれています。彼は、手動と自動化の両方の観点から、銀行、航空会社、テレコムなどのさまざまな機能分野で6年以上のソフトウェアテストの経験を持つテストリーダーです。
以下のコメントであなたの考え/質問を教えてください。