To help you get started, here's an overview of the skill-building process and the five steps you can follow to design, build, and publish an Alexa skill.
If you want your skill to be successful, you'll need to test it. There are two basic categories of testing: functional and user experience. Functionally, you'll need to put your skill through its paces. You'll want to do this both in preparation for publishing and over time after your skill is released to the world. For user experience testing, you'll want to observe and collect feedback on ways to improve the interaction between your skill and the people who are using it.
For both types of testing, the developer console should be your first stop. It provides tools that allow you to use your skill the way you expect customers to. Under the Test tab, you can type or use your voice to interact with your skill. For example, did you try voice and get a failure, but typing worked? Something may be wrong with your model. For each turn of an interaction in the testing tool, you can dig into the JSON requests to diagnose issues. If you like, you can even compose JSON requests from scratch to be dispatched to your back end.
Beta testing is another great way to get feedback on your skill before submitting it for publication. Getting real users in front of your skill before it is available to the public gives you an opportunity to collect feedback about what works, what doesn’t, and make improvements that ultimately lead to a better experience. With voice, especially, people are without question going to try interacting with your skill in ways you'd never expect. Depending on the situation, you may want to make changes based on what they do.
If you're using Lambda, you can test whether your back end code is executing (functional) correctly by modifying a built-in test event or creating one from scratch. You're also able to view Amazon CloudWatch metrics and logs for your Lambda function's execution. These are especially handy for tracking down errors and mistakes with any API calls your skill might make.
Once your skill is live, you'll want to run some checkups on a regular basis. Rather than waking up early every morning to run a battery of tests, you can leverage test automation. Here are a few resources on skill testing: