Functional Testing for a Custom Skill
The functional tests verify that:
-
The skill’s basic functionality matches the information displayed on the skill’s detail card in the Amazon Alexa app. You enter this data on the Publishing Information page for the skill on the developer portal.
See Define Skill Metadata for more details about defining this card.
-
The skill’s core functionality works and provides useful home cards to the Amazon Alexa app.
Use the Amazon Alexa app for these tests. The Alexa app is available for Fire OS, Android, iOS, and web browsers. The Alexa app displays all of your skills currently under development, as well as all published skills.
To return to the high-level testing checklist, see Certification Requirements for Custom Skills.
- 3.1. Review and Test Example Phrases
- 3.2. Skill Description and Detail Page
- 3.3. Home Cards
- 3.4. Account Linking
- 3.5. Audio Playback
- 3.6 Screen Display and Navigation
- 3.7. Video Playback
- 3.8. Duplicates of Samples or Templates
- 3.9 Device Location API
- Next Steps
3.1. Review and Test Example Phrases
Example phrases are shown on the skill’s detail card in the Alexa app to help users understand how to interact with the skill. You select these phrases from your sample utterances to ensure accuracy.
These are the phrases users are most likely to try the first time they interact with the skill. Therefore, make sure that they work well and provide a good user experience.

| Test | Expected Results | |
|---|---|---|
1. |
Open the Alexa app, click Skills and then scroll or search to find your skill. Review the skill’s detail page. Inspect all example phrases listed in the skill’s detail card. |
|
2. |
Open the developer portal, edit the skill, and go to the Interaction Model page. Review the sample utterances for your skill and verify that each example phrase is included as a sample utterance. For more about defining example phrases, see the “Defining your Example Phrases (“Try Saying”)” section of Define Skill Metadata. If you are using the utterance for a built-in intent for an example phrase, the utterance does not need to be in your sample utterances. However, fully test the utterance and verify that your skill returns a valid response. |
Each example phrase is explicitly included in the sample utterances. For instance, if you have this example phrase:
Then you must also have this utterance:
Any slots in the example phrase (such as Seattle in this example) must be filled with an example of a valid slot value. In this example, |
3. |
Launch the skill using each of the provided example phrases. |
Each example phrase renders a contextualized, non-error response. |
3.2. Skill Description and Detail Page
The skill description teaches users about what your skill can do and how to use it.
| Test | Expected Results | |
|---|---|---|
1. |
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills |
|
2. |
Open the detail card for the skill. Review the skill’s full description shown on the skill’s detail card. |
|
3. |
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error. |
|
4. |
If your skill’s detail page includes links to a privacy policy or terms of use, open the links in a browser. |
|
5. |
Review the skill title and icon and ensure they are relevant to the core functionality of the skill. |
Both the title and icon are relevant to the skill description and are not misleading. |
3.3. Home Cards
Home cards are graphical cards displayed in the Alexa app to describe or enhance the voice interaction.
| Test | Expected Results | |
|---|---|---|
1. |
Walk through the skill’s functionality, invoking each intent. For each response that includes a home card, review the card in the Alexa app. |
For each card:
|
2. |
If any home cards include URLs, visit each URL in a browser and verify the page opens without error. |
For each URL displayed in a home card:
|
Note that skills normally only return home cards when responding with the information the user requested. Supportive prompts to ask the user for more information do not normally include home cards.
Home cards can be a useful tool when developing and debugging a skill, but be sure to remove any extraneous debug-type cards before submitting the skill.
3.4. Account Linking
If your skill needs to connect the identity of the end user with a user in another system (account linking), this test verifies that the skill implements the solution described in Linking an Alexa User with a User in Your System correctly. When submitting your skill, be sure to provide a valid set of account credentials with your testing instructions so our certification team can verify the account linking and functionality of your skill.
If your skill does not use account linking, you can skip this test.
| Test | Expected Results | |
|---|---|---|
1. |
In the developer portal, review the Configuration page for the skill and verify that account linking has been configured correctly. |
|
2. |
In the Alexa app, review the detail card for your skill. Verify that the skill description explains that you must log in to the other system to use the skill. |
The description clearly explains the steps and information necessary to successfully link the accounts. |
3. |
Log in to the Alexa app as an Alexa user who has not yet enabled the skill. Enable the skill, but do not complete the account linking process, leaving the skill enabled but not linked.
|
|
4. |
Disable the skill or log in to the Alexa app as an Alexa user who has not yet enabled the skill. Enable the skill. Once the login page for your skill is displayed, click all links and verify that they navigate to new pages. |
|
5. |
Disable the skill or log in to the Alexa app as an Alexa user who has not yet enabled the skill. Enable the skill. Once the login page for your skill is displayed, log in and verify the account linking flow. |
|
3.5. Audio Playback
Complete these tests if your skill uses the AudioPlayer interface to stream audio.
| Test | Expected Results | |
|---|---|---|
1. |
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes. |
|
2. |
While listening to the audio playback, invoke the following built-in intents:
|
|
3. |
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio. |
|
4. |
While listening to the audio playback, invoke the following built-in intents:
|
Each command either does something that makes sense for your skill (such as “next” advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives. |
3.6 Screen Display and Navigation
Complete these tests if your skill uses the Display interface to display content on Echo Show. Pay particular attention to the interaction of voice, touch, audio, and video in your skill.
| Test | Expected Results | |
|---|---|---|
1. |
Open the skill using Echo Show and interact with the skill for several minutes, paying particular attention to the user experience. |
|
2. |
Place the Echo Show device at a 7-foot distance from the viewer. Interact with the skill for several minutes. |
|
3.7. Video Playback
In addition to the screen display requirements, some of which also apply to video, also complete these tests if your skill uses the VideoApp interface to stream video.
| Test | Expected Results | |
|---|---|---|
1. |
Set the volume on the device to 3 and invoke an intent that streams the video. Listen for several minutes. |
|
2. |
While the video plays, use the progress bar on the touchscreen to navigate forward and backward. |
Verify that the video resumes without error. |
3.8. Duplicates of Samples or Templates
Make sure your skill is not an exact duplicate of any of the Amazon-provided samples or templates. You can use the samples and templates as a starting point for your skill, but the finished skill must be different.
For example, if you use the Trivia sample to create a trivia skill, your skill must have:
- A different name
- A different set of questions
The samples and templates are available on GitHub:
- Javascript/Node.js: Alexa organization
- Java: amzn/alexa-skills-kit-java
3.9 Device Location API
Complete these tests if your skill uses the Device Address API to obtain the location of the user’s device.
| Test | Expected Results | |
|---|---|---|
1. |
Enable the skill and grant the skill the requested permissions for the device location. Test the functionality that is dependent on the device location and note the responses. |
|
2. |
Enable the skill, but do not grant the device location permissions.
|
|
3. |
If applicable, change the device location to a location or address that is not supported by the skill, then enable the skill and grant permissions. Invoke the intents that require the device location. For example, if your skill provides food delivery in a particular city, set the device location to an address far outside your delivery area, then invoke the intents to place a delivery order. |
The skill informs the user that skill does not support their location. No errors are returned. |