前回の「開発編」と「管理編」では、UiPath StudioとOrchestratorを活用してテストケースを作成・実行する方法や、Test Managerを用いたテストの計画から自動実行、結果分析までの一連の流れをご紹介しました。
本記事の概要
今回の記事では、前回開発編で作成したテストケースを改修し、データドリブンなテストケースへと発展させていきます。利用するのはUiPath StudioとOrchestratorです。
ご参考までに、本記事でのワークフローと関連ファイルは、こちら よりダウンロードしてください。
データ ドリブンなテストとは ?
データ駆動テストとは、テストの「手順(ロジック)」と「データ(入力値)」を完全に分離し、同じテスト手順を様々なデータで繰り返し実行するテスト手法のことです。
同じテスト手順(ロジック)を、様々なデータを使って繰り返し実行することで、手作業では不可能な範囲の品質保証を実現しますので、テストの効率と網羅性(カバレッジ)を劇的に向上させるためです。
データソースの設定
Studioからテストケースを実行する際には、以下のようにさまざまなデータソースを選択することができます。
ただし、Orchestratorからデータ駆動テストを実行する場合は、Orchestratorがアクセス可能なデータソースを使用する必要があります。「テスト データのキュー」を利用することで、Orchestratorと接続されたロボットが、キューをデータソースとして使用できるようになります。
本記事では、「テスト データのキュー」を利用して、Orchestratorからデータ駆動テストを実現する方法をご紹介します。
テスト データのキュー
テスト データのキューをデータ ソースとして設定したり、アクティビティ経由でインポートしたりすると、Studio でテスト データのキューを活用できます。
テスト データのキューを利用するために、まずOrchestratorで定義をします。指定フォルダの[テスト]タブの[テスト データのキュー]画面で、[テスト データのキューを追加]をクリックします。
名前やコンテンツJSON スキーマを入力します。
JSON スキーマのformat.jsonファイルは、こちら よりダウンロードしてください。
テスト データのキューにデータの追加
「テスト データのキュー」にデータを追加する方法としては、アクティビティを使用してインポートすることも可能ですが、本記事では手順を簡略化するため、Orchestratorの画面から直接アップロードします。
アクティビティを使用してデータを追加する方法については、以下のページをご参照ください。
作成したキューの右側の三点リーダーをクリックして、[アイテムをアップロード]をクリックします。

CSVデータをアップロードします。

アップロードするデータ(UiBankLoanApplication_RandomData.csv)は、こちら よりダウンロードしてください。
正常にインポートできました。
Studioでテスト データのキューの利用
これからは、テストケースで設定された既定値をテストデータとして使用するのではなく、「キュー」のデータを利用するため、テストケース内の引数を削除します。
次に、該当テストケースを右クリックして、データを追加します。
次の画面では、ソースとして「テスト データのキュー」を指定します。さらに、画面右側のフィルターアイコンをクリックすることで、使用するデータをフィルタリングすることも可能です。
[インポート]をクリックします。インポート完了したら、ローン申請リストのキューが出現されます。

次は、右側の[テスト エクスプローラー]より該当テストケースを選択して、実行します。実行後、テストの結果も確認できます。

次に、改修後のオートメーションプロジェクトを Orchestrator にパブリッシュします。前回のテストケース名と重複しないよう、名前を[DataDriven_TestCase_UiBank_CreateLoan]に変更します。
Orchestratorからのテストケース実行
パブリッシュが完了すると、[テスト ケース]ページに[DataDriven_TestCase_UiBank_CreateLoan]が表示されます。右側の[実行]アイコンをクリックして、テストを実行します。
次の画面で、実行に使用するアカウントとマシンを指定します。特に指定しない場合は、Orchestrator側が該当フォルダ内のアカウントとマシンを動的に割り当てます。
[実行]をクリックすると、最初にキューからアイテムが取得され、その後に[DataDriven_TestCase_UiBank_CreateLoan]が実行されます。
該当のキューには5つのアイテムが登録されており、それぞれに対してテストケースが1回ずつ実行されるため、合計で5件のテストが実行されます。
並列実行の実現:
複数のロボットが利用可能な場合、Orchestratorは各ロボットにキューから異なるデータアイテムを渡し、複数のテストを同時に並列で実行させることができます。これにより、大規模なテストの実行時間を大幅に短縮できます。
Test Managerからデータドリブンテストの実行
前回の管理編記事で記載した方法と同じように、テストケースとテストセットを作成します。また、以下の設定をします。
- テストケース:オートメーションの割り当て、Studioとのリンク
- テストセット:自動テストできるように、オートメーションの選択
設定が完了したら、テストセットの自動実行を開始します。キューには5つのアイテムが登録されているため、以下のように5件のテストケースが順に実行されます。
キューアイテムのステータスについて
上記のステップでは、キューからアイテムを取得してテストケースを実行しました。しかし、実行後もアイテムのステータスには変更がありませんでした。
これらのアイテムを再利用しない場合は、Orchestratorの画面で該当アイテムを選択し、「消費済」として設定することができます。また、消費済のアイテムを再度利用する場合は、「未消費」に戻すことも可能です。
また、テストケースのワークフロー内で、アイテムを取得した後に「消費済」として設定することも可能です。この処理は、テストの要件に応じて設計してください。
最後に
開発編、管理編に続き、本記事ではテストデータキューを用いた本格的なデータドリブンテストを解説しました。
データの一元管理と並列実行は、テスト自動化をより大規模で効率的なものへと進化させます。
これまでの内容を組み合わせ、ぜひご自身のテスト自動化を加速させてください。