Fact Skill Tutorial

Build an Alexa Skill in 6 Steps

Step 4: Testing Your Alexa Skill

So far, we have created a Voice User Interface and a Lambda function, and connected the two together. Your skill is now ready to test.

  1. Go back to the Amazon Developer Portal and select your skill from the list. You may still have a browser tab open if you started at the beginning of this tutorial.

  2. Access the Alexa Simulator, by selecting the Test link from the top navigation menu.

  3. Enable Testing by activating the Test is disabled for this skill slider. It should be underneath the top navigation menu. Enabling should change it to read Test is enabled for this skill.

  4. To validate that your skill is working as expected, invoke your skill from the Alexa Simulator. You can either type or click and hold the mic from the input box to use your voice.

    1. Type "Open" followed by the invocation name you gave your skill in Step 1. For example, "Open space facts".
    2. Use your voice by clicking and holding the mic on the side panel and saying "Open" followed by the invocation name you gave your skill.
    3. If you've forgotten the invocation name for your skill, revisit the Build panel on the top navigation menu and select Invocation from the sidebar to review it.
  5. Ensure your skill works the way that you designed it to.
    • After you interact with the Alexa Simulator, you should see the Skill I/O JSON Input and JSON Output boxes get populated with JSON data. You can also view the Device Log to trace your steps.
    • If it's not working as expected, you can dig into the JSON to see exactly what Alexa is sending and receiving from the endpoint. If something is broken, AWS Lambda offers an additional testing tool to help you troubleshoot your skill.
  6. Configure a test event in AWS Lambda. Now that you are familiar with the request and response boxes in the Service Simulator, it's important for you to know that you can use your requests to directly test your Lambda function every time you update it. To do this:

    1. Enter an utterance in the service simulator, and copy the generated Lambda Request (JSON Input) for the next step.
    2. Open your Lambda function in AWS, open the Actions menu, and select "Configure test events."


3. Select "Create new test event". Choose "Alexa Start Session" as the Event Template from the dropdown list. You can choose any test event in the list, as they are just templated event requests, but using "Alexa Start Session" is an easy one to remember. 


4. Type in an Event Name into the Event Name field. Delete the contents of the code editor, and paste the Lambda request you copied above into the code editor. The Event Name is only visible to you. Name your test event something descriptive and memorable. For our example, we entered an event name as "startSession". Additionally, by copying and pasting your Lambda Request from the service simulator, you can test different utterances and skill events beyond the pre-populated templates in Lambda.



5. Click the "Create" button. This will save your test event and bring you back to the main configuration for your lambda function.


6. Click the "Test" button to execute the "startSession" test event.


This gives you visibility into four things:
  • Your response, listed in the "Execution Result."

4-5-5-1 Execution result

  • A Summary of the statistics for your request. This includes things like duration, resources, and memory used. 

4-5-5-2 Summary

  • Log output. By effectively using console.log() statements in your Lambda code, you can track what is happening inside your function, and help to figure out what is happening when something goes wrong. You will find the log to be incredibly valuable as you move into more advanced skills. 

4-5-5-3 log output

  • A link to your CloudWatch logs for this function. This will show you all of the responses and log statements from every user interaction. This is very useful, especially when you are testing your skill from a device with your voice. (It is the "Click here" link in the Log Output description.)


7. Other testing methods to consider:


8. If your sample skill is working properly, you can now customize your skill.

When you’re ready, move on to customizing the skill to make it your own.