api-testing-patterns
Comprehensive API testing patterns including contract testing, REST/GraphQL testing, and integration testing. Use when testing APIs or designing API test strategies.
By proffesor-for-testing · 588 installs
npx skills add proffesor-for-testing/agentic-qe --skill api-testing-patterns
Source repository · Upstream listing
API Testing Patterns
<default to action
When testing APIs or designing API test strategy:
1. IDENTIFY testing level: contract, integration, or component
2. TEST the contract, not implementation (consumer perspective)
3. VALIDATE auth, input, errors, idempotency, concurrency
4. AUTOMATE in CI/CD with schema validation
5. MONITOR production APIs for contract drift
Quick Pattern Selection:
Microservices → Consumer driven contracts (Pact)
REST APIs → CRUD + pagination + filtering tests
GraphQL → Query validation + complexity limits
External deps → Mock with component testing
Performance → Load test critical endpoints
Critical Success Factors:
APIs are contracts test from consumer perspective
Always test error scenarios, not just happy paths
Version your API tests to prevent breaking changes
</default to action
Quick Reference Card
When to Use
Testing REST or GraphQL APIs
Validating microservice contracts
Designing API test strategies
Preventing breaking API changes
Testing Levels
Level Purpose Dependencies Speed
Contract Provider consumer agreement None Fast
Component API in isolation Mocked Fast
Integration Real dependencies Database, services Slower
Critical Test Scenarios
Scenario Must Test Example
Auth 401/403 handling Expired token, wrong user
Input 400 validation Missing fields, wrong types
Errors 500 graceful handling DB down, timeout
Idempotency Duplicate prevention Same idempotency key
Concurrency Race conditions Parallel checkout
Tools
Contract : Pact, Spring Cloud Contract
REST : Supertest, REST assured, Playwright
Load : k6, Artillery, JMeter
Agent Coordination
qe api contract validator : Validate contracts, detect breaking changes
qe test generator : Generate tests from OpenAPI spec
qe performance tester : Load test endpoints
qe security scanner : API security testing
Contract Testing
Pattern: Consumer Driven Contracts
When: Microservices, distributed systems, third party integrations
Critical Test Patterns
Authentication & Authorization
Input Validation
Idempotency
Concurrency
REST CRUD Pattern
Best Practices
✅ Do This
Test from consumer perspective
Use schema validation (not exact values)
Test error scenarios extensively
Version API tests
Automate in CI/CD
❌ Avoid This
Testing implementation, not contract
Ignoring HTTP semantics (status codes)
No negative testing
Asserting on field order or extra fields
Slow tests (mock external services)
Agent Assisted API Testing
Agent Coordination Hints
Memory Namespace
Fleet Coordination
Related Skills
[agentic quality engineering](../agentic quality engineering/) API testing with agents
[tdd london chicago](../tdd london chicago/) London school for API testing
[performance testing](../performance testing/) API load testing
[security testing](../security testing/) API security validation
[contract testing](../contract testing/) Consumer driven contracts deep dive
Remember
API testing = verifying contracts and behavior, not implementation. Focus on what matters to consumers: correct responses, proper error handling, acceptable performance.
With Agents: Agents automate contract validation, generate comprehensive test suites from specs, and monitor production APIs for drift. Use agents to maintain API quality at scale.
Gotchas
Agent generates tests against documented API, not actual API — always validate against running service first
Auth tokens expire between test runs — use fixtures with long lived tokens or refresh before each suite
Rate limiting in CI causes intermittent failures — add retry with exponential backoff for 429 responses
GraphQL introspection may be disabled in production — test against staging schema, not production endpoint
Idempotency tests need unique request IDs per run — hardcoded IDs cause false passes on retry