In our previous blog post, we introduced some of the most important building blocks of an API testing and automation strategy:
- Exploratory testing.
- API automation.
- API mocking.
- Using APIs to support other types of testing and automation.
- Contract testing.
You can also read the first blog in this series here: The rising demand of API testing skills.
In this blog post, we'll look at some of the challenges that you, as a tester, might face when adding API testing to your skill set, as well as ways and resources that will help you to get started. In this blog post, we'll focus on what's typically referred to as 'functional testing' for APIs, i.e., playing the role of the API consumer by constructing and sending API requests and inspecting the response returned by the API provider.
What’s holding people back when learning API testing?
The first hurdle that testers who are relatively new to API testing face is that it's perceived as 'technical', and therefore something that is difficult to learn. Of course, we are in the software business and all our work is technical, but don’t let that discourage you!
Our advice would be to start thinking and talking about APIs as just another interface that can be used to interact with (part of) a software system. The 'I' in 'API' does not stand for 'interface' for nothing! Once you realize that, as a human being, you can send inputs (requests) to and observe outputs (responses) from an API just as you would do using a graphical user interface (GUI), you'll quickly see that your testing expertise can be applied to APIs without too much trouble.
While it is true that you would need a tool -and some time to get used to the tool- to send your requests and observe the responses, you’ll soon notice that a lot of your existing skills and experience is transferable. You’ll get better at performing tests at the API level in no time!
The second hurdle that people getting started with API testing often run into is the wide range of tools available. What tool to choose? What's 'the best' tool?
There is no such thing as a ‘best tool’. There are a lot of good tools out there that can support your API testing efforts, both low-code (Postman, Insomnia, SoapUI, etc.) as well as code-based libraries (REST Assured, requests, RestSharp, etc.) that support both exploratory testing and automation. Pick what's already being used in your team or company, or pick one you like, and just get started. Most API testing tools and libraries offer very similar capabilities, and for most of them, there are lots of good tutorials and getting started guides available.
Once you see API testing isn't that different from other types of testing, and that a lot of the API testing tools out there offer similar features, there isn't a lot holding you back in getting started with API testing.
The best way to start learning API testing
There’s so much content out there for those who want to start learning how to test APIs, and how to work with APIs in their testing efforts. How do you determine what is high-quality content versus a waste of time?
Don’t worry, we’ve got you covered! Here are some of our favourite free resources to help you add API testing and automation to your software testing tool belt.
- The API learning paths on Test Automation University.
At the time of writing, there are paths for Java, JavaScript and Python - The open-source workshops on REST Assured / Java, requests / Python and RestSharp / C#
(Created by our Academy director, Bas Dijkstra).
These resources contain lots of information, examples, as well as hands-on exercises that will help you get started with adding API testing to your modern testing tool belt.
When self-paced learning isn't your thing, or if you're looking for more guidance on your journey to learn API testing, we also offer an intense 3-day API testing masterclass as well as a longer API testing deep dive course.