Integration Test

Noun · Development

Definitions

  1. Integration Test is an automated test that verifies the interaction between two or more components, modules, or services to ensure they work correctly together. While unit tests verify individual pieces in isolation, integration tests catch problems that emerge at the boundaries: incorrect API contracts, database query failures, serialization mismatches, authentication issues, and configuration errors. Integration tests typically involve real dependencies (databases, message queues, external services) or realistic simulations of them using tools like Docker containers or in-memory databases. They sit in the middle of the testing pyramid, being slower and more complex than unit tests but faster and more focused than end-to-end tests. Common patterns include testing API endpoints with HTTP requests, verifying database operations through a repository layer, and testing message publishing and consumption. Integration tests provide high confidence that the system works as a whole, but their slower execution speed and higher maintenance cost mean they should complement rather than replace a solid unit test suite.

    In plain English: Testing that different parts of a system work together correctly — not just individual pieces, but how they interact.

Related Terms