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

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 のアクション レビュー プロセスを必要としないため、内部テストに適しています。アルファ版テスターは、アクションがこのチャンネルにリリースされると、すぐにそのアクションにアクセスできるようになります。

ベータ版リリース チャンネルを使用すると、デベロッパーが指定した 200 名のユーザーにアクションをリリースし、それらのユーザーが Google アシスタント デバイスを使用してアクションをテストできます。ベータ版リリースは、プロジェクトの Google による完全な審査が終了した時点で組織外のユーザーがアクセスできるようにする場合に適しています。ベータ版テストの結果に問題がなければ、ベータ版は Google のポリシー審査を通過しています。製品版としてリリースできます。

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