Front-End Testing
Frontend testing is one of those areas where balance really matters. According to the testing pyramid, UI tests should sit at the top—they’re important, but you don’t want too many of them. They tend to be slower and more fragile than unit or API tests, so it's best to automate only the key user flows. That said, when done right, frontend tests provide huge value by catching issues that other tests can’t.
​
I’ve worked with a variety of tools over the years. I started out with Java and Selenium WebDriver, often using Cucumber to write tests in plain language. That made it easier for non-technical stakeholders to understand what we were testing, and it created better alignment between testers and the business.
​
Later on, while working at Aviva, I switched over to C# for UI automation. The entire dev team was using C#, so aligning on the same language made collaboration and maintenance much easier. Everyone could contribute to the test suite, and that really helped build a quality-focused culture.
​
When it comes to modern frontend testing, I’ve used both Cypress and Playwright. Cypress is heavily JavaScript-based and has a really smooth developer experience—it’s great for quickly testing React or other modern frameworks. Playwright, on the other hand, is often used with TypeScript, which I personally prefer for its structure. Playwright has become one of my favorite tools—it’s fast, supports multiple browsers, and gives you a lot of control.
​
I’ve also explored Maestro for mobile testing, and I’ve found it to be a solid alternative to Appium. It’s faster to set up, easier to write tests in, and just a more pleasant tool overall for mobile automation.
​
For my day-to-day work, I use a mix of JetBrains IDEs—especially IntelliJ IDEA for Java-based projects—and Visual Studio Code for lighter, JavaScript or TypeScript-based workflows. Both have their strengths depending on the tech stack.
​
Overall, I believe frontend tests are still an important part of a healthy testing strategy—as long as they’re used wisely. It’s not about covering everything through the UI, but about choosing the right scenarios to automate. That way, we stay fast, focused, and confident in the quality we’re delivering.
Tools









