What is genuinely worth automating
Automation carries a maintenance cost that is paid every time the application changes, and that cost is invisible on the day the suite is written. Tests that break constantly for reasons unrelated to defects get disabled, and a suite with disabled tests is worse than no suite at all because it produces confidence that is not warranted. The question is not whether a test can be automated. It is whether anybody will still think it worth running in a year.
The paths that earn automation are the stable, high consequence ones that are dull to repeat by hand. Login, permissions, the main transaction flow, a calculation that affects money, an integration that must not silently change shape without anybody noticing. The ones that rarely earn it are pixel comparisons, rapidly changing screens early in development, and complex journeys assembled through the interface where an equivalent test written at the API level would be faster to run and considerably more stable to keep.
Exploratory testing keeps its place alongside all of that. A person who understands the domain, given time and a charter rather than a script, finds a category of problem no automated suite will: the workflow that is technically correct and operationally impossible, the message that means something different to a user than to the developer who wrote it. Automation covers repetition. Judgement is not repetition, and treating it as such produces green pipelines and unhappy users.
- Automation targeted at stable, high consequence paths rather than at coverage as a number
- Tests written at the lowest level that can prove the behaviour, not always through the interface
- Flaky tests fixed or removed promptly, because a disabled suite creates false confidence
- Exploratory testing given time and a charter, for the problems scripts do not find
- Maintenance cost of each suite acknowledged when it is written, not discovered a year later