2017-09-13 5 views
0

私はETLプロセスのための合理的なテストを作成しようとしています。ETLテストデータセット/フレームワーク

リファレンス/テストの取り込みデータセットが必要と考えています。私はクライアントデータを使用したくありません(これはもう一つの選択肢です)。

このテストデータセットで現在のETLを実行して、参照変換を取得します。そうすれば、ソースコードが変更されたときに、ETLで現在作成されているものへの参照をテストし、回帰が作成されていないことを確認できます。

私はこれが正しいアプローチであるとは確信していません。たとえば、ソースコード内で変換が変更された場合、参照変換と比較したテストは正しく失敗します。その変換のための新しい参照変換データセットを作成する必要があります。開発者のチームが別々の変換に変更を加えると、これは狂っています。

最終的には、テストデータセットを作成して変換をテストする方法が必要です。何か案は?

+1

私はテストデータセットを作成し、現在のETL最終結果と比較するのではなく、ETLが従うべきロジックに従って最終結果を検証する一連のテストを作成します。テストは、特定の結果を探しているSQLクエリのようなものであり、自動化することができます。このようなテストには多くのコミットメントが必要であり、余分な時間がかかります。テストデータシナリオとテスト自体が必要です。しかし、あなたのETLが何をすべきかを確認するのに役立ちます。 – Rich

答えて

0

可能な変換結果ごとに少なくとも1つの行を含むテストデータセットを作成します。このテスト・データ・セットをすべてのETLテスト実行のソースとして使用します。新しい変換やバグが発生すると、これらの変換をカバーするためにテストデータセットに行を追加します。

ETL宛先で、ソース・データ・セットの変換を検証するテストを作成します。完全なコードカバレッジを保証するには、すべての変換結果に対してテストが必要です。テストデータセットは既知の一貫したソースであるため、テストは常に予測可能な結果を​​得なければなりません。

自動ETLテストは複雑ではありませんが、複雑でセットアップに時間がかかることがあります。また、維持するために非常に訓練された開発チームが必要です。がんばろう。