Discussion about this post

User's avatar
Adam's avatar

I will be honest, you lost me at "takes days or weeks to resolve end to end tests". E2E tests are just one more tool in your arsenal. Certainly only essential aspects of an app should be covered. But if it's taking you that long to resolve any tests, some test runner plumbing is missing.

1. Are you running all tests multiple times daily on main branch to catch flakey tests? When a test fails do you have a trace id to track down what service calls were made during the calls as part of the test?

2. Do you run all tests for every PR so you know when regressions are introduced?

3. For tests that rely on A/B tests, do you gate them so they don't run outside of the A/B test?

4. For cases where tests are broken upstream ( a PR for a transitive dependency get merged anyway) - do tests continue to run, but not fail the build while the ticket to resolve them is still open?

Having domain level tests is great, but it still won't tell you the system can correctly perform its essential functions. If e2e tests are constantly failing, how can manual testing work either?

Expand full comment
1 more comment...

No posts