Dialogflow CX のテストケース
Google Cloud Japan Team
※この投稿は米国時間 2022 年 1 月 25 日に、Google Cloud blog に投稿されたものの抄訳です。
Dialogflow CX エージェントの新機能開発に取り組むデベロッパーの皆様にとっては、その機能が一定数のテストケース(「ゴールデン テストケース」としてマークしたもの)を確実にパスすることが重要になってくるのではないでしょうか。Dialogflow CX には、実行するテストケースのリストを管理する機能のほか、テスト カバレッジを確認する機能もあります。
このブログ投稿では、Dialogflow のサンプル エージェントを使って、エージェントをテストする方法を紹介するとともに、そのテスト実行をゴールデン テストケースとしてキャプチャして、テストスイートを構築し、テスト カバレッジを確認する方法までを説明します。
サンプル エージェント: ABC Holiday Resorts
ここでは、ダウンロード可能な既成のエージェントを使用して説明します。こちらの手順に沿って、サンプル エージェント(ABC Holiday Resorts)をサンプル エージェント プロジェクトに復元します。エージェントを復元すると、以下のサンプルフローを確認できるはずです。
このサンプル エージェントは単一のフローから成り、ユーザーからの以下の 3 種類の問い合わせに対応します。
特典や割引の最新情報を調べる
リゾートがある都市の最新情報を調べる
いずれかのリゾートでの休暇を予約する
ここでは、Dialogflow のテストケース機能についてわかりやすく説明するために、エージェントはシンプルなものにとどめ、外部とのインテグレーションや複雑な検証は行いません。
Dialogflow CX コンソールでエージェントのテスト機能を使って、以下のフレーズを試すことができます。
今利用できる特典は?
リゾートのある場所は?
休暇を予約する
テストケースとテスト カバレッジ
まず、Dialogflow CX コンソールのテストケース機能にアクセスしてみましょう。以下の図のように、[Manage] タブの [Test Cases] セクションに移動します。
エージェントを復元した段階ではテストケースは存在せず、キャプチャもまだ行っていないので、ここには何も表示されません。
[Coverage] をクリックすると、エージェントに含まれる各種フローや、インテント、ルートグループのカバレッジを確認できます。テストケースがないため、ここにもまだ何も表示されません。
テストケースのキャプチャ
テストケースをキャプチャするには、コンソールでエージェントのテスト機能を使用します。テストケースをキャプチャする手順は、以下のとおりです。
Dialogflow CX コンソールでエージェントを開いた状態で、[Test Agent] ボタンをクリックします。
フローに沿って、発話を入力します。
テストケースのサンプルを以下に示します。このテストケースは、エージェントに現在の特典や割引について尋ねるオプションを実行します。
フローが完了したら、保存ボタンをクリックします。
以下のようにテストケースの詳細を入力する画面が表示されるので、それぞれの項目に入力して [Save] ボタンをクリックします。これで、テストケースが保存されます。
テストケースとテスト カバレッジの表示
以下の図のように、[Manage] タブの [Test Cases] リンクで、現在のテストケースのリストを確認できます。
ご覧のように、追加済みのテストケースが 2 つ表示されています。上の画面の [Coverage] オプションをクリックして、カバレッジを確認することもできます。
上の [Transition Coverage] の画面では、キャプチャ済みの 2 つのテストケースでカバーされたものが [Yes] となっています。また、上部の [Intents] オプションをクリックすると、[Intents Coverage] の画面を表示できます。以下の画面をご覧ください。
エージェントのテスト機能を使って、その他のフローやシナリオもお試しください。それらのテストケースをキャプチャして、全体的なカバレッジを調べてみましょう。これにより、テストした遷移やインテントを確認できます。また、エージェントのバージョンが新しくなった場合は、[Run] オプションを使用して同じテストケースを実行することで、想定外の変更が起きてないかどうかを調べることができます。
テストケースの詳細を確認するには、Dialogflow CX 内で提供されているビルド済みエージェントをご利用ください。ビルド済みエージェントのうちどれか 1 つ(旅行: レンタカー エージェントや旅行: 手荷物受取所エージェントなど)をインポートし、テストケースにアクセスします。
以上、Dialogflow CX のテストケースについて簡単にご説明しました。ご質問やご意見がございましたら、お気軽に Twitter で @iRomin までお寄せください。Dialogflow CX およびテストケースについて詳しくは、以下の関連情報をご覧ください。
関連情報
- デベロッパー アドボケイト Romin Irani