The test failed, but the code was fine.
That was the moment we knew the problem wasn’t in the logic — it was in how everything connected. Integration testing exists for this exact reason: to catch the gaps where systems meet, where data flows, where moving parts need to operate as one. Unit tests had passed. Manual checks looked clean. But in production, the cracks appeared.
Integration Testing Radius is the full scope of what your integration testing covers. It defines the boundaries. Does it stop at service-to-service APIs? Does it include database interactions? Authentication flows? External dependencies? Most teams don’t consciously define their radius, and that’s how defects slip through. A narrow radius means high risk. A wide radius catches more bugs before they reach users.
Choosing the right integration testing radius means balancing speed against certainty. Too small, and you miss hidden failures. Too big, and you slow releases until the team avoids running tests at all. The right radius is targeted: it covers critical paths, system boundaries, and the highest points of dependency. It should reflect the architecture — microservices, monoliths, hybrid — and the risk tolerance of the product.