Have been exploring options for creating integration tests in environments with numerous services / microservices, and wondered what people have seen work, not work, and any tools you particularly like or rely on. Would have solid unit tests, but still want to be able to run some smoke tests in a spun up deployment environment before pushing to prod. We are looking to implement OpenTelemetry to handle our troubleshooting needs (particularly tracing issues through the various services - it is pretty cool), but have not found much current advice on best practices for E2E testing.
End-to-end tests build on integration tests, which in turn build on all the other forms of testing you’ve learned about. As the name indicates, end-to-end tests are designed to test your application from start to finish (or top to bottom, if you prefer). They should in theory simulate a real-world user of your application, or at least perform the actions of a real user. In practice, these tests are usually the most difficult to write and consume the most development time.