测试对话型 Action

Actions Builder 和 Actions SDK 开发环境提供了多种方法,用于在开发周期的每个阶段(从交互式开发测试到最终用户 Beta 版测试)来测试您的 Actions 项目。

您可以使用以下功能来提升 Action 从初始开发到发布的整个过程的质量和可靠性:

  • 通过模拟器进行手动测试,你可以在开发 Action 时在 Actions 控制台中对其进行测试。
  • 使用测试框架和 Actions API 的自动化测试可帮助您生成自动化且可重复的测试。
  • 通过小范围发布的 Alpha 和 Beta 渠道进行用户测试,可帮助您获得实际测试和反馈。

使用模拟器手动测试

借助 Actions 控制台中的模拟器,你可以通过一个简单易用的网页界面手动测试你的 Action,该界面可模拟硬件设备及其设置。在控制台中,点击 Test 激活模拟器,以便对当前选定的项目进行测试。

图 1. 显示输入选项的 Actions 控制台模拟器界面。

通过模拟器,您可以指定目标设备(智能显示屏、手机、扬声器)、输入法(触摸、语音、键盘)、语言和手动测试环境的位置。借助这些选项,您可以在各种设备和地区快速、以交互方式测试 Action 的功能。

详细了解 Actions 控制台模拟器

使用 Actions API 进行自动化测试

为 Action 编写自动化测试有助于确保 Action 的对话逻辑按预期运行,即使引入了新的代码更改也是如此,而无需每次都亲自手动测试代码。

Node.js 测试库使用 Actions API 与项目代码进行交互。借助测试库,您可以定义一个测试套件,向 Action 发送查询并针对该输出进行断言,以验证特定于 Action 的对话状态的信息。

Actions API 提供 REST 端点,可用于创建 Action 的草稿并使用查询以编程方式与其交互,然后查找与给定查询匹配的 intent 数据。如果您想直接使用这些端点,可以下载 Node.js Actions API 客户端库

借助测试库,您可以通过使用 sendQuery 函数发送查询来测试单轮对话。此方法将文本查询作为输入,并生成结构化输出,其中包含呈现给用户的提示内容,以及其他说明请求处理方式的诊断信息。您可以使用输出测试对象中的内置断言方法来验证 Action 的行为,例如匹配的 intent 和当前场景。

以下示例展示了一项测试,该测试断言 Action 会触发适当的欢迎响应:

it('starts Action and enters the Welcome scene', async function() {
    testManager.setTestSurface('SMART_DISPLAY');
    await testManager.sendQuery('Talk to my test app');
    testManager.assertSpeech('Hello World!');
    testManager.assertText('Hello World!');
    testManager.assertIntent('actions.intent.MAIN');
    testManager.assertScene('Welcome');
    await testManager.sendStop();
    testManager.assertConversationEnded();
});

如需查看使用 Node.js 编写的测试套件的完整可运行示例,请参阅对话组件代码示例

如需详细了解如何开始使用此测试框架,请参阅 Node.js 测试库说明。

使用 Alpha 版和 Beta 版进行用户测试

Actions 控制台提供了一些选项,可让您将 Action 发布到小范围发布渠道,以便您选择的一组用户进行测试。在管理中心内,你可以将 Action 发布到 Alpha 和 Beta 渠道,让有限数量的用户测试你的 Action,并在开发过程的早期阶段提供反馈。借助此功能,你有机会在将 Action 发布为正式版之前发现并解决技术或用户体验方面的问题。

图 2. 在 Actions 控制台的“版本”界面中,您可以为 Action 配置 Alpha 版和 Beta 版发布渠道。

Alpha 版发布渠道可让你向一组由 20 名开发者指定的用户发布你的 Action,然后这些用户就能通过支持 Google 助理的设备测试你的 Action。Alpha 版非常适合内部测试,因为该版本不需要 Google 的 Action 审核流程。当您的 Action 发布到此渠道后,Alpha 版测试人员可立即使用。

通过 Beta 版发布渠道,你可以将 Action 发布给一组 200 位开发者指定的用户,然后这些用户就可以通过支持 Google 助理的设备测试你的 Action。如果您的项目已通过全面的 Google 审核,那么 Beta 版将是您向组织外部用户授予访问权限的理想选择。如果您对 Beta 版测试的结果感到满意,就可以将 Beta 版发布为正式版,因为它已通过 Google 政策审核。

如需详细了解发布渠道,请参阅 Actions 控制台版本文档。