API Testing
Testing below the interface: faster, more stable, and closer to the business logic than UI testing.
Fundamentals
- HTTP fundamentals — methods, status codes, headers: the language of APIs.
- What to test in an API — checklist: contract, data, errors, security, and idempotency.
API automation
- Architecture of an API testing framework — layers, service objects, and organization (Java + REST Assured + JUnit 5).
- Anatomy of an API test — Given-When-Then, the per-endpoint case matrix, and assertions.
- JSON Schema validation — validate the contract, not just the values.
- Test data and authentication — builders with random data, ephemeral users, and least privilege.
- Async APIs with Awaitility — polling with a timeout instead of sleeps.
Tools
- VS Code REST Client — testing APIs with
.httpfiles versioned in the repo. - SQL for QA — the 20 % of SQL that solves 80 % of the job: verifying persistence, preparing data and spotting inconsistencies.
- Postman and SoapUI — testing APIs without a framework: collections with assertions, and SOAP with its WSDL contract.
- NoSQL for QA — which guarantees disappear without a fixed schema and what to validate because of it, with MongoDB as the example.
- Karate: API testing with BDD — self-contained features with match assertions, no step definitions.