Web testing has become a lot harder to describe in one sentence.

It used to be easier to say, “We run some Selenium tests,” or “We use Cypress for frontend testing.”

Now that feels incomplete.

A modern web app can fail because of CSS refactors, OAuth redirects, cross-origin iframes, custom dropdowns, file downloads, preview environments, flaky CI jobs, third-party scripts, browser differences, AI-generated frontend code, and an AI coding assistant that created tests nobody understands.

So the useful question is not only: