DEV Community

Discussion on: When to Write End-to-End Tests

Collapse
 
thawkin3 profile image
Tyler Hawkins

Thanks Liviu! Great insights. Those are good drawbacks to mention for Cypress.

I don't think that means that "you cannot actually create end-to-end tests with Cypress" though. There are plenty of user journeys and workflows that don't require multiple browser tabs or emails.

The lack of some browser support is a great callout as well. You can still write your end-to-end tests for Chrome, Firefox, and Edge though using Cypress, so that's a good start. You'd just be missing out on checking if there is any functionality you're using that isn't supported in those other browsers. (docs.cypress.io/guides/guides/cros...)

I'm curious about your last couple of comments and would love to know more!

I discussed with folks who manage testing departments at Airbnb, Netflix, Microsoft, Amazon, UPS and none of them use the testing pyramid.

What do they use then? I know a lot of companies that have been around for several years have more of an upside-down pyramid or ice cream cone shape for their tests: lots of e2e tests and only a few unit tests. So I'm guessing that's what you're referring to?

I believe this was largely due to the difficulties in writing unit tests for the frontend years ago, so doing testing using something like Selenium was your best option.

That testing pyramid is mostly pseudo-science.

How so?

My last company was a startup that used the testing pyramid successfully. As mentioned above, it's generally been slightly older companies that I've seen use more of an upside-down pyramid, but the goal is to slowly shape that into a right-side-up pyramid over time.