ServiceAlexa開発者フォーラムAlexaデザインガイドAlexaスキルマーケティングガイドラインスキルのテスト﻿スキルのテストこのドキュメントでは、作成中のスキルをテストする手順について説明します。開発中に新しいスキルをテストする方法はいくつかあります。カスタム対話モデルをテストするには、発話プロファイラーを使用します。サービスのコードを作成する前に、発話を入力し、インテントやスロットがどのように解決されるかを確認できます。開発者コンソールのテストページにあるシミュレーターを使用します。Kit機能にアクセスできます。Alexaとの対話には、音声またはテキストを使用できます。Alexa搭載デバイスを使用して音声でテストします。CLIを使ってスキルをテストします。CLIコマンドを使ってスキルをテストできます。CLIクイックスタートガイドを参照してください。スキル管理APIのスキルのテスト機能を使用します。Alexa搭載デバイスでテストします。テストの方法にかかわらず、最小コンフィギュレーションのデータを指定して、スキルサービスをデプロイする必要があります。スキルの最小コンフィギュレーションスキルのテストを有効にするには、スキルに含まれる対話モデルに必要な最小コンフィギュレーション要件を満たす必要があります。これらの設定はすべて、ビルドページで設定できます。カスタムモデルの最小コンフィギュレーション正常にモデルを保存してビルドできたら、発話プロファイラーを使用してカスタム対話モデルをテストできます。このテスト用にエンドポイントを設定する必要はありません。完全なエンドツーエンドのテストを行う場合は、以下に説明するようにコンフィギュレーションを設定します。完全なテストを行う場合、ビルドページにあるスキルビルダーのチェックリストを参考にして、スキルのテストに必要な最小限の手順を完了してください。チェックリストの項目をすべて完了すると、スキルのテストを開始できます。セクション要件カスタム>対話モデル対話モデルには、以下を含める必要があります。呼び出し名>スキルの呼び出し名で、呼び出し名を指定します。インテントで、サンプル発話を含むインテントを1つ以上定義します。(カスタムインテントにスロットが含まれる場合)スロットタイプを定義します。モデルはエラーなしでビルドする必要があります。ARNまたはHTTPSエンドポイントを指定します。少なくとも、デフォルトの地域フィールドには入力してください。HTTPSの場合、SSL証明書の種類を必ず指定してください。スキルを公開すると、このコンフィギュレーションは使用できません。スキルやテストの必要な項目によっては、ビルドページの以下のセクションにも入力が必要になる場合があります。スキルがデバイスインターフェースを使用する場合、このページで有効にします。スキルがアカウントリンクを使用する場合、ここで設定します。認証を必要としないインテントのテストには、完全なアカウントリンクのコンフィギュレーションは必要ありません。LinkAccountCardを返すか、認証の必要なインテントをテストする場合は必要となります。権限(デバイスアドレスAPIの権限など)を使用するスキルの場合、ここで有効にします。少なくとも1つのフィードについて、すべての必須フィールドを入力する必要があります。ARNエンドポイントを指定する必要があります。少なくとも、デフォルトの地域フィールドには入力してください。このページにあるすべての必須フィールドに入力する必要があります。スキルがAlexaイベントを送る権限を使用する場合、アクセス権限ページで有効にする必要があります。デバイス制御クラウド用に設定したアカウントと、そのアカウントで検出可能なデバイスも必要となります。ARNエンドポイントを指定する必要があります。少なくとも、デフォルトの地域フィールドには入力してください。このページにあるすべての必須フィールドに入力する必要があります。スキルコードをデプロイするスキルをテストするには、開発者コンソールでスキルに最低限必要なデータを設定し、クラウドベースのサービス用にコードをデプロイする必要があります。サービスをデプロイする方法は、スキルに使用する対話モデルによって異なります。モデルスキルサービスのホスティングオプションカスタム以下のいずれかの方法があります。Lambda関数を作成します。Lambda関数としてホスティングするを参照してください。スキルをウェブサービスとしてビルドし、独自のエンドポイントでホスティングします。カスタムスキルをウェブサービスとしてホスティングするを参照してください。この場合、サービスはRSSまたはJSONフィードです。フラッシュブリーフィングスキルAPIフィードのリファレンスを参照してください。Lambda関数を使用する必要があります。スマートホームスキルの作成手順のLambda関数を追加するを参照してください。Lambda関数を使用する必要があります。ビデオスキルの作成手順のLambda関数を追加するを参照してください。開発者コンソールでスキルをテストするテストページにはシミュレーターがあり、デバイスなしでもスキルをテストすることができます。スキルをテストする準備ができたら、テストページに移動します。このスキルでテストを有効にしていない場合、このスキルでは、テストは無効になっていますと表示されます。このとき、ドロップダウンリストは非公開に設定されています。このリストから、スキルのテストステージを選択します。開発中、公開中のいずれかです。いずれかのテストステージを選択します。非公開を選択すると、テストは無効になります。スキルのテストで一度に選択できるステージは1つだけです。公開中のスキルでテストを有効にすると、開発中のスキルではテストが無効になります。CLI、デバイスで引き続き利用できます。開発者コンソールで公開中スキルのテストを有効にすると、公開中ステージのURLにリダイレクトされ、セッションとコンテキスト情報がすべてリセットされます。保持しておきたい情報がある場合は、保存してからテストを有効にします。新しいユーザーIDも生成されるため、初回起動時のユーザーエクスペリエンスをシミュレートできます。公開中のスキルをライブバージョンのLambdaを使って設定している場合、このバージョンがテストに使用されます。テストページを使用して、スキルのほぼすべての機能(ダイアログ、プログレッシブ応答(制限あり)、エンティティ解決など)をテストできます。ページの左側に、3種類のテスト用タブが表示されます。タブ説明Alexaシミュレーター(カスタムスキルとスマートホームスキル)シミュレーターを使用すると、テキスト、音声のいずれかでカスタムスキル、スマートホームスキルと対話できます。シミュレーターでもデバイスと同様にスキルのセッションが維持されるため、ダイアログフローのテストが可能です。シミュレーターはスキルがAlexaアプリに返すカードも、デバイスと同じように送信します。スキルが複数の言語をサポートする場合、ドロップダウンリストからテストする言語を選択します。詳細については後述のセクションを参照してください。カスタムスキルとスマートホームスキルに対してAlexaシミュレーターを使用するAlexaシミュレーターの制限事項JSONエディター(カスタムスキルのみ)このエディターを使うと、JSONリクエストを直接入力して、スキルが返すJSON応答を確認できます。このオプションではスキルセッションは維持されません。LambdaコンソールでJSONリクエストをテストする場合と非常によく似ています。デバイスの画面とデバイスのログのオプションは、JSONエディターではサポートされません。スキルが地域固有のエンドポイントを複数サポートする場合、ページの末尾近くにあるリストからテストするエンドポイントを選択できます。音声と語調プレーンテキストまたはSSMLを入力して、そのテキストをAlexaがどう読み上げるかを聞くことができます。下部のリストから聞きたい言語を選択します。このリストには、利用可能なすべての言語が表示されます。そのスキルがサポートしているかどうかは関係ありません。カスタムスキルとスマートホームスキルに対してAlexaシミュレーターを使用するシミュレーターとは、テキストまたは音声で対話できます。スキルセッションは、デバイスのようなタイムアウトをしないことに注意してください。これは、テスト中、応答の入力に時間をかけられるようにするためです。スキルのセッションが開いたままの場合、「アレクサ、止めて」と言って終了することができます。スキルI/Oを有効にすると、会話のターンごとにスキルに送信されるJSONとAlexaに返されるJSONを確認できます。JSONは、カスタムスキルでのみ使用できます。吹き出しをクリックすると、そのターンに関連するJSONを確認できます。デバイスの画面を有効にすると、スキルが画面付きのデバイスにおおよそでどう表示されるかを確認できます。詳細は、後で説明するさまざまな画面付きデバイスでのテストを参照してください。デバイスのログを有効にすると、スキルの対話中にAlexaに送信されるイベントと、デバイスに送信されるディレクティブを確認できます。インテントのデバッグを参照してください。Buttonsの表示と対話を確認できます。このオプションは、GameEngineインターフェースとGadgetControllerインターフェースのいずれか、または両方をサポートするスキルでのみ利用できます。Buttonスキルのテスト方法を参照してください。Alexaスマートホーム(ベータ)を有効にすると、スキルがAlexaイベントゲートウェイに送信するChangeReportイベントを確認できます。このオプションは、スマートホームスキルでのみ利用できます。詳細については、スマートホームスキルのデバッグを参照してください。シミュレーターを使用してカスタムスキルをテストする場合、context.System.device.supportedInterfacesプロパティにはカスタム>インターフェースページで選択したインターフェースが反映されます。Languageを選択した場合、シミュレーターからスキルに送信されるリクエストには次のcontextオブジェクトが含まれ、そのリクエストがこれらのインターフェースの両方をサポートするデバイスから受け取ったことがわかります(簡潔にするため、すべてのプロパティは記載していません)。}}さまざまな画面付きデバイスでのテストスキルI/Oセクションのドロップダウンリストで、さまざまなタイプのデバイスを選択できます。選択されたデバイスが、スキルに送信されたリクエストのcontext.Viewportプロパティで提供されたデータを決定します。Language(APL)ドキュメントで使用するviewportプロファイルパッケージで使用できるviewportプロファイルに対応します。Viewportプロファイルパッケージを参照してください。テスト用にカスタムデバイスプロファイルを作成することもできます。他のタイプのデバイスで、スキルがどのように表示されるかをテストするのに便利です。ビデオ再生をサポートしていない画面付きデバイスで、スキルがどのように動作するかをテストするには、カスタムプロファイルを使用することもできます。カスタムスロットタイプを作成するには、以下の手順に従います。ドロップダウンリストをクリックして、標準viewportの一覧を開きます。一覧の一番下までスクロールし、カスタムデバイスを追加をクリックします。表示するviewportのプロパティを変更します。形状、ピクセル幅、ピクセル高さ、ピクセル密度を設定できます。選択することもできます。適用をクリックします。カスタムデバイスは、現在のブラウザのセッション中は引き続き使用できます。ブラウザを閉じて、後でオーサリングツールを再度開くと、カスタムデバイスを再作成する必要があります。画面付きのデバイスでも、スキルのビデオ再生をサポートしていないものもあります。このシナリオでスキルの動作をテストするには、カスタムデバイスを作成して、ビデオコーデックをビデオを許可しないに設定します。このシミュレーターを複数のブラウザタブで同時に使用することはできません。以下の制限事項は、Alexaシミュレータータブでの音声およびテキストのテストに適用されます。機能Alexaシミュレーターのサポート範囲AudioPlayerインターフェースAlexaシミュレーターにはオーディオ再生機能はありません。その代わり、スキルI/Oセクションにスキルに送信されるAudioPlayerディレクティブが表示されます。再生機能がないため、再生中にイベントによってトリガーされるPlaybackNearlyFinishedなどのAudioPlayerリクエストをテストすることはできません。AMAZON.DATEスロット値テスト発話を入力するときに、「2019/4/15」といった日付の省略表記は使用しないでください。略さずに話し言葉で日付を書きます。2019-04-15」、「2019/4/15」、「4/15」などの入力値は正しく日付に解決されません。AMAZON.DATEで想定される話し言葉の形式の例については、AMAZON.DATEを参照してください。テスト用の発話を入力する際には、数字は漢数字(「二十五」)で書きます。デバイスアドレスAPIデバイスアドレスAPIを使用すると、ユーザーのデバイスに関連付けられた所在地情報をリクエストできます。Alexaシミュレーターを使ったテスト時に、スキルはデバイスアドレスAPIを呼び出してエラーのない応答を受け取ることができます。ユーザーがデバイスアドレスの権限を付与しなかった場合のフローをテストすることもできます。応答の住所フィールドはnullに設定され、郵便番号フィールドはデフォルトの米国の郵便番号が設定されることに注意してください。テストページをAlexaアプリの完全なデバイスとして設定することはできません。DisplayインターフェースDisplayインターフェースを使用するスキルをテストすることができます。デバイスの画面オプションを有効にして、応答がさまざまなデバイスでどう表示されるかを確認できます。TVなど他のデバイスで応答がどう表示されるかは確認できません。フラッシュブリーフィングスキルAlexaシミュレーターはフラッシュブリーフィングスキルのテストをサポートしていません。Button(日本未対応)をテストする際には、以下の制限があります。スキルI/Oは、シミュレートされた音声リクエストと起動リクエストのみで利用できます。Buttonに表示される色とは一致しない場合があります。Buttonでテストすることをお勧めします。位置情報サービス位置情報サービスを使用すると、スキルからユーザーのデバイスに関連付けられた動的な位置情報をリクエストできます。Alexaシミュレーターを使用してテストしている場合、ユーザーが位置情報サービスを許可していないときのフローをテストできます。シミュレーターはユーザーがアクセスを許可しているケースはテストできません。テストページをAlexaアプリの完全なデバイスとして設定することはできません。PlaybackControllerインターフェースこのリクエストは、ユーザーがリモコンなどの機器を操作すると、スキルに送信されます。Alexaシミュレーターを使ってテストすることはできません。プログレッシブ応答シミュレーターでは、フル応答の準備ができると、プログレッシブ応答とフル応答が同じオーディオストリームで再生されます。プログレッシブ応答が聞こえてから、すぐに続けてフル応答が聞こえます。AlexaリマインダーAPIシミュレーターでは、スキルで想定されるリマインダーを提供しません。Alexa設定API通常は、Alexa設定APIを使用するとユーザーのAlexa設定からタイムゾーン、長さの単位、温度の単位を取得できます。Alexaシミュレーターで生成されたdeviceId値とapiAccessToken値を使用してAlexa設定APIにクエリを実行する場合は、タイムゾーン値しか取得できません。Content」エラーメッセージが返されます。スマートホームライブデバッガースマートホームライブデバッガーはベータ版であり、予告なく変更されることがあります。詳細については、スマートホームスキルのデバッグを参照してください。VideoAppディレクティブAlexaシミュレーターにビデオ再生機能はありません。その代わり、スキルI/Oセクションにスキルに送信されるVideoAppディレクティブが表示されます。インテントのデバッグAlexaシミュレーターでは、デバイスのログにJSON応答で返されたconsideredIntentsが表示されるため、候補に挙がったが破棄されたインテントを確認できます。この情報を使用してインテントのデバッグを実行し、意図したインテントとスロットに発話を解決するようにモデルをトレーニングするために、追加のサンプルをどのように使用するか決めることができます。Echoなど)を使ってテストするには、Amazon開発者ポータルで開発者アカウントのサインアップに使用したのと同じメールアドレスでデバイスを登録すると、ウェイクワードと呼び出し名を使用してスキルを呼び出すことができます。開発者アカウント以外のアカウントでデバイスがセットアップされている場合は、デバイスをリセットしてから、開発者アカウントを使用して再登録します。詳細については、対象のデバイスのヘルプを参照してください。EchoサポートAmazonデバイスサポートデバイスのユーザーとして開発者アカウント以外のアカウントを再度追加する場合、家族機能を使用して登録できます。