Software testing is a process to evaluate the functionality of an application, to verify if the specified requirements are met and to identify the defects for ensuring and availing a defect-free product. The process, when done manually by a human, is termed as manual testing and it demands efforts and time. In order to save the same, Automation Testing came as a concept. Automation Testing refers to setting up a procedure to implement the manual tasks automatically without it being monitored. The below diagram clarifies the concept better.
In the last few years, we have an exponential increase in the development and use of APIs. We are in the era of API-first companies like Stripe, Twilio, Mailgun etc. where the entire product or service is exposed via REST APIs. Web applications also today are powered by REST-based Web Services. APIs today encapsulate critical business logic with high SLAs. Hence it is important to test APIs as part of the continuous integration process to reduce errors, improve predictability and catch nasty bugs.