Under the Hood - Learning APIs
New to API’s and want to learn how to test them? Here’s some learning strategies to help you get started on your way.
Feel the fear…and do it anyway
For many, opening up the bonnet of a UI and staring at the underneath and the API and the technical internals can be scary. No wonder, it’s like a whole new world, with a different language. The difference is a bit like visiting a foreign country to living in one. Living in a country means immersing in culture, customs and maybe even a new language.
Let's face it, most of us like familiarity. We heave a sigh of relief when we get home. If we do something well and are competent at a job, we feel good about that. And, it’s nice to get respect and recognition from our peers and be known for being skilled at something.
Learning something significantly new means mentally leaving that safety and comfort, and replacing it with screwing up. A lot.
Be prepared for that. It's perfectly reasonable to feel confused and fearful. They are the signposts telling you the way to new learning.
Sometimes, you might even feel a little stupid or worry that others may think you are stupid. Try and focus on the learning. Trust me, most testers of any worth have had to learn new skills. In fact, I find the most interesting testers the ones who are prepared to learn new skills.
Strip away complexity
Some of the challenges in learning to test API’s is the sheer amount of stuff you feel you need to know just to get going. It’s easy to get overwhelmed and I find it takes a while to really feel comfortable with the new material. It’s perfectly normal to feel confused for a while.
My suggestion is to try and focus on doing one basic GET request. I would also suggest you start with some basic online resources. Tools that are useful to simplify the complexity are Chrome Developer Tools and Postman or Restlet.
When teaching people on how to test an API, I find this approach very useful.
- Start with the UI focus on what actions you can take at the UI level
- Use the browser to monitor those actions, observe methods, response codes and payloads.
- Import those actions into Postman
- Start playing with retrieving and sending data. Play around with parameters and request payloads
Rinse and Repeat
I find I easily forget information on API’s. I’m not sure why, maybe I’ve too much stuff going on in my head already, or maybe the old grey cells don’t work as well as they used to. Maybe, learning requires a lot of repetition. If so, why not set up a group that meets regularly for a short fixed time (15 minutes ~ 30 minutes), to work on one aspect of an API? Focus on a tool, a website, or one method.
Mega API Links
A few ways to fast-track some of this learning is to make available all the great resources on the web. Here’s some:
- Take the MoT 30 day API Testing Challenge
- Read Danny Daintons Blog Posts on Postman
- Waiter/API analogy (useful for concepts)
A lot of learning about API’s is about confidence. As you begin to grasp the concepts, the language, the intent, your confidence will begin to grow and soar. Before you know it, you have conquered a new context and a new skill. Congratulations!