HCL OneTest - Moving Towards Intelligent Data Generation の翻訳版です。
OneTest: インテリジェントなデータ生成を目指して
2020年10月8日
著者: Juhi Jain / Technical Architect
今日の世界では、データの複雑さが日々増加し続け、納期が短縮されていく中で、テスト担当者は望ましいレベルのテストを実現するための課題に直面しています。管理すべき膨大なデータ量と多様性がある中で、テスターは、すべての可能なテストシナリオをカバーするテストデータを作成するという課題に直面します。ほとんどの場合、テストの望ましい結果を達成するための大きな障害となるのは、テストデータの不足です。テストデータは、あらゆるアプリケーションテストの重要な部分です。短期間で品質の高いテストを成功させるためには、合成データを生成することが不可欠になります。
歴史的なアプローチ
従来のアプローチでは、本番データのコピーを作成し、アプリケーションに応じてマスキングして関連性を評価した上でテストデータとして使用していました。このテストデータには、データの準備、管理、利用のためのテストデータ管理 (TDM) システムが付随していることがほとんどです。これらすべてのオーバーヘッドと手作業によるアプローチは、結果的に遅延をもたらします。 次の図は、本番データからテストデータを作成するという歴史的なアプローチを示しています。本番データは、収集、クリーニング、メンテナンスを経て、機密データを隠すためにマスクされます。各プロセスは手動で行われ、独自の入口と出口の基準を持っているため、時間がかかります。
新時代のアプローチ
この新しいアプローチは、合成テストデータの使用に向けてテスト担当者を惹きつけます。合成テストデータは、本番用データベースからの実際のデータを一切使用せず、選択したアプリケーションのデータモデルに基づいて人工的に生成されます。これらのテストデータ生成(TDG)ツールの最大の特徴は、合成テストデータをオンデマンドで生成できることです。テストケースのニーズに合わせたテストデータのシナリオに合わせてテストデータを生成します。このテストデータ生成ツールのアプローチにより、従来のTDM機能であるデータのマスキングや難読化などの規制遵守ガイドラインに対応した機能が不要になります。このアプローチにより、テストフェーズでの時間を節約することができます。
次の図は、本番データを利用する代わりに、アプリケーションスキーマを使用して、データのマスキングやクリーニングのステップを実行せずにテストデータを生成することができることを示しています。自動化されているため、時間とリソースの両方を節約することができます。
メリット
アプリケーションのテスターは、本番環境から送られてくるデータの品質を制限されています。テスト担当者は、アプリケーションのテストを実行するために、本番環境のデータを使用可能な値に手動で修正しなければならないことがよくあります。一方、合成テストデータは、複雑な本番データのデータサブセットを分析し、テストデータを作成する労力を軽減します。テストデータは、アプリケーションのスキーマモデルに基づいて生成されます。スキーマモデルは、すべての可能なテストケースシナリオをカバーするためのデータ定義と組み合わせを指定します。合成テストデータを生成するこのアプローチは、複雑なスキーマのための時間の消費も削減します。 今日の市場では、複数のソリューションが利用可能ですが、HCLソフトウェアは、テストデータを生成し、継続的インテグレーション (CI) と継続的デリバリー (CD) プロセスをサポートするワンストップソリューションを提供します。CI/CDプロセスでは、自動テストは必須の技術となっています。
HCL OneTest データ
HCL OneTest Data は、コンテナ化されたシンプルで強力なデータ作成ツールです。自動化されたカスタマイズ可能なツールで、テスト環境の合成テストデータを最大限のカバレッジで生成します。HCL OneTest Data は、HCL One Test Serverのコンポーネントの一つであり、HCL OneTest Server GUIのデータファブリケーションとしてアクセスすることができます。大量のリアルタイムテストデータを生成することができ、REST APIを利用してCI/CDプロセスの様々なツールと相互運用することができます。また、KubernetesやRed Hat OpenShiftのアプリケーション開発・デプロイメントプラットフォームにも対応しています。
次の図は、HCL OneTest Data のワークフローを示しています。
機能
セルフサービスと自動化のサポート - HCL OneTest Data は、技術的な専門知識を必要としない完全なGUI駆動のソリューションです。その内部アルゴリズムを使用することで、学習、使用、テストデータの自動生成が簡単に行えます。また、生成されたデータタイプとデータを一致させるための強力なビルトインAPIを提供します。
異種ファイル形式のサポート - HCL OneTest Data は、Excelファイル、ネイティブファイル、カンマ区切り値 (CSV) 、JavaScriptオブジェクト記法 (JSON) 、拡張可能なマークアップ言語 (XML) など、様々なファイル形式でテストデータを生成します。
外部データベースのサポート - HCL OneTest Data は、JDBC、SAPアプリケーション、MongoDB、Excelファイルなどの外部データベースとの相互作用をサポートしています。この機能を使用することで、任意の外部データベースのデータモデルを使用してテストデータを生成することができます。
テスト実行サイクルの短縮 - テストデータはアプリケーションテストの中核となるコンポーネントであり、テストデータを手動で作成するのは時間がかかります。HCL OneTest Data を使用すると、アプリケーションのテストを実行するために、短時間で大量のインテリジェントなデータを生成することができます。
データリスクやセキュリティ問題はありません - 本番システムから実際の情報や潜在的に機密性の高い情報を抽出すると、データ侵害につながる可能性がありますが、HCL OneTestでは、スキーマに適用される内部アルゴリズムに基づいて合成データを生成しています。このアプローチを使用することで、データ漏洩やプライバシー問題のリスクなしに、あらゆるアプリケーションをテストすることができます。
柔軟性と最大のパフォーマンス - HCL OneTestは、テストのニーズに応じてデータをモデル化する柔軟性をサポートしています。この機能は、事前に定義された、またはリアルタイムのデータ生成の効率と精度を向上させるのに役立ちます。シングルテナンシーとマルチテナンシーの両方をサポートしています。
また、HCL OneTest Data は、REST APIを使用してテストデータ生成のためのデータモデリングを実行する機能も提供しています。下図は、HCL OneTest Data のサンプル画面です。
テストデータの生成は、ソフトウェアテストの一つの側面です。テストデータの作成は、テストフェーズの中でも時間のかかる作業であり、ソフトウェア開発全体の中でも主要なコスト負担の一つとなっています。テストデータ生成ツールを使用することで、テストの道における障害を克服することができます。
HCL OneTest Data の詳細については、こちらをご覧ください。