2017-08-14 10 views
0

私たちはテストフレームワークのコードベースと、git repoで設定したテストデータを持っています。 テストデータのサイズは非常に大きく、1 GBから20 GBまで変化し、gitはそのようなデータを格納する解決策ではありません。時間のかかるタスクは次のとおりです。ソース(Gitの) テストオートメーションで大きなデータセット駆動テストを管理するにはどうすればよいですか?

  • 転送データから

    • ダウンロードデータは、試験機を対象とします。

    データ転送時間を短縮するソリューションは何ですか。

  • 答えて

    0

    私は、このような巨大なファイルをテスト実行サイクルごとにマシン間で転送することは意味がないと考えています。特に、すべてのファイルが静的で、ビルドの頻度が高い場合。

    利用可能なリソース/インフラストラクチャによっては、共有フォルダを持つDockerイメージまたはVMの使用を検討しています。たとえば、Dockerの場合、テストデータを持つマウントされたボリュームを持つことができます。 VMは、ホストの共有を使用するように設定することもできます(または、既に注入されたカスタムデータを使用してVMを配備することもできます)。公共サービスもそのような機能を提供します。

    +0

    ご回答いただきありがとうございます。提案されたソリューションでは、GBあたりのデータ転送時間はどのくらいになるでしょうか。 – arpit

    +0

    ドッカーでは、同じファイルシステム(linuxホストはコンテナでボリュームをマップします)になるため、パフォーマンスの低下は全く見られません。 –

    0

    少なくともストレージを必要とするソリューションは、動的データ生成です。ハードコードされた値とファイルを持つ代わりに、それらを生成するアルゴリズムを作成することができます。

    動的データがオプションでない場合は、Mavenリポジトリ(Sonatype Nexus)にファイルを保存し、それらのファイルをダウンロードできます。そのようなファイルにはバージョンがあり、既にダウンロードされている場合、Mavenはスマートでアーティファクトをダウンロードしないようにしています。

    このような膨大な量のデータは、頻繁に変更すると、大量のストレージが必要になります。したがって、Nexusマシンはかなり大きくする必要があります。

    関連する問題