行動テスト

StandardBotの行動テストでは、テキストまたは音声バーチャルエージェントがコア行動をどのように実行するかを確認できます。StandardBotテストスクリプトを使用して、すべてのテストを実行できます。現在、サンプルスクリプトは、テキストバーチャルエージェントのすべての行動と、音声バーチャルエージェントの一部の動作をテストしています。

StandardBotテストは、スクリプトによってバーチャルエージェントにトリガーを送信することで機能します。バーチャルエージェントは、それぞれのトリガーに特定の方法で応答するように設定されています。スクリプトは、バーチャルエージェントの応答の一部を解析し、識別するように設定されています。スクリプトが求めているものが応答に含まれていない場合、バーチャルエージェントはテストに合格しません。含まれている場合、バーチャルエージェントがテストに合格します。

トリガーは、StandardBotのテストに固有のものです。デフォルトでは、バーチャルエージェントが本稼働環境で対応するように訓練された言葉や自動化インテントとは異なります。デフォルトのStandardBotテストトリガーをコンタクトが使うことはまずありません。たとえば、debugStandardBotExchangedebugStandardBotScriptPayloadという2つのフレーズは、スクリプトのデフォルトのトリガーフレーズです。このため、StandardBotのテストは本稼働環境で使用しても安全です。

テストのカテゴリー

StandardBotのテストは次の2種類があります。

合格基準

トリガーと応答に加えて、StandardBotの各テストには、テストが成功するために満たさなければならない基準があります。テストに合格するには、バーチャルエージェントが正しい応答を返さなければなりません。多くのテストでは、この応答は、バーチャルエージェントがライブのインタラクションで返す応答とは異なります。これにより、バーチャルエージェントがそれぞれのテストに合格したことを確認できます。

たとえば、ボットエクスチェンジのテストに合格するには、バーチャルエージェントがbot responseというフレーズを返す必要があります。これは、バーチャルエージェントが通常のインタラクションで使うフレーズではありません。ボットエクスチェンジテストに固有のユニークなものです。これにより、それがテストに対する正しい応答であることがわかります。

StandardBotのテストの準備

バーチャルエージェントでStandardBotのテストを実行する前に、以下を行う必要があります。

  • バーチャルエージェントハブバージョン3.0を使用していない場合、バーチャルエージェントをバージョン3.0にアップグレードします。
  • テストするバーチャルエージェントの名前をメモします。この名前は、StudioスクリプトでバーチャルエージェントIDとして使用されます。この情報はスクリプトを設定するために必要です。これはバーチャルエージェントハブのバーチャルエージェントアプリで見つけることができます。たとえば、以下の画像では、バーチャルエージェントの名前はMS6628です。

  • テストで使用されたトリガーとなる単語、フレーズ、自動化インテントに応答するように、バーチャルエージェントをトレーニングします。バーチャルエージェントのトレーニング方法については、バーチャルエージェントプロバイダーのドキュメントを参照してください。

  • StandardBotスクリプトをダウンロードして設定します。

統合バージョン3.0に変換する

追加するすべての新しいバーチャルエージェントは連携バージョン3.0を使用して作成する必要があります。既存のバーチャルエージェントの場合、統合バージョン3.0への変更はオプションです。ただし、変換しない場合、そのバーチャルエージェントでStandardBotを使用することはできません。

以前のバージョンから連携バージョン3.0に変換する場合、設定、スクリプト、連携バージョン3.0の互換性は不明です。組織のバーチャルエージェントサービスに予期せぬ混乱が生じるのを防ぐため、本稼働環境を変換する前に、テスト環境でアップグレードを検証するのが最善です。

StandardBotのテストを使用して、新しいバージョンへの変換に問題があるかどうか、またその問題は何かを判定できます。以下のステップはコンバージョンへのひとつのアプローチの可能性を概説します。

  1. コンバートしたいバーチャルエージェントハブバーチャルエージェントアプリをクローン化します。
  2. バーチャルエージェントハブのアプリのクローン化したバージョンをクリックします。
  3. プロパティのページで統合バージョンのフィールドから3.0を選択します。
  4. 保存をクリックします。
  5. バーチャルエージェントプロバイダーの管理コンソールで、変換するバーチャルエージェントにStandardBotの行動を追加します。これには自動化インテントとトリガーワードが含まれます。
  6. Studioにある適切なStandardBotスクリプトを使用して、クローン化したバージョンのアプリでStandardBotテストを実行します。
  7. 失敗したものはすべてメモしておきます。それらは本稼働バージョンをコンバートする前に対処する必要があるバーチャルエージェントの設定またはスクリプト内の場所です。
  8. スクリプトや設定に問題があれば修正します。修正にはバーチャルエージェントプロバイダーのコンソール、バーチャルエージェントハブの設定またはStudioスクリプトを変更する必要があります。
  9. StandardBotテストとクローン化したスクリプトを再度実行します。
  10. バーチャルエージェントがすべてのテストに合格しStudioスクリプトが期待どおりに動作するまでこれらのステップを繰り返します。
  11. バーチャルエージェントがすべてのテストに合格したら本稼働バージョンに修正をコピーして入れることができます。設定やスクリプトを大幅に変更しなければならなかった場合、現在のテストバージョンを新しい本稼働バージョンとして使用したい可能性があります。

バーチャルエージェントハブ Asyncコードに変換する

Asyncコード...

バーチャルエージェントハブのインスタンスをasyncコードに変換するには、CXoneアカウント担当者からの支援が必要です。まず、テスト用のCXoneシステムで有効にする必要があります。こうすることで、本稼働システムで有効にする前に、スイッチの結果として発生し得る問題に対処することができます。

バーチャルエージェントの設定とトレーニング

StandardBotのテストで使用されたトリガーとなる単語、フレーズ、自動化インテントを認識できるように、バーチャルエージェントをトレーニングする必要があります。これがテストを正しく機能させる唯一の方法です。バーチャルエージェントが、あるトリガーを、ある特定の方法で応答する必要があるものとして認識しない場合には、適切な応答ができず、テストは無効となります。バーチャルエージェントのトレーニング方法を学ぶには、バーチャルエージェントプロバイダーのドキュメントを参照してください。

StandardBotスクリプトは、デフォルトのトリガーセットを使用するように設定されています。異なるトリガーを使用したい場合は、スクリプトの設定を変更し、新しいトリガーに応答するようにバーチャルエージェントをトレーニングする必要があります。各テストのデフォルトトリガーと応答については、コア行動のヘルプページに記載されています。

StandardBotスクリプトを設定する

StandardBotスクリプトを使用する前に、カスタマイズを行う必要があります。これには、バーチャルエージェントの名前と、テスト結果レポートの送信先となるEメールアドレスを追加する作業が含まれます。

  1. StandardBotスクリプトをStudioダウンロードしてインポートし、保存します。
  2. Declare Objects & Set Bot to Testラベルの付いたSnippetアクションをダブルクリックします。
  3. Snippet EditorウィンドウのText View タブをクリックします。
  4. テストレポートをEメールアドレスに送信する場合、ReportEmail変数を探します。その値をレポートの送信先のEメールアドレスに変更します。値は、二重引用符で囲む必要があります。Eメールアドレスを追加しない場合は、スクリプトのトレースでテスト結果を確認できます。
  5. テストするバーチャルエージェントの名前をスクリプトに設定します:
    1. BotsList[1].BotNameの値をテストするバーチャルエージェントの名前に変更します。この名前は、このページのStandardBotのテストの準備セクションで説明されているように、バーチャルエージェントハブで見つけることができます。例:
    2. BotsList[1].BotName = "MS6628"
    3. このスクリプトでテストしたいバーチャルエージェントが複数ある場合は、次のASSIGNステートメントの前のコメント文字(//)を削除します。別のバーチャルエージェントの名前を値として追加します。たとえば、// ASSIGN BotsList[2].BotName = "StandardBot_DialogFlow_ES"ASSIGN BotsList[2].BotName = "GDF2123"となります。
  6. スクリプトでテストするバーチャルエージェントを設定します:
    1. スクリプトが1つのバーチャルエージェントのみをテストするように設定されている場合は、BotToTest変数の値を変更しないでください。2つの二重引用符の間にテキストやスペースを含めることはできません。例えば、 BotToTest = ""
    2. スクリプトが複数のバーチャルエージェントをテストするように設定されていて、すべてのバーチャルエージェントでテストを実行したい場合は、BotToTest変数の値を変更しないでください。2つの二重引用符の間にテキストやスペースを含めることはできません。例えば、 BotToTest = ""
    3. スクリプトが複数のバーチャルエージェントをテストするように設定されていて、そのうちの1つだけをテストしたい場合は、BotToTestの値を、BotsListオブジェクト内のそのバーチャルエージェントのインデックス値に変更します。たとえば、前のステップでバーチャルエージェントGDF2123をテストするには、BotToTestの値として2を入力します。
  7. スクリプトで実行するテストを設定します。必要に応じて、testPathの値を次のいずれかに変更します。デフォルトはtestAllです。オプションは次のとおりです:

    • testAll:スクリプトにすべてのStandardBotテストを実行させる場合は、この値を使用します。このオプションは、会話の終了テストを実行しますが、エスカレーションテストは実行しません。
    • EscalationPath:スクリプトにエスカレーションテストを実行させる場合は、この値を使用します。これは、バーチャルエージェントがインタラクションをライブエージェントにエスカレーションする能力をテストします。

  8. OKをクリックしてSnippet editorウィンドウを閉じます。
  9. TextBot Exchangeウィンドウで[閉じる]をクリックします。これにより、選択したバーチャルエージェントがTextbot Exchangeアクションに追加されます。
  10. スクリプトを保存します。

StandardBotスクリプトをカスタマイズする

ほとんどのテストでは、StandardBotスクリプトをカスタマイズする必要はありません。自動化インテントテストでは、スクリプトで使用する自動化インテントをテストできるように、スクリプトを修正する必要があります。必要な場合、これらのステップに従って他のテストを変更することもできます。

スクリプトのテスト値を変更した場合は、バーチャルエージェントを設定する際に、同じ値を使用する必要があります。一方だけを変更した場合、テストは機能しません。

  1. Studioで、カスタマイズするStandardBotスクリプトを開きます。
  2. 変更を元に戻す必要がある場合に備えて、スクリプトのコピーをバックアップとして保存します。
  3. Config test data SNIPPETアクションをダブルクリックします。
  4. [テキストビュー]タブで、DYNAMIC TestData行までスクロールダウンし、修正するテストのASSIGNステートメントのセットを探します。このオブジェクトは、各テストをトリガーするためにバーチャルエージェントに送信される値を設定します。各テストでこのオブジェクトに以下のパラメーターがあります:

    AutoIntent = ""
    UserInput = ""
    CustomPayload = ""
    TestName = ""
    TestStatus = ""
    TestNumber = ""
    
  5. 以下のガイドラインに従って、変更が必要な値をすべて修正します:
    • テストに使用されるパラメーターはTestData[#].AutoIntentTestData[#].UserInputTestData[#].CustomPayloadです。
    • 各テストですべてのパラメーターが使用されるわけではありません。各テストのデフォルト値は、そのテストが使用するパラメーターを示しています。必要に応じてパラメーターを追加できますが、そのパラメーターに対応するようにバーチャルエージェントを設定しない限り、テストの結果には影響しません。
    • TestData[#].TestStatusを変更する必要はありません。スクリプトは、実行時にこのパラメーターを自動的に更新します。
    • テストの名前を変更するには、TestData[#].TestNameを修正します。
    • テストの終了時にレポートに表示されるラベルを変更するには、TestData[#].TestNumberを変更します。
  6. OKをクリックして変更内容を保存し、Snippet editorウィンドウを閉じます。
  7. Evaluate Results SNIPPETアクションをダブルクリックします。

    このスニペットではTestDataオブジェクトの値を変更しないでください。スクリプトはこれらの値を自動的に更新します。これらの値に加えた変更は、スクリプトの実行時に上書きされます。

  8. 下にスクロールしてSWITCH CurrentTestの行に移動します。これはSWITCHステートメントで、CurrentTest変数の値に応じてスクリプトが取る一連の異なるアクションを設定します。このSWITCHステートメントが、バーチャルエージェントが各テストに合格するかどうかをスクリプトで判断できるように基準を設定します。

  9. 修正するテストに一致する番号を持つCASEステートメントを探します。たとえば、テスト9「自動化インテント」の合格基準を変更するには、CASE 9までスクロールダウンします。
  10. CASEステートメント内のIFステートメントで、必要に応じて変数の値を変更します。
  11. OKをクリックして変更内容を保存し、Snippet エディターウィンドウを閉じます。
  12. スクリプトを保存します。

StandardBotスクリプトからテストを実行する

StandardBotテストスクリプトを使用して、すべての行動を一度にテストできます。まだ行っていない場合は、バーチャルエージェントの設定とトレーニングおよびStandardBotスクリプトの設定を行います。

  1. Studioで、実行するStandardBotスクリプトを開きます。
  2. Start with Traceをクリックします。
  3. トレース出力ウィンドウで、テストの結果を確認できます。
  4. トレース結果の一番下までスクロールし、最後の行をクリックします。これは ENDアクションの行です。
  5. 変数タブで、testreportstring変数を見つけ、ダブルクリックして変数の内容を新しいウィンドウで開きます。これにより、各テストの結果の概要がわかります。スクリプトにEメールアドレスを設定した場合は、テスト結果のコピーがそのアドレスに自動的に送信されます。

バーチャルエージェントハブからStandardBotテストを実行します。

バーチャルエージェントハブのバーチャルエージェントアプリのプロパティページにあるテストペインから、ほとんどの行動をテストできます。これは、音声とテキストのバーチャルエージェントに使用できます。

どの入力を使用すべきか、またどのバーチャルエージェントがテストに合格したかを知るには、コア行動のヘルプページを参照する必要があります。ページ上の各行動には、データの表を含むStandardBotテストの見出しがあります。この表には、テストを手動で実行するために必要なすべての情報が記載されており、そのテストが手動での実行をサポートしているかどうかも示されています。

  1. CXoneで、アプリセレクターをクリックして、選択しますその他 > 連携
  2. Cxoneバーチャルエージェントハブをクリックします。
  3. テストするバーチャルエージェントをクリックします。
  4. 人間の入力がトリガーとなる行動:
    1. 選択したバーチャルエージェントのプロパティの[テスト]セクションで、[メッセージを入力]フィールドに、実行したいテスト用に記述された入力を入力します。この情報は、テスト詳細表のスクリプトでテストを実行するための変数入力行に記載されています。
    2. Enterを押します。
  5. 自動化インテントがトリガーとなる行動:
    1. 選択したバーチャルエージェントのプロパティの[テスト]セクションで、[メッセージを入力]フィールドの隣の[その他のオプション]縦に積み上げられた3つのドット。をクリックします。
    2. テストする自動化インテントを入力します。これらは、コア行動のヘルプページで各テストについて説明されています。自動化インテントを持つ行動については、テスト詳細テーブルの手動でテストを実行するための入力行で、自動化されたインテントを見つけることができます。
    3. [トリガー]をクリックします。
  6. テストチャットウィンドウに表示されるバーチャルエージェントの応答に注目してください。これを、そのテストの合格基準と比較します。
  7. バーチャルエージェントがテストに合格しない場合は、スクリプトまたはバーチャルエージェントの設定に推奨される変更を加えてから、テストをやり直してください。

スケジュールで実行するテストスクリプトを設定する

スケジュールに従って実行されるようにStandardBotスクリプトを設定できます。これにより、StandardBotが、問題を迅速に知らせる監視ツールとなります。以下のステップでは、テストのいずれかに問題がある場合にのみ通知を送信するようにスクリプトを変更します。

  1. StandardBotテストスクリプトを開きます。
  2. 必要であれば、障害通知を送信するEメールアドレスを設定します:
    1. Declare Objects & Set Bot to Testラベルの付いたSnippetアクションをダブルクリックします。
    2. Snippet EditorウィンドウのText View タブをクリックします。
    3. ReportEmail変数を見つけて、レポートの送信先のEメールアドレスに値を変更します。値は、二重引用符で囲む必要があります。
    4. OKをクリックします。
  3. テストに失敗した場合にのみアラートを送信するようにスクリプトを修正します:
    1. Prepare Report SNIPPETアクションとSend Report EMAIL アクションの間のコネクターを削除します。
    2. スクリプトにIFSNIPPETアクションを追加し、IFTrueブランチがSend Report EMAIL アクションに接続するようにします。FalseブランチがENDに接続する必要があります。次の画像を参照してください。

    3. 2つの新しいアクションのキャプションを変更し、その目的を示すようにします。この例では、SNIPPETアクションのキャプションがTest For Failureとなっています。IFアクションのキャプションはEmail On Failです。
    4. SNIPPETアクションをダブルクリックして、次のコード行を追加します:

      
      ASSIGN isProblem = testreportstring.contains("fail")		
    5. Save the snippet.
    6. Change the value of the Expression property of the new IF action to isProblem=1.
    7. Save the changes to your script.
  4. CXoneスクリプトスケジュールを設定し、このスクリプトを必要な周期で実行します。