I'm part of a 20-some group of developers who maintain around 7 components (websites and microservices) for a single domain in our company (e.g. delivery tracking domain).
In order to ensure quality, we have "domain scoped end to end tests". The problem with our E2E tests though is the combination of microservice versions in our E2E tests may not be the same as production because each microservice is independently deployable.
Is E2E testing less important in a microservice world?
How do you handle this problem?
Do you:
- Run your full E2E suite after the component has been deployed to production? - I imagine that this can become a bottleneck and probably more flaky since nothing is mocked.
- Deploy your components together so that the versions that get deployed to prod are the same as what's in E2E? - could become a bottleneck as well but I guess it could work if only a couple of components would get deployed. Anyone practices this?
- Accepted the fact that CI and production will never have the identical component versions and just rely on monitoring production.
Lastly, how important is E2E in a microservice world?
In order to ensure quality, we have "domain scoped end to end tests". The problem with our E2E tests though is the combination of microservice versions in our E2E tests may not be the same as production because each microservice is independently deployable.
Is E2E testing less important in a microservice world?
How do you handle this problem?
Do you:
- Run your full E2E suite after the component has been deployed to production? - I imagine that this can become a bottleneck and probably more flaky since nothing is mocked.
- Deploy your components together so that the versions that get deployed to prod are the same as what's in E2E? - could become a bottleneck as well but I guess it could work if only a couple of components would get deployed. Anyone practices this?
- Accepted the fact that CI and production will never have the identical component versions and just rely on monitoring production.
Lastly, how important is E2E in a microservice world?
Thanks