Integration test
An integration test verifies that multiple components work together correctly — a service hitting a real database, two microservices communicating, a frontend talking to a real API. Integration tests catch interface bugs that unit tests miss because units are tested in isolation.
The 'test pyramid' (Mike Cohn) recommends roughly 70% unit tests, 20% integration, 10% end-to-end. The justification: unit tests are fast and stable; integration tests are slower and flakier; e2e tests are slowest and flakiest. Most teams skew their pyramid wrong — too many e2e tests, too few unit tests — because e2e looks like it catches everything. In practice, e2e suites become flaky-test maintenance burdens unless rigorously tended.
Long-form posts that explore integration test in depth — when to use it, common failure modes, how AI helps.
- Are AI-generated test cases worth shipping?Yes, with a sharp caveat — when they're tied to AC and reviewed by a human. Five categories where AI test generation is great, five anti-patterns to catch.9 min read
- Can AI write Gherkin? (yes — here's how)Yes. AI writes Gherkin well, often better than humans for surface area coverage. Five wins, five recognisable failure modes, and the prompts that work.8 min read
Related terms
- Smoke test
A smoke test is a small, fast set of tests that verify the most critical paths of a system work at all — does the app start, can a user log in, do the top three workflows respond.
- Regression test
A regression test verifies that previously working functionality still works after a code change.
- Code coverage
Code coverage is the percentage of source code executed by a test suite, broken down by statement, branch, or line.