测试用例

您可以使用内置测试功能来发现错误并防止回归。如需测试代理,可使用模拟器创建测试用例以定义黄金测试用例,然后根据需要执行测试用例。测试作业验证是否已针对测试用例中定义的最终用户输入更改代理响应。

以下说明介绍了如何使用控制台,但您也可以在 API 中找到相同的功能。

模拟器设置

首次打开模拟器时,您需要选择代理环境或流版本和有效。在大多数情况下,您应该使用草稿环境和默认开始流。

您还可以使用网络钩子 切换按钮随时启用或停用网络钩子调用。定义测试用例时,停用网络钩子非常有用。

模拟器输入

与模拟器互动时,可采用文本形式提供最终用户输入,然后按 Enter 键或点击发送 按钮。除了纯文本之外,您还可以使用输入 选择器选择替代输入类型:

  • 参数值:注入参数值。您可以提供新参数或为现有参数提供预设值。
  • 事件:调用事件
  • DTMF:针对电话互动发送双音多频信令(触摸提示音)输入。

创建测试用例

如需创建对话,请执行以下操作:

  1. 打开 Dialogflow CX 控制台
  2. 选择 GCP 项目。
  3. 选择您的代理。
  4. 点击测试代理以打开模拟器。
  5. 与代理聊天,以创建涵盖您要测试的功能的对话。对于每个回合,验证触发的意图、代理响应、有效页面和会话参数的正确值。

模拟器屏幕截图。

如需将对话保存为测试用例,请执行以下操作:

  1. 点击保存 按钮。
  2. 输入测试用例显示名。每个测试用例必须具有唯一的显示名。
  3. (可选)提供标记名称。标记可帮助您组织测试用例。所有标记都必须以“#”开头。
  4. (可选)提供说明测试用例用途的备注。
  5. (可选)选择您想要在测试用例中跟踪的参数。系统将提供建议参数的列表。您还可以输入要跟踪的其他参数。如果您选择了跟踪参数,系统会在运行测试用例时检查参数断言。如需详细了解参数断言,请参阅运行测试用例部分。
  6. 点击保存以保存测试用例。

运行测试用例

如需查看代理的所有测试用例,请点击管理标签页中的测试用例。测试用例表会显示测试名称、标记、最新测试时间和环境以及最新测试结果。

如需运行测试用例,请执行以下操作:

  1. 选择要运行的测试用例,然后点击运行。或者,您也可以点击运行所有测试用例
  2. 选择要据以运行测试用例的环境。
  3. 测试开始运行,您可以在任务队列中查看状态。测试完成后即会更新测试结果。

如需查看测试详细信息结果,请点击测试用例。黄金测试案例最新运行对话并排显示。

模拟器屏幕截图。

您可以点击任何代理的对话回合,以查看该回合的详细信息。测试引擎将依次检查以下类型的数据,以评估测试结果:

  • 代理对话

    对于每个对话回合,都将从黄金到最新运行比较代理对话。如果存在任何差异,则会显示警告。这些差异不会阻止测试通过,因为同一代理状态的代理对话通常会有变化。

  • 匹配的意图

    每个回合的匹配的意图必须相同,测试才能通过。

  • 当前页面

    每个回合的有效页面必须相同,测试才能通过。

  • 会话参数

    如果您在创建测试用例时添加了跟踪参数,测试引擎将检查相应的会话参数,如果存在缺失/意外的参数或参数值不匹配,测试就会失败。

在某些情况下,测试用例可能会因代理更新而预期失败。如果最新运行中的对话反映了预期的更改,您可以点击另存为黄金测试用例,以覆盖黄金测试用例

修改测试用例

如需修改测试用例,请从测试用例表中选择测试用例,然后点击测试用例名称旁边的修改 图标。系统会显示更新测试用例对话框。

如需修改测试用例的元数据和设置,请点击设置标签页。

  1. 您可以修改测试用例名称标记备注字段,或添加新的跟踪参数。

  2. 点击保存

如需修改测试用例的用户输入,请点击用户输入标签页。

  1. 添加、移除或修改 JSON 格式的用户输入。

  2. 点击确认。 自动测试运行将开始,更新后的会话将在测试运行完成后显示。

  3. 点击保存以覆盖原始黄金测试用例,或点击另存为以创建具有更改的新测试用例。

查看测试覆盖率

如需查看所有测试用例的测试覆盖率报告,请点击覆盖率

覆盖率页面包含以下标签:

  • 针对具有测试用例执行的转换目标的所有状态处理程序(不包括路由组)确定转换覆盖率。源流/页面和转换目标流/页面列在表中。

  • 针对测试用例匹配的所有意图确定意图覆盖率。

  • 路由组覆盖率由与测试用例匹配的所有路由组确定。

导入和导出测试用例

如需导出测试用例,请执行以下操作:

  1. 选择测试用例,然后点击导出或点击导出所有测试用例
  2. 点击下载到本地文件,或提供 Cloud Storage 存储桶 URI 并点击导出到 Google Cloud Storage

导入测试用例时,Dialogflow 始终会为目标代理创建新的测试用例,并且不会覆盖任何现有测试用例。 如需导入测试用例,请执行以下操作:

  1. 点击导入
  2. 选择本地文件或提供 Cloud Storage 存储桶 URI。