会話型アクションをテストする

Actions Builder と Actions SDK の開発環境では、インタラクティブな開発テストからエンドユーザーのベータ版テストまで、開発サイクルの各段階で Actions プロジェクトをテストできます。

最初の開発からリリースまで、アクションの品質と信頼性を向上させるには、次の機能を使用します。

  • シミュレータによる手動テストにより、アクションを開発中に Actions Console でテストできます。
  • テスト フレームワークと Actions API を使用した自動テストにより、自動化された反復可能なテストを生成できます。
  • 限定リリースのアルファ版チャンネルとベータ版チャンネルでユーザーテストを行うことで、実際のテストやフィードバックを得ることができます。

シミュレータによる手動テスト

Actions Console のシミュレータを使用すると、ハードウェア デバイスとその設定をシミュレートする使いやすいウェブ インターフェースからアクションを手動でテストできます。コンソールで [Test] をクリックしてシミュレータをアクティブにし、現在選択されているプロジェクトでテストを行います。

図 1. 入力オプションが表示されている Actions Console シミュレータ インターフェース

シミュレータでは、ターゲット デバイス(スマートディスプレイ、スマートフォン、スピーカー)、入力方法(タップ、音声、キーボード)、言語、手動テスト環境の場所を指定できます。これらのオプションを使用すると、さまざまなデバイスや地域でアクションの機能を迅速かつインタラクティブにテストできます。

Actions Console のシミュレータの詳細を確認する。

Actions API を使用した自動テスト

アクションの自動テストを作成すると、新しいコードが変更された場合でも、毎回手動でコードをテストする必要がなく、アクションの会話ロジックが意図したとおりに動作することを確認できます。

Node.js テスト ライブラリは、Actions API を使用してプロジェクト コードを操作します。テスト ライブラリを使用すると、アクションにクエリを送信し、その出力に対するアサーションを作成して、アクションの会話状態に固有の情報を検証するテストスイートを定義できます。

Actions API で提供される REST エンドポイントを使用すると、アクションのドラフトを作成し、クエリを使用してプログラムで操作し、特定のクエリに一致するインテント データを検索できます。これらのエンドポイントを直接使用する場合は、Node.js Actions API クライアント ライブラリをダウンロードします。

テスト ライブラリを使用して、sendQuery 関数を使用してクエリを送信することで、1 回の会話をテストできます。このメソッドは、テキストクエリを入力として受け取り、ユーザーに提示されたプロンプトの内容と、リクエストの処理方法を説明するその他の診断情報を含む構造化された出力を生成します。出力テスト オブジェクトの組み込みアサーション メソッドを使用して、アクションの動作(一致したインテントや現在のシーンなど)を確認できます。

次の例は、適切なウェルカム レスポンスでアクションがトリガーされることをアサートするテストを示しています。

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 テスト ライブラリの手順をご覧ください。

アルファ版リリースとベータ版リリースでのユーザーテスト

Actions Console には、限られたリリース チャンネルにアクションをリリースするオプションがあり、選択したユーザー グループを対象にテストできます。コンソールでは、アルファ版やベータ版のチャンネルにアクションをリリースできます。これにより、限られた数のユーザーにアクションをテストして、開発プロセスの早い段階でフィードバックを提供できます。この機能を使用すると、アクションを本番環境にリリースする前に、技術的な問題やユーザー エクスペリエンスの問題を見つけて修正できます。

図 2. Actions Console のリリース インターフェースでは、アクションにアルファ版とベータ版のリリース チャンネルを設定できます。

アルファ版リリース チャンネルでは、デベロッパーが指定した 20 名のユーザーにアクションをリリースできます。これらのユーザーは、Google アシスタント デバイスでアクションをテストできます。アルファ版リリースは、Google のアクションの審査プロセスを必要としないため、内部テストに最適です。アルファ版テスターは、このチャンネルにアクションがリリースされると、すぐにそのアクションにアクセスできます。

Beta リリース チャンネルを使用すると、デベロッパー指定の 200 人のユーザーにアクションをリリースできます。これらのユーザーは、Google アシスタント デバイスでアクションをテストできます。ベータ版リリースは、プロジェクトが Google による完全な審査を通過した後で、組織外のユーザーにアクセス権を付与するのに最適です。ベータ版テストの結果に問題がなければ、ベータ版は Google のポリシー審査に合格済みですので、製品版としてリリースできます。

リリース チャンネルの詳細については、Actions Console のリリースのドキュメントをご覧ください。