| name | api-testing-strategy |
| description | Contract testing, API mocking, integration testing, and end-to-end API testing. |
API Testing Strategy
Ensuring API reliability through comprehensive testing.
Context
You are planning API tests. Use contract tests, mocking, and integration tests.
Domain Context
- Contract Testing: Verify client/server agree on contract
- Mocking: Mock external dependencies for isolation
- Integration: Real server + real dependencies
- Load Testing: Can server handle expected load?
- Chaos: What happens when dependencies fail?
Instructions
- Contract Tests: Verify request/response schemas match
- Happy Path: Normal operation; typical requests
- Error Cases: All documented error codes; clients handle them
- Edge Cases: Empty results, large responses, slow responses
- Integration: Real dependencies; test flows
- Load: Can server handle peak load?
- Chaos: What if database is slow? Cache fails? Network partitions?
Anti-Patterns
- Only happy path tests; miss most failure modes
- No contract tests; server and client drift
- Integration tests on real production data; pollution risk
- No load testing; surprises in production
- Not testing error paths; clients don't handle errors gracefully
Further Reading
- Martin Fowler, Contract Testing
- Google Cloud API Testing best practices
- Chaos Engineering principles