测试对话型 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 审核流程。Alpha 版测试人员可以立即访问在此渠道中发布的 Action。

通过 Beta 版发布渠道,您可以向一组 200 名开发者指定的用户发布 Action,这些用户随后可以通过 Google 助理设备测试您的 Action。Beta 版非常适合在项目已通过全面 Google 审核后向组织外部的用户授予访问权限。如果您对 Beta 版测试的结果感到满意,就可以将 Beta 版发布为正式版,因为该版本已通过 Google 政策审核。

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