When the term “automated tests” is used in a web or mobile application, many people default to assuming that the only option is a UI based End-to-End Test suite like Selenium. At the same time, the internet is full of articles on improving your flaky tests or the woes of integrating these tests into a build pipeline.
Let’s step back from this default approach to end-to-end testing and consider collaborating as a team. Understanding the capabilities and tools available for testing throughout the tech stack using unit and consumer contract tests with modern tools such as jest, testing-library, and pact, we can quickly and easily minimize the risks without the heavy overhead of defaulting to UI based End-to-End tests. This holistic approach to a testing strategy will allow us to see bugs sooner and truly shift left in our testing.