- はじめに
- 基本情報
- プロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- 参考情報
Maestro ユーザー ガイド
テストのアプローチ
Maestro プロセスのテストは、次の 3 つの原則に基づいています。
- 機能しているものは維持する: Maestro プロセス内の RPA ワークフローは、これまでと同じ方法でテストします。
- 各部分を別々にテストする: RPA、エージェント、人間のタスクにはそれぞれ独自のテスト パターンがあります。各部分を個別にテストすることで、問題が発生した場合に原因を簡単に特定できます。
- プロセス全体をテストする: エンドツーエンドのテストにより、ステップが正しく接続されていること、データが期待どおりに流れていること、およびビジネスの成果が正しいことを確認します。
Maestro プロセスは、このアプローチを具体化する方法において RPA ワークフローと異なります。RPA ワークフローは数秒で実行され、入力が同じであれば生成される出力も常に同じです。一方、Maestro プロセスは数分、数時間、あるいは数日にわたって実行されることがあります。また、RPA、エージェント、人間によるステップが 1 つのフローに組み合わされており、ユーザーが制御していない外部システムに依存します。
Maestro プロセスは、Maestro プロセス用に構築されたツールを使用して直接テスト可能になりつつあります。これは、以下のような改善によって実現します。
現在実行できるテスト
RPA ワークフローのテスト: Maestro プロセスで使用される RPA ワークフローは、他のあらゆる RPA ワークフローと同様に、RPA プロジェクトのテスト ケースでテストできます。テスト入力によって、出力が期待値と一致することを確認します。Maestro 固有のツールは不要です。
エージェントのテスト: Maestro プロセスで使用されるエージェントは、Studio Web の評価セットでテストできます。評価セットは、テスト入力とエージェントに期待する応答とをペアにしたリストです。評価セットにより、各入力に対してエージェントを実行し、実際の応答と予想される応答を比較して確認します。これは、エージェントが重要な意思決定を行うプロセスにおいて最も重要です。
エンドツーエンドのプロセス テスト: Studio のテスト ケースにより、パブリッシュ済みの Maestro プロセスを前もって準備したテスト データで実行し、最終出力を確認できます。Maestro プロセスを初めてテストするユーザーにとっては、ここから始めることが最も重要です。
デバッグ実行: Studio Web のデバッグ実行は、作成中にプロセスの動作を確認するのに適したツールです。ステップごとのトレース、変数のリアルタイムの更新、過去のデバッグ実行の履歴といった機能を利用できます。
Maestro のテスト プラクティスの確立方法
次の順番でカバレッジを構築します。
- 最も重要なプロセスのエンドツーエンドのテストから始める: 重要なビジネス成果ごとに 1 つのテストを行います。これらは、最も深刻な問題が運用環境に及ばないようにするテストです。
- エージェントを利用するプロセスにエージェント テストを追加する: エージェントの応答は、プロセスの他の部分よりも変化が大きくなります。エージェントの応答は単独でテストし、エージェント固有の問題を早期に発見できるようにします。
- 失敗やエッジ ケースを処理できるように拡張する: 無効な入力、失敗したステップ、および問題が発生する他の状況のテストを追加します。複数の Maestro プロセスで使用される RPA ワークフローのテストを追加します。
Maestro をテストする場合の難しい部分
一般的な課題は以下の 4 つです。各課題に対して前もって計画を立ててください。
長期実行プロセス
Maestro プロセスは、数時間あるいは数日にわたって実行される可能性があります。同じプロセスであっても、データや外部システムの応答性によっては、テストでは 2 分で終わるところが運用環境では 30 分かかる場合があります。そのため、タイミングベースのアサーションは信頼できません。プロセスにかかった時間ではなく、プロセスで何が生成され、どのステップが実行されたかをテストします。
外部システムへの依存
エンドツーエンドのテストでは、実際の外部システムに接続します。つまり、接続のタイムアウト、サードパーティのレート制限、システムのダウンなど、プロセスとは関係のない理由でテストが失敗する可能性があります。可能な場合は、これらのシステムのサンドボックスまたはテスト バージョンを使用します。開発中に接続がランダムに失敗する場合は、実際のテストの失敗ではなく、接続の問題として扱います。
エージェントの可変性
同じエージェントを同じ入力で 2 回実行すると、異なる出力が生成される可能性があります。等価性のアサーションは断続的に失敗します。評価セットは、このような場合のために設計されています。完全一致を要求するのではなく、適度なバリエーションを許容する比較ルールを使用します。
人間参加型 (HITL) のステップ
テストはエンドツーエンドで人間の介入なしに実行される必要がありますが、Maestro の HITL ステップは実際の人間による対応を待機します。代理の応答を挿入するための組み込みの方法はありません。適切な回避策は、HITL ステップがどのように設定されているかによって異なります。アカウント チームが具体的なアプローチを支援できます。