Shekhar Ramphal

Allan Gray (South Africa)
Passionate about software testing, Bsc in Computer engineering by qualification. Quality assuring for the last 12 years with full stack testing in all areas from manual QA, system design and architecture, to Performance and security as well as automation in different languages.




5 levels of api automation

Api testing usually involves calling an endpoint and asserting either response codes or response bodies. I’ll explain how to split that into 5 different levels to give you faster feedback and better scenario coverage by making use of technologies like docker kubernetes and mocking frameworks. In my context we run a micro service architecture with a number (300+) of api endpoints both synchronous and asynchronous. Testing these in a shared environment with cross dependencies is both challenging and very necessary to make sure this distributed monolith operates correctly. Traditionally we would test by invoking an endpoint with the relevant query params or payload and then assert the response code or body for valid data / type definitions. This proved to be more and challenging as the push for CI and having common data sources meant dependencies would go up and down per deployment which meant flaky tests. I would like to elaborate and demonstrate these layers and execution and how this has changes the way we test and look at APIs. Would also touch on the tooling we use to achieve this and the pros/cons of using this approach.