Testing Distributed Systems at Scale: Running Thousands of Tests Without Expensive Deployments(Part 2)
In-Process Integration Testing Overview In Part 1, we discussed why validating a distributed application needs more than UTs and automated UI tests. We need to validate network interactions, DB state, business logic, and internal service communication. But there is another important problem - how do we execute these tests efficiently? Let's assume we have an application with 20 microservices, PostgreSQL, queues and external integrations with AWS and Salesforce. A traditional E2E test might require us to deploy the services, configure networking, set up dependencies, initialize test data, execute the workflow, and clean up the environment. When AI agents are generating and modifying code continuously, deploying the entire system for every iteration can become very expensive in terms of time and infrastructure cost. One alternative is in-process integration testing , where we run the real application logic of multiple services inside a single process, instead of deploying every servi...