はじめに
対話型AIプラットフォーム
チャットボットの概要
自然言語処理(NLP)
ボットの概念と用語
クイックスタートガイド
プラットフォームへのアクセス
ボットビルダーの操作
リリースノート
最新バージョン(英語)
以前のバージョン(英語)
コンセプト
設計
ストーリーボード
ダイアログタスク
ダイアログタスクとは
ダイアログビルダー
ノードタイプ
インテントノード
ダイアログノード
エンティティノード
フォームノード
確認ノード
ロジックノード
ボットアクションノード
サービスノード
Webhookノード
スクリプトノード
グループノード
エージェント転送ノード
ユーザープロンプト
音声通話プロパティ
イベント ハンドラー
ナレッジグラフ
ナレッジグラフの抽出
ナレッジグラフの構築
ボットにナレッジグラフを追加
グラフの作成
ナレッジグラフの構築
既存のソースからFAQを構築
通知タスク
スモールトーク
デジタルスキル
デジタルフォーム
デジタルビュー
デジタルビューとは
パネル
ウィジェット
トレーニング
トレーニングとは
機械学習
機械学習とは
モデル検証
ファンダメンタルミーニング
ナレッジグラフ
示唆
ランキングおよび解決
NLPの詳細設定
NLPのガイドライン
インテリジェンス
インテリジェンスとは
コンテキスト
コンテキストインテント
割り込み
複数インテントの検出
エンティティの変更
デフォルトの会話
センチメント管理
トーン分析
テストとデバッグ
ボットと会話
発話テスト
バッチテスト
会話テスト
デプロイ
チャネル
公開
LLM and Generative AI
Introduction
LLM Integration
Kore.ai XO GPT Module
Prompts & Requests Library
Co-Pilot Features
Dynamic Conversations Features
分析
ボットの分析
NLPメトリクス
会話フロー
Usage Metrics
封じ込め測定
カスタムダッシュボード
カスタムダッシュボードとは
メタタグ
カスタムダッシュボードとウィジェット
ユニバーサルボット
ユニバーサルボットとは
ユニバーサルボットの定義
ユニバーサルボットの作成
ユニバーサルボットのトレーニング
ユニバーサルボットのカスタマイズ
他言語の有効化
ストア
プラントと使用
Overview
Usage Plans
Support Plans
Invoices
管理
ボット認証
複数言語対応ボット
個人を特定できる情報の編集
ボット変数の使用
IVRのシステム連携
一般設定
ボット管理
ハウツー
Integrations
Actions
Actions Overview
Asana
Configure
Templates
Azure OpenAI
Configure
Templates
BambooHR
Configure
Templates
Bitly
Configure
Templates
Confluence
Configure
Templates
DHL
Configure
Templates
Freshdesk
Configure
Templates
Freshservice
Configure
Templates
Google Maps
Configure
Templates
Here
Configure
Templates
HubSpot
Configure
Templates
JIRA
Configure
Templates
Microsoft Graph
Configure
Templates
Open AI
Configure
Templates
Salesforce
Configure
Templates
ServiceNow
Configure
Templates
Stripe
Configure
Templates
Shopify
Configure
Templates
Twilio
Configure
Templates
Zendesk
Configure
Templates
Agents
Agent Transfer Overview
Custom (BotKit)
Drift
Genesys
Intercom
NiceInContact
NiceInContact(User Hub)
Salesforce
ServiceNow
Configure Tokyo and Lower versions
Configure Utah and Higher versions
Unblu
External NLU Adapters
Overview
Dialogflow Engine
Test and Debug
会話スキルの設計
バンキングボットを作成
バンキングボット – 資金の振り替え
バンキングボット – 残高を更新
ナレッジグラフを構築
スマートアラートの予約方法
デジタルスキルの設計
デジタルフォームの設定方法
デジタルビューの設定方法
データテーブルのデータの追加方法
データテーブルのデータの更新方法
Add Data from Digital Forms
ボットのトレーニング
示唆の使用方法
インテントとエンティティのパターンの使用方法
コンテキスト切り替えの管理方法
ボットのデプロイ
エージェント転送の設定方法
ボット関数の使用方法
コンテンツ変数の使用方法
グローバル変数の使用方法
ボットの分析
カスタムダッシュボードの作成方法
カスタムタグを使ってフィルタリング
Data
Overview
Data Table
Table Views
App Definitions
Data as Service
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Migrate External Bots
Google Dialogflow Bot
APIs & SDKs
API Reference
API Introduction
Rate Limits
API List
koreUtil Libraries
SDK Reference
SDK Introduction
Web SDK
How the Web SDK Works
SDK Security
SDK Registration
Web Socket Connect and RTM
Tutorials
Widget SDK Tutorial
Web SDK Tutorial
BotKit SDK
BotKit SDK Deployment Guide
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
SDK Functions
Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer
  1. ホーム
  2. Docs
  3. Virtual Assistants
  4. Test your Bot
  5. 会話テスト

会話テスト

会話テストでは、エンドツーエンドの会話フローをシミュレーションして、ダイアログタスクの評価やリグレッションを行うことができます。さまざまなビジネスシナリオをキャプチャするために、テストケースを作成し、さらに後の時点でそれらを実行してボットのパフォーマンスを検証することができます。 

テストケース

テストケースは、会話フローをキャプチャする一連のテストステップで構成されています。テストステップはそれぞれ、ステップ番号、テスト入力、想定出力、実際の出力、テスト結果などの組み合わせになります。 ステップ#は、実行の順序を定義します。 テスト入力は、会話の中のユーザーメッセージ部分を表しています。 想定出力は、ボットから予測されるボットメッセージを表します。 実際の出力は、テスト実行中におけるボットの応答を表します。プラットフォームは、想定出力に対する実際の出力を評価して、テストステップが合格するかどうかを決定します。 テスト結果は、実際の出力が想定出力と同じであるかどうかを示します。テスト結果は、合格、不合格、不実施のいずれかです。

テストケースの作成 

新しいテストケースは、ボットと会話を使用しながら、会話を記録することにより作成することができます。以下の手順で、新しいテストケースを作成します。 ステップ1:画面右下のアイコンをクリックして「ボットと会話」を起動します。「ボットと会話」は、プラットフォーム上のいずれのモジュールからでも起動できます。

ステップ2:「会話の記録」をクリックすると、テストケースの一部となるメッセージの記録が始まります。

ステップ3:関連するユーザーメッセージを入力して、ボットと対話します。
ステップ4:新しいテストケースを作成するには、「記録停止」をクリックしてから「テストケースの作成」をクリックします。
ステップ5:次画面において、「テストケース名」、「説明」、「タグ」など必要情報を追加して、「追加」をクリックします。

ステップ6:会話テストモジュールに移動して、追加したテストケースを実行するか、または同じ手順で別のテストケースを追加します。 

タグ

タグは、テストケースを分類して整理するのに役立ちます。タグの追加は、テストケースの作成時に行うか、テストケースのプロパティの「一般設定」から行うかを選択できます。

一般設定

 テストケースを作成した後、オーバーフローメニューから「一般設定」にアクセスできます。一般設定には、いくつかの編集可能なプロパティおよびわずかな表示専用のプロパティがあります。

以下のプロパティに編集するオプションがあります。

  • テストケース名
  • テストケースの説明
  • テストケースのタグ

さらに、以下のプロパティを表示はできますが、編集はできません。

  • テストケース作成の日時
  • テストケースを作成したユーザーの名前
  • 直近の更新日時
  • テストケースを直近に更新したユーザーの名前

テストケースの実行

以下の手順で、テストケースを実行する方法、および実行に基づいた詳細な分析レポートを取得する方法について説明します。 ステップ1:実行したいテストケースを選択します。ステップ2:「テストケースの実行」をクリックして、実行を開始します。 ステップ3:次に、テストしたいボットのバージョンを選択する必要があります。選択したバージョンに基づいて、テストケースの一環としてのサービスコールを行うボットに対する有効な認証トークンがあることをご確認ください。 ステップ4:テストケースとステータスドッカーに対する最終結果の列から、進捗状況を監視することができます。 ステップ5:テストケースの実行が終わると、そのテストケースをクリックして実行履歴を表示することができます。 ステップ6:リストアップされたテスト実行のうちからいずれかをクリックすると、そのテスト実行の詳細が表示されます。 テストケースは非同期に実行されています。つまり、複数テストケースが選択されているときでも、実行は順番に行われています。テストの実行が完了する前に、実行をキャンセルするオプションがあります。 テストケースの実行が開始されると、1つ以上のテストステップが不合格であっても、プラットフォームはテストケースを実行し続けます。しかし、テストの実行が1つのテストステップで60秒以上停止したままになると、プラットフォームはタイムアウトし、実行を中止します。 

テスト結果の解釈

すべてのテスト実行に対して、以下の詳細が保存されます。

  • 実行完了の日時。
  • テストケースがボット開発中のバージョン、あるいは公開済みのバージョンのどちらに対して実行しているかを示すバージョンタイプ。 
  • 実行の結果を示す「実行結果」です。テストステップが少なくとも1つ不合格であれば、テストケースは不合格として扱われます。 
  • 実行時間は、実行の合計時間を示します。 
  • テストステップの詳細は、合格、不合格、または未実行のステップの合計を表します。 
  • 実行エラーの詳細は、ユーザーがテストケースを中止したか、テストステップがエラーによりタイムアウトしたために、プラットフォームがテスト実行を完了できなかった場合にのみ表示されます。 

制限事項

以下のモジュールは、現在のバージョンの会話テストではテストできません。 

  • デジタルフォーム
  • コンテンツやコンテキスト変数を使用して動的に生成されるボットメッセージ。

ランナーツールのテスト

記録したテストケースをJSONとしてダウンロードするオプションがあります。このJSONファイルは、同じ会話でボットをテストするために、Kore Githubリポジトリで提供されているテストランナーで使用することができます。このツールは、ブランチをフォークして要件に応じて変更できるオープンソースコードであることに注意してください。キーポイント

  • ボットとの会話中、いつでも記録を開始および停止することができます。
  • 会話全体がテストケースとして保存されます。
  • テストケースを分割してテストスイートを作成したい場合は、会話中に“discard all”コマンドを使用して、実現できます。“discard all”以前の会話をテストケースとして保存すると、その後の会話は別のテストケースとなります。両方のテストケースは、テストスイートとして1つのファイルに保存されます。必要に応じて、会話をいくつものテストケースに分割することができます。
  • 会話全体はJSONファイルに格納されていますので、記録を終了したあとは、ダウンロードすることができます。

テストツールは、JSONファイルからのユーザー入力を用いてボットと会話し、ボットレスポンスと記録されたボットレスポンスを比較します。結果は、テスト結果スプレッドシートに記録され、開発者の入力、実際の結果と想定結果、テスト実行のステータス(合格または不合格)など、テスト実行の総合的レポートが提供されます。このスプレッドシートを使用して、不合格となったテストケースの報告、記録、再テストを行うことができます。テストランナーの詳細については、Kore Githubをご参照ください。

会話テスト

会話テストでは、エンドツーエンドの会話フローをシミュレーションして、ダイアログタスクの評価やリグレッションを行うことができます。さまざまなビジネスシナリオをキャプチャするために、テストケースを作成し、さらに後の時点でそれらを実行してボットのパフォーマンスを検証することができます。 

テストケース

テストケースは、会話フローをキャプチャする一連のテストステップで構成されています。テストステップはそれぞれ、ステップ番号、テスト入力、想定出力、実際の出力、テスト結果などの組み合わせになります。 ステップ#は、実行の順序を定義します。 テスト入力は、会話の中のユーザーメッセージ部分を表しています。 想定出力は、ボットから予測されるボットメッセージを表します。 実際の出力は、テスト実行中におけるボットの応答を表します。プラットフォームは、想定出力に対する実際の出力を評価して、テストステップが合格するかどうかを決定します。 テスト結果は、実際の出力が想定出力と同じであるかどうかを示します。テスト結果は、合格、不合格、不実施のいずれかです。

テストケースの作成 

新しいテストケースは、ボットと会話を使用しながら、会話を記録することにより作成することができます。以下の手順で、新しいテストケースを作成します。 ステップ1:画面右下のアイコンをクリックして「ボットと会話」を起動します。「ボットと会話」は、プラットフォーム上のいずれのモジュールからでも起動できます。

ステップ2:「会話の記録」をクリックすると、テストケースの一部となるメッセージの記録が始まります。

ステップ3:関連するユーザーメッセージを入力して、ボットと対話します。
ステップ4:新しいテストケースを作成するには、「記録停止」をクリックしてから「テストケースの作成」をクリックします。
ステップ5:次画面において、「テストケース名」、「説明」、「タグ」など必要情報を追加して、「追加」をクリックします。

ステップ6:会話テストモジュールに移動して、追加したテストケースを実行するか、または同じ手順で別のテストケースを追加します。 

タグ

タグは、テストケースを分類して整理するのに役立ちます。タグの追加は、テストケースの作成時に行うか、テストケースのプロパティの「一般設定」から行うかを選択できます。

一般設定

 テストケースを作成した後、オーバーフローメニューから「一般設定」にアクセスできます。一般設定には、いくつかの編集可能なプロパティおよびわずかな表示専用のプロパティがあります。

以下のプロパティに編集するオプションがあります。

  • テストケース名
  • テストケースの説明
  • テストケースのタグ

さらに、以下のプロパティを表示はできますが、編集はできません。

  • テストケース作成の日時
  • テストケースを作成したユーザーの名前
  • 直近の更新日時
  • テストケースを直近に更新したユーザーの名前

テストケースの実行

以下の手順で、テストケースを実行する方法、および実行に基づいた詳細な分析レポートを取得する方法について説明します。 ステップ1:実行したいテストケースを選択します。ステップ2:「テストケースの実行」をクリックして、実行を開始します。 ステップ3:次に、テストしたいボットのバージョンを選択する必要があります。選択したバージョンに基づいて、テストケースの一環としてのサービスコールを行うボットに対する有効な認証トークンがあることをご確認ください。 ステップ4:テストケースとステータスドッカーに対する最終結果の列から、進捗状況を監視することができます。 ステップ5:テストケースの実行が終わると、そのテストケースをクリックして実行履歴を表示することができます。 ステップ6:リストアップされたテスト実行のうちからいずれかをクリックすると、そのテスト実行の詳細が表示されます。 テストケースは非同期に実行されています。つまり、複数テストケースが選択されているときでも、実行は順番に行われています。テストの実行が完了する前に、実行をキャンセルするオプションがあります。 テストケースの実行が開始されると、1つ以上のテストステップが不合格であっても、プラットフォームはテストケースを実行し続けます。しかし、テストの実行が1つのテストステップで60秒以上停止したままになると、プラットフォームはタイムアウトし、実行を中止します。 

テスト結果の解釈

すべてのテスト実行に対して、以下の詳細が保存されます。

  • 実行完了の日時。
  • テストケースがボット開発中のバージョン、あるいは公開済みのバージョンのどちらに対して実行しているかを示すバージョンタイプ。 
  • 実行の結果を示す「実行結果」です。テストステップが少なくとも1つ不合格であれば、テストケースは不合格として扱われます。 
  • 実行時間は、実行の合計時間を示します。 
  • テストステップの詳細は、合格、不合格、または未実行のステップの合計を表します。 
  • 実行エラーの詳細は、ユーザーがテストケースを中止したか、テストステップがエラーによりタイムアウトしたために、プラットフォームがテスト実行を完了できなかった場合にのみ表示されます。 

制限事項

以下のモジュールは、現在のバージョンの会話テストではテストできません。 

  • デジタルフォーム
  • コンテンツやコンテキスト変数を使用して動的に生成されるボットメッセージ。

ランナーツールのテスト

記録したテストケースをJSONとしてダウンロードするオプションがあります。このJSONファイルは、同じ会話でボットをテストするために、Kore Githubリポジトリで提供されているテストランナーで使用することができます。このツールは、ブランチをフォークして要件に応じて変更できるオープンソースコードであることに注意してください。キーポイント

  • ボットとの会話中、いつでも記録を開始および停止することができます。
  • 会話全体がテストケースとして保存されます。
  • テストケースを分割してテストスイートを作成したい場合は、会話中に“discard all”コマンドを使用して、実現できます。“discard all”以前の会話をテストケースとして保存すると、その後の会話は別のテストケースとなります。両方のテストケースは、テストスイートとして1つのファイルに保存されます。必要に応じて、会話をいくつものテストケースに分割することができます。
  • 会話全体はJSONファイルに格納されていますので、記録を終了したあとは、ダウンロードすることができます。

テストツールは、JSONファイルからのユーザー入力を用いてボットと会話し、ボットレスポンスと記録されたボットレスポンスを比較します。結果は、テスト結果スプレッドシートに記録され、開発者の入力、実際の結果と想定結果、テスト実行のステータス(合格または不合格)など、テスト実行の総合的レポートが提供されます。このスプレッドシートを使用して、不合格となったテストケースの報告、記録、再テストを行うことができます。テストランナーの詳細については、Kore Githubをご参照ください。

メニュー