Test the boundary between two systems by the contract, not the implementation. Use for APIs, integrations, and shared interfaces.