あなたのAlexaコンソール
?
サポート

Alexaスキルの機能テスト



カスタムスキルの機能テスト

機能テストでは次のことを検証します。

  • スキルの基本機能がAmazon Alexaアプリのスキルの詳細カードに表示される情報と一致していること。このデータは、開発者コンソールのスキルの公開ページで入力します。

    このカードの設定方法の詳細については、スキルの公開を参照してください。

  • スキルの主な機能が正常に動作し、Amazon Alexaアプリに有効なホームカードが表示されること。

このテストでは、Amazon Alexaアプリを使用します。Alexaアプリは、Fire OS(日本未対応)、Android、iOS、およびウェブブラウザで使用できます。Alexaアプリには、公開中のスキルだけでなく、現在開発中のスキルもすべて表示されます。

テストの概要チェックリストを確認するには、カスタムスキルの認定要件を参照してください。

3.1.サンプルフレーズの確認とテスト

サンプルフレーズは、ユーザーがスキルとの対話方法を理解できるよう、Alexaアプリのスキルの詳細ページに表示されます。確実にスキルを呼び出せるよう、サンプルフレーズはサンプル発話の中から選択します。

ユーザーがスキルと初めて対話するときに最も言う可能性が高いフレーズがサンプルフレーズです。このため、これらのフレーズが適切に機能し、良好な結果が得られることを確認します。

Alexaアプリのスキルの詳細ページ
Alexaアプリのスキルの詳細ページ

英語のスキルの場合、公開ページでサンプルフレーズを入力すると、いくつかの基準に基づいて自動で検証が行われます。エラーや警告が出た場合には、修正を行ってから申請します。この検証は起こりうる問題すべてを確認するものではないため、下記のテストも実施します。

テスト 想定される結果

1.

Alexaアプリを開いてスキルをクリックし、スクロールまたは検索してスキルを選択します。

スキルの詳細ページを確認します。スキルの詳細ページに記載されているすべてのサンプルフレーズをチェックします。

  • サンプルフレーズが少なくとも1つ表示されています。
  • 最初のフレーズにスキルの使用を開始する方法が明確に示されており、ウェイクワードと呼び出し名の両方が含まれています。
  • ウェイクワードと呼び出し名を含むサンプルフレーズは、スキルの呼び出しでサポートされている形式に従っている必要があります。サポートされる形式の一覧については、ユーザーによるカスタムスキルの呼び出しを参照してください。
  • サンプルフレーズに、ユーザーが言う必要のない余分な情報は含まれていません。サンプルフレーズは、記載のとおりに機能する必要があります。
  • 呼び出し名が2語以上で構成されています。
  • サンプルフレーズに絵文字や記号が含まれておらず、文法の間違いもありません。
  • サンプルフレーズがすべて句点で終わっています。
  • サンプルフレーズはスキルの起動方法を示しています。このフレーズは、音声でスキルを有効にする方法を示していません。たとえば、「アレクサ、<スキル名>を有効にして」のようなフレーズは認められません。
  • サンプルフレーズはすべて、Alexaアカウントで使用するのと同じ言語で記載されています。たとえば、日本語に設定したアカウントでは、フレーズが日本語で記載されている必要があります。

2.

開発者コンソールを使用してスキルを編集します。サンプル発話はインテントで定義します。インテントをクリックして発話を確認し、選択したサンプルフレーズが既存のサンプル発話と一致しているか検証します。

サンプルフレーズの設定方法の詳細については、スキルの公開: カスタムスキルのサンプルフレーズを参照してください。

サンプルフレーズにビルトインインテントの発話を使用する場合は、その発話をサンプル発話に含める必要はありません。ただし、発話は十分にテストし、スキルが有効な応答を返すことを確認します。

すべてのサンプルフレーズがサンプル発話に明確に含まれています。

たとえば、次のようなサンプルフレーズがあるとします。

  • アレクサ、潮汐情報に神戸の満潮はいつか聞いて。

この場合、次のような発話が必要になります。

  • OneshotTideIntent {City}の満潮はいつ

サンプルフレーズのすべてのスロット(この例では神戸)に、有効なスロット値の例が入力されている必要があります。この例では、Cityはカスタムスロットタイプであり、「神戸」がこのCityタイプに対して明確に定義された値となります。

3.

作成したサンプルフレーズのそれぞれを使用してスキルを起動します。

すべてのサンプルフレーズで、エラーがなく文脈に合った応答が返されます。

3.2.スキルの説明と詳細のページ

スキルの説明は、ユーザーにスキルの機能と使用方法を伝えるためのものです。

テスト 想定される結果

1.

Alexaアプリを開いてスキルをクリックし、目的のスキルにスクロールします。スキルの一覧に表示された簡単な説明を確認します。

  • 簡単な説明にスキルの主な機能が示されています。
  • 簡単な説明は、Alexaアカウントで使用するのと同じ言語で記載されています。たとえば、日本語に設定したアカウントでは、簡単な説明が日本語で表示されている必要があります。

2.

スキルの詳細ページを開きます。スキルの詳細ページに表示された詳細な説明を確認します。

  • スキルの説明に、スキルを使用するための前提条件がすべて記載されています(追加のハードウェア、ソフトウェア、アカウントなど)。
  • 説明にスキルの主な機能が示されています。
  • 説明はスキルの機能を正確に伝えています。
  • 説明は、Alexaアカウントで使用するのと同じ言語で記載されています。たとえば、日本語に設定したアカウントでは、スキルの説明が日本語で表示されています。
  • (フランス語)「スキル」という用語を指す場合、直訳の「compétence」ではなく「skill」を使用します。「skill」は女性名詞です(「la skill」または「une skill」)。
  • スキルにRaspberry Piなどのデバイスが組み込まれている場合、説明には以下を記載する必要があります。
    1. スキルの主な機能へアクセスするにはRaspberry Pi(または類似のデバイス)が必要であること
    2. スキル用にRaspberry Piを設定する方法を示すドキュメントへのリンク
  • 説明に、ウイルス対策機能がスキルに搭載されていると記載することは禁止されています。

3.

簡単な説明または詳細な説明にURL(スキルの詳細へのリンクなど)が含まれている場合は、ブラウザでそのURLにアクセスし、ページが問題なく表示されることを確認します。

  • 説明に記載されているページが問題なく表示されます。
  • ページが、Alexaアカウントで使用するのと同じ言語で表示されます。たとえば、日本語に設定したアカウントでは、ページは日本語で表示される必要があります。

4.

スキルの詳細ページにプライバシーポリシーまたは利用規約へのリンクが含まれている場合、そのリンクをブラウザで開きます。

  • スキルの詳細ページに表示されているプライバシーポリシーまたは利用規約のリンクを問題なく開くことができます。
  • ページが、Alexaアカウントで使用するのと同じ言語で表示されます。たとえば、日本語に設定したアカウントでは、プライバシーポリシーまたは利用規約は日本語で表示される必要があります。

5.

スキルのタイトルが、スキルの主な機能に関連していることを確認します。

タイトルがスキルの説明に関連しており、誤解を招きません。

6.

スキルのアイコンがトリミングされておらず、空白でないことを確認します。

アイコンがトリミングされておらず、空白になっていません。

3.3.ホームカード

ホームカードはAlexaアプリに表示されるカードで、対話の内容または対話をより充実させるための情報を提供します。

テスト 想定される結果

1.

各インテントを呼び出し、スキルの機能を実際にテストします。ホームカードが含まれる応答ごとに、Alexaアプリでホームカードを確認します。

各カードで以下を確認します。

  • カードのタイトルと内容がスキルの機能に合っています。
  • カードのタイトルと内容にコードが記載されておらず、文法の間違いがありません。
  • カードのタイトルと内容がAlexaでサポートされる言語で記載されています。現在サポートされている言語は英語、日本語、フランス語、ドイツ語です。
  • カードに画像が含まれる場合、その画像が正常に表示されています。

2.

URLの記載されたホームカードがある場合、ブラウザで各URLにアクセスし、ページが問題なく表示されることを確認します。

ホームカードに表示されるすべてのURLが次を満たしていることを確認します。

  • ブラウザでページが問題なく表示されます。
  • ページがAlexaでサポートされている言語で表示されます。現在サポートされている言語は英語、日本語、フランス語、ドイツ語です。

通常、スキルがユーザーのリクエストした情報を応答で返す際、ホームカードのみを返すことに注意してください。ユーザーに追加情報を求める補助的なプロンプトには、ホームカードは通常含まれません。

ホームカードはスキルの開発およびデバッグに役立つツールですが、スキルの申請前に不要なデバッグ用のカードがあれば必ず削除します。

3.4.アカウントリンク

このテストでは、スキルでエンドユーザーのIDと別のシステムのユーザーとの関連付け(アカウントリンク)が必要な場合に、カスタムスキルのアカウントリンクの説明にあるソリューションがスキルに適切に実装されていることを確認します。概要レベルでは、これは以下のことを意味します。

  • ユーザーが認可の必要なインテントを呼び出すと、スキルは正常に認証を行い、リクエストを完了します。
  • ユーザーが認可の必要なインテントを呼び出したがアカウントがまだリンクされていない場合、スキルはLinkAccountカードに戻ります。

スキルの申請時には、認定チームがスキルのアカウントリンクと機能を検証できるよう、テスト手順の説明とともに有効なアカウント資格情報を提出してください。

スキルでアカウントリンクを使用しない場合、このテストは省略できます。

テスト 想定される結果

1.

開発者コンソールでスキルのアカウントリンクページを開き、アカウントリンクが適切に設定されていることを確認します。

  • アカウントをリンクまたは作成オプションがはいに設定されています。
  • 認証画面のURIがリンク先のサービスのログインページに設定されています。

2.

Alexaアプリで、スキルの詳細ページを確認します。スキルの説明に、スキルを使用するには別のシステムへのログインが必要であると明記されていることを確認します。

説明に、アカウントを関連付けるために必要な手順と情報が明記されています。

3.

テスト対象のスキルをまだ有効にしていないAlexaユーザーとして、Alexaアプリにログインします。

スキルを有効にします。ただし、アカウントリンクは行わず、スキルがリンクされないままにしておきます。

  1. 認証が不要なインテントを呼び出して、正常に動作することを確認します。
  2. 認証の必要なインテントを呼び出し、スキルがLinkAccuontカードと適切なプロンプトを送信することを確認します。
  • 認証の不要なすべてのインテントが、アカウントがリンクされていない状態でも正常に動作します。
  • 認証の必要なすべてのインテントで、音声でユーザーに必要な操作が説明され、LinkAccountカードが返されます。Alexaアプリでカードを確認します。

4.

スキルを無効にするか、スキルをまだ有効にしていないAlexaユーザーとしてAlexaアプリにログインします。

スキルを有効にします。スキルのログインページが表示されたら、すべてのリンクをクリックし、各リンクで新しいページが表示されることを確認します。

  • ログインページのクリック可能なすべてのリンクで、新しいページが表示されます。
  • リンクをクリックしても、JavaScriptの警告やポップアップウィンドウが表示されません。

5.

スキルを無効にするか、スキルをまだ有効にしていないAlexaユーザーとしてAlexaアプリにログインします。

スキルを有効にします。スキルのログインページが表示されたらログインし、アカウントリンクの手順を確認します。

  • スキルのログインページが正常に表示されます。
  • サービスのアカウントを使用して正常にログインできます。
  • アカウントへの接続後、認証が必要なインテントを正常に呼び出すことができます。

3.5.オーディオ再生

スキルでAudioPlayerインターフェースを使用して音声をストリーミングしている場合は、以下のテストを行います。

テスト 想定される結果

1.

デバイスの音量を3に設定し、音声をストリーミングするインテントを呼び出します。音声を数分間聞きます。

  • 音量レベル3でオーディオ再生を聞き取ることができます。
  • オーディオ再生の音量が、Alexaの通常の読み上げとほとんど変わりません。数分間の再生の間、音量は一定です。
  • オーディオコンテンツに語句や音声が含まれる場合、コンテンツがAlexaでサポートされている言語で再生されます。現在サポートされている言語は英語、日本語、フランス語、ドイツ語です。

2.

オーディオ再生中に、次のビルトインインテントを呼び出します。

  • AMAZON.PauseIntent(「一時停止」と言います)
  • AMAZON.ResumeIntent(「再開して」と言います)
  • 「一時停止」と言うとオーディオ再生が停止します。
  • 「再開して」と言うとオーディオ再生が再開します。

3.

オーディオ再生中に、リモコンなどのハードウェアデバイスを使用してオーディオを一時停止し、再開します。

  • オーディオの再生中に一時停止ボタンを押すと再生が停止します。
  • オーディオの停止中に再生ボタンを押すと再生が再開します。

4.

オーディオ再生中に、次のビルトインインテントを呼び出します。

  • AMAZON.CancelIntent(「キャンセル」と言います)
  • AMAZON.LoopOffIntent(「ループ再生をオフにして」と言います)
  • AMAZON.LoopOnIntent(「ループ再生をオンにして」と言います)
  • AMAZON.NextIntent(「次」と言います)
  • AMAZON.PreviousIntent(「前」と言います)
  • AMAZON.RepeatIntent(「繰り返して」と言います)
  • AMAZON.ShuffleOffIntent(「シャッフルをオフにして」と言います)
  • AMAZON.ShuffleOnIntent(「シャッフル」と言います)
  • AMAZON.StartOverIntent(「最初からやり直して」と言います)
  • AMAZON.StopIntent(「停止」と言います)

すべてのコマンドで、スキルに有効な操作(「次」で再生リストの次のトラックへ進むなど)が行われるか、正常な処理が行われます。予期しないエラーは発生しません。AudioPlayerディレクティブを使用できるようにスキルを設定するを参照してください。

3.8.サンプルやテンプレートの複製

スキルが、Amazonの提供するサンプルおよびテンプレートをそのまま複製したものでないことを確認します。サンプルとテンプレートをスキルのひな形として使用することは認められていますが、完成したスキルは別物である必要があります。

たとえば、Triviaサンプルを使用してトリビアスキルを作成する場合、スキルは次を満たしている必要があります。

  • 別の名前
  • 別の質問セット

サンプルやテンプレートはGitHubで入手できます。

3.9 デバイス位置情報API

スキルでデバイスアドレスAPIを使用してユーザーデバイスの位置情報を取得する場合は、次のテストを行います。

テスト 想定される結果

1.

スキルを有効化し、要求されたデバイスの位置情報に関するアクセス権限をスキルに付与します。デバイスの位置情報を使用する機能をテストして、応答を確認します。

  • スキルの応答がすべて、デバイスの位置情報に対応しています。たとえば、デバイスの位置情報を使用する天気予報スキルでは、デバイスの位置情報で指定された都市の天気情報が提供される必要があります(ユーザーが発話で別の場所を指定した場合を除く)。
  • スキルがユーザーにデバイスの位置情報を返す場合、その情報が指定したデバイスの位置に一致しています。

2.

デバイスの位置情報に関する権限を与えずに、スキルを有効にします。

  1. 位置情報が不要なインテントを呼び出して、正常に動作することを確認します。
  2. 位置情報が必要なインテントを呼び出して、応答を確認します。
  • デバイスの位置情報の不要なインテントすべてが、位置情報の権限を付与しなくても正常に動作します。
  • デバイスの位置情報が必要なインテントすべてで、権限を付与するように求める音声と権限カードが返されます。Alexaアプリでカードを確認します。

3.

必要に応じて、デバイスの位置をスキルが対応していない場所またはアドレスに変更し、スキルを有効にしてアクセス権限を付与します。デバイスの位置情報が必要なインテントを呼び出します。

たとえば、デバイスで特定の都市でのフードデリバリーを提供する場合は、デバイスの位置を配達エリア外のアドレスに設定して、デリバリーを注文するインテントを呼び出します。

スキルが、その場所に対応していないことを通知します。エラーは返されません。

3.10 Echo Buttons(日本未対応)

スキルがEcho Buttonsに対応している場合は、次のテストを行います。

対象 テスト 想定される結果

ロールコール

ボタンがペアリングされており起動されていない状態で、スキルを起動します。

スキルの初回起動時には、まず、ペアリング済みのボタンを起動するように求めるロールコールが行われる必要があります。

: スキルを前回のセッションから10分以内に起動した場合は、ロールコールを省略できます。

ロールコールのタイムアウト

ボタンが起動されていない状態で、スキルを起動します。ロールコールの間、ボタンを押さずに待機します。

ロールコールに応じてボタンを押さない場合、スキルは適切に対処する必要があります。スキルは、 1)ボタンを押すように再プロンプトを行うか、2)スキルを使用するにはボタンが必要なことを伝えてからスキルを終了するか、または3)ボタンを利用せずにスキルを使用するかたずねる、のいずれかを行う必要があります。

タイムアウト後すぐにスキルが終了したり、ハードエラーが発生したりしてはいけません。

有効な入力

スキルのメタデータで指定されている数のボタンを用意して、スキルを起動します。スキルのプロンプトおよびメタデータに示されるすべてのユーザー向け説明手順にしたがい、10分間にわたりスキルのナビゲーションを行います。ナビゲーションを通して、適切にボタンを押したときのスキルの応答を確認します。

スキルは、ボタンが適切に押された場合に所定の応答を返す必要があります。

: このテストは、ボタンが必要なスキルと不要なスキルの両方が対象となります。

空入力

スキルのメタデータで指定されている数のボタンを用意して、スキルを起動します。ロールコール後、ナビゲーションを行います。スキルからボタンを押すように求められたら、ボタンを押さずに待機します。

ボタンが必要なスキルと不要なスキルの両方で、スキルからボタンを押すように求められたときにユーザーがボタンを押さなかった場合、スキルはボタンを押すように再度求める必要があります。

スキルが終了したり、ハードエラーが返されたりしてはいけません。

プレイヤーモード

スキルのメタデータで指定されている数のボタンを用意して、スキルを起動します。ロールコール後ナビゲーションして、適宜シングルプレイヤーモードおよびマルチプレイヤーモードでスキルを実行します。

両方のモードで、スキルは全ユーザーの応答を相互排他的に処理するとともに、全ユーザーの進捗状況を独立して管理できる必要があります。

プレイヤーの脱落

(プレイヤーの脱落をサポートするスキルのみが対象)
スキルのメタデータで指定されている数のボタンを用意して、スキルを起動します。ロールコール後ナビゲーションし、ゲーム中に適切なカスタムインテントを使用してプレイヤーを1名脱落させます。

ゲーム中にプレイヤーが脱落した後も、残りのプレイヤーがゲームを続行できる必要があります。スコアカードを提供する場合は、プレイヤーの脱落時にスコアカードがリセットされないようにする必要があります。

: プレイヤーが2名のみで1名が脱落した場合にスキルを終了する必要があるか、プレイヤー1名で続行できるかどうかは、スキルのデザインによって異なります。

LEDの色

スキルのメタデータで指定されている数のボタンを用意して、スキルを起動します。ロールコール後ナビゲーションし、ゲーム中のボタンのLEDアニメーションを確認します。

スキルは、ボタンのLEDの色を利用してユーザーと対話できる必要があります。

たとえば、Q&Aスキルでは、ユーザーの回答が正解か間違いかに応じてボタンの点灯色を変更します。正解時と不正解時には、それぞれ一貫した色が表示される必要があります。別の例としては、マルチプレイヤースキルでプレイヤー1のボタンを点灯して、プレイヤー1の回答が必要なことを示します。

ボタンの省略

(ボタンが省略可能なスキルのみが対象)
スキルのメタデータで指定されている数のボタンを用意して、スキルを起動します。ボタンを利用しなくてもスキルを使用できるかどうかを確認します。

スキルは、ボタンを利用せずに使用できる必要があります。

また、ロールコールの前かロールコール中に、プレイにボタンを使用するかをたずねる必要があります。