How do you decide what to automate and what to leave manual?
Automation is an investment. It has a build cost and — the part people forget — a permanent maintenance cost. It only pays back through repetition, so the decision is economic, not ideological.
Automation is an investment. It has a build cost and — the part people forget — a permanent maintenance cost. It only pays back through repetition, so the decision is economic, not ideological.
I automate tests that are repetitive (they run every release), stable (the feature isn't being redesigned next sprint), deterministic (same input, same output, no human judgement), and high risk (money paths, authentication, data integrity). Regression suites and smoke checks are the obvious winners.
I leave manual: one-off validations, features whose UI is still churning, anything requiring aesthetic or usability judgement, and tests where the setup cost dwarfs the risk being covered.
The sharpest version of this answer adds a second axis: not just whether to automate, but at which layer. A pricing rule doesn't need a browser — an API test verifies it faster, more reliably, and at a fraction of the maintenance cost. Most bloated, flaky UI suites exist because someone automated at the UI layer things that never belonged there.
So: automate what repeats, at the lowest layer that can catch the bug.
- Automation = build cost + permanent maintenance cost, repaid only by repetition
- Automate: repetitive, stable, deterministic, high-risk (regression, smoke, money paths)
- Leave manual: one-offs, churning UI, aesthetic/usability judgement, setup cost > risk
- Second axis: choose the LAYER — most flaky UI suites are API tests in the wrong place
- What's your automation coverage target, and why that number?
- How do you handle a feature whose UI changes every sprint?
Saying 'automate everything' or quoting a coverage percentage as a goal. Both signal you've never maintained a large suite. The follow-up is always about maintenance cost.