Why It Matters
Software systems are made up of many components, and the most common failures happen at the boundaries where those components meet. A function might work perfectly on its own but fail when it receives data in a slightly different format from the system feeding it. Integration tests catch these boundary problems before your users encounter them. They matter especially when your application connects to external services. Payment providers, email systems, and third-party API integrations all involve real network calls and data transformations where subtle mismatches can cause failures.
Example
Your online store has a checkout flow that involves a shopping cart module, a payment gateway integration, and an order confirmation email. Each component passes its own unit tests. But an integration test reveals that the cart sends prices as strings while the payment gateway expects numbers, causing transactions to fail silently. Without the integration test, the bug would only surface when a real customer tried to pay, and the error would look like a payment provider issue rather than a data format mismatch in your own code.
Browse the glossary for more definitions.