行为测试

StandardBot 行为测试可使您检查文本或语音虚拟坐席如何执行核心行为。您可以使用 StandardBot 测试脚本执行所有测试。当前,示例脚本测试文本虚拟坐席的所有行为以及语音虚拟坐席的一些行为。

StandardBot 通过让脚本向虚拟坐席发送触发器来测试工作。虚拟坐席被配置为以特定方式响应每个触发器。该脚本被设置为解析并识别虚拟坐席响应的部分内容。如果响应不包含脚本正在查找的内容,则虚拟坐席未通过测试。如果包含,则虚拟坐席通过测试。

这些触发器专用于 StandardBot 测试。默认情况下,它们与虚拟坐席经训练在生产环境中响应的词语和自动意图不同。默认 StandardBot 测试触发器不太可能被联系人使用。例如,debugStandardBotExchangedebugStandardBotScriptPayload 是脚本中的两个默认触发短语。因此,StandardBot 测试可以安全地在生产环境中使用。

测试类别

StandardBot 测试有两种类型:

通过标准

除了触发器和响应之外,每个 StandardBot 测试还具有实现成功测试必须符合的标准。要通过测试,虚拟坐席必须返回正确的响应。对于许多测试,此响应与虚拟坐席在实时交互中给出的响应不同。这意味着您可以确定虚拟坐席是否已通过每项测试。

例如,要通过“机器人交换”测试,虚拟坐席必须返回短语 bot response。这不是虚拟坐席在交互过程中通常使用的短语。它是唯一的并且特定于“机器人交换”测试。这样您便知道这是否是对测试的正确响应。

准备 StandardBot 测试

在虚拟坐席上运行 StandardBot 测试之前,您必须:

  • 将您的虚拟坐席升级虚拟坐席中心 集成版本 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. 当您的虚拟坐席通过所有测试后,您可以将修复复制到生产版本中。如果您必须对配置和脚本进行大量更改,您可能需要使用当前的测试版本 作为您的新生产版本。

转换为 虚拟坐席中心 异步代码

异步代码...

要将 虚拟坐席中心 的实例转换为异步代码,您需要 CXone 客户代表 的帮助。应首先在测试 CXone 系统上启用它。这样,在生产系统上启用它之前,可解决因切换而可能出现的任何问题。

配置和训练您的虚拟坐席

您必须训练虚拟坐席,使其能够识别 StandardBot 测试中使用的触发词、短语和自动意图。这是这些测试将发挥作用的唯一方法。如果虚拟坐席未将触发器识别为其需要以某种方式响应的内容,则它不会做出适当的响应,并且测试将无效。请参阅虚拟坐席提供程序提供的文档,了解如何训练虚拟坐席。

StandardBot 脚本被配置为使用一组默认触发器。如果您想使用不同的触发器,则需要更改脚本配置并训练虚拟坐席,使其响应新的触发器。默认触发器是对每个测试的响应,在核心行为帮助页面上描述了这些触发器。

设置 StandardBot 脚本

在使用 StandardBot 脚本之前,您需要对其进行自定义。这包括添加虚拟坐席的名称,以及您希望通过电子邮件将测试结果报告发送到的电子邮件地址。

  1. 下载 StandardBot 脚本并将其导入 Studio 中并保存。
  2. 双击带有标签 Declare Objects & Set Bot to TestSnippet 操作。
  3. 单击 Snippet Editor 窗口中的 Text View 选项卡
  4. 如果您希望将测试报告发送到某个电子邮件地址,则查找 ReportEmail 变量。将该值更改为您希望将该报告发送到的电子邮件地址。该值必须用双引号括起来。如果您未添加电子邮件地址,您可以在脚本跟踪中检查测试结果
  5. 使用您正在测试的虚拟坐席的名称配置脚本:
    1. BotsList[1].BotName 的值更改为您正在测试的虚拟坐席的名称。您可以在 虚拟坐席中心 中找到此名称,如在此页面的准备 StandardBot 测试部分中所述。例如,BotsList[1].BotName = "MS6628"
    2. 如果您想使用此脚本测试多个虚拟坐席,请删除下一个 ASSIGN 语句前面的注释字符 (//) 。添加另一个虚拟坐席的名称作为该值。例如,// ASSIGN BotsList[2].BotName = "StandardBot_DialogFlow_ES" 将变为 ASSIGN BotsList[2].BotName = "GDF2123"
  6. 配置您希望脚本测试的虚拟坐席:
    1. 如果将脚本设置为仅测试一个虚拟坐席,则不要更改 BotToTest 变量的值。它不应在两个双引号之间包含任何文本或空格。例如,BotToTest = ""
    2. 如果将脚本设置为测试多个虚拟坐席,并且您希望它对所有虚拟坐席运行测试,则不要更改 BotToTest 变量的值。它不应在两个双引号之间包含任何文本或空格。例如,BotToTest = ""
    3. 如果将脚本设置为测试多个虚拟坐席,但您只想对其中一个运行测试,则在 BotsList 对象中将 BotToTest 的值更改为该虚拟坐席的索引值。例如,要测试上一步骤中的 GDF2123 虚拟坐席,请输入 2 作为 BotToTest 的值。
  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 变量,然后双击它,在新窗口中打开该变量的内容。其概述了每个测试的结果。如果您使用电子邮件地址配置了脚本,则会将测试结果的副本自动发送到该地址。

虚拟坐席中心 运行 StandardBot 测试

虚拟坐席中心 中,您可以从虚拟坐席应用程序属性页面的“测试”窗格中测试大多数行为。这适用于语音和文本虚拟坐席。

要了解将使用哪个输入以及虚拟坐席是否已通过测试,您需要查看核心行为帮助页面。该页面上的每个行为都包含一个具有数据表的 StandardBot 测试标题。该表包含手动运行测试所需了解的所有信息,包括该测试是否支持手动运行的指示。

  1. CXone 中单击应用程序选择器 并选择其他 > 集成
  2. 单击 CXone 虚拟坐席中心
  3. 单击您要测试的虚拟坐席。
  4. 对于从人工输入触发的行为:
    1. 在所选虚拟坐席属性的“测试”部分中,在输入消息字段中输入针对您要执行的测试描述的输入。您可以在测试详细信息表的 在脚本中运行测试的变量输入 行中找到该信息。
    2. Enter
  5. 对于从自动意图触发的行为:
    1. 在所选虚拟坐席属性的“测试”部分中,单击输入消息字段旁边的更多选项 垂直堆叠的三个点。
    2. 输入您要测试的自动意图。这些是“核心行为”帮助页面上针对每个测试描述的内容。对于具有自动意图的行为,您可以在测试详细信息表的 输入手动运行测试 行中找到这些自动意图。
    3. 单击触发
  6. 注意测试聊天窗口中虚拟坐席的响应。将其与该测试的通过标准进行比较。
  7. 如果您的虚拟坐席未通过测试,请对脚本或虚拟坐席配置进行建议的更改,然后重复测试。

将测试脚本设置成按计划表运行

您可以将 StandardBot 脚本设置成按计划表运行。通过执行此操作,StandardBot 可成为一个能够快速将问题通知给您的监控工具。您可以通过以下步骤修改此脚本,以便使其仅在其中一项测试出现问题时才发送通知。

  1. 打开您的 StandardBot 测试脚本。
  2. 如果需要,请配置您要将失败通知发送到的电子邮件地址:
    1. 双击带有标签 Declare Objects & Set Bot to TestSnippet 操作。
    2. 单击 Snippet Editor 窗口中的 Text View 选项卡
    3. 查找 ReportEmail 变量,然后将该值更改为您希望将该报告发送到的电子邮件地址。该值必须用双引号括起来。
    4. 单击 OK
  3. 修改此脚本,使其仅在测试失败时发送警报:
    1. 删除准备报告 SNIPPET 操作与发送报告 EMAIL  操作之间的连接器。
    2. IFSNIPPET 操作添加到脚本中,然后将它们连接起来,以便 IFTrue 分支连接到发送报告 EMAIL  操作。False 分支应连接到 END。这如下图所示:

    3. 更改这两个新操作的说明文字,以指明其用途。在该示例中,SNIPPET 操作的说明文字是失败测试IF 操作的说明文字是电子邮件打开失败
    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 中设置脚本计划,以您按照您想要的节奏运行此脚本。