Filed under testing, automation, QA, best practices
Manual vs Automated Testing: When to Use Each
Automate the wrong test and you get a brittle suite nobody trusts. Skip automation on the right one and you burn a person's week every sprint. Here's how to tell which is which.
, 8 min read
A team automates their entire regression suite over a quarter. Two months later, half of it is skipped or commented out, because a redesign moved a dozen buttons and nobody had time to fix four hundred broken selectors before the next release. The suite that was supposed to save time is now something people route around.
A different team keeps running the same 200-case regression pass by hand, every sprint, for a year. It takes two people three days each time. Nobody questions it, because "that's just what regression week looks like," even though the same 200 cases haven't changed in eight sprints.
Both teams made a real mistake, and it's the same mistake in opposite directions: they picked one approach and applied it everywhere, instead of asking which tests actually belong to which category. Manual and automated testing aren't a philosophy you commit to. They're a fit question, asked per test.
The question that actually decides it
Forget the debate about which approach is "better." Ask three things about a specific test: how often does it run, how stable is the thing it's testing, and does it need a human to judge the result.
A login flow that runs on every build, hasn't changed in months, and has a pass/fail outcome a computer can check? Automate it, without much second-guessing. A brand-new settings page still getting redesigned weekly, where you're evaluating whether the flow feels right? Keep it manual until it stabilizes, because you'd be rewriting the automation as often as the UI changes, which is pure waste. A one-time check that a data migration moved the right rows? Manual, because building automation for something you'll run once costs more than just doing it.
Most disagreements about manual versus automated testing are really disagreements about which of those three questions matters most in a specific case, dressed up as a bigger philosophical argument.
Notice that none of the three questions mention team size, budget, or how mature your process is. Those things affect how much automation you can afford to build and maintain, not whether a given test is a good candidate for it. A two-person startup and a two-hundred-person QA org should reach the same answer for "is the login flow a good automation candidate." They'll differ on how much of their overall suite they can afford to automate this quarter, which is a resourcing question, not a testing-strategy one.
What manual testing is actually good for
Exploratory testing. Give a tester a charter like "find problems in the checkout flow" and let them follow their instinct. They'll try combinations nobody scripted: back button mid-checkout, two tabs open on the same cart, a promo code applied twice. Scripted tests only check what someone thought to write down in advance; exploration finds what nobody thought to write down.
Usability judgment. A script can confirm a button exists and responds to a click. It cannot tell you the error message is confusing, the flow feels like five steps when it should feel like two, or the confirmation screen doesn't actually confirm anything. That's a human call, every time.
Anything you'll run once. A one-off config change, a single data migration, a check that only matters for this release and never again. Writing automation for a test with an audience of one run is effort spent for no future return.
Early-stage features. If the UI is still being redesigned weekly, automated tests break as fast as you write them. Wait for the feature to stabilize. This isn't a compromise; automating too early is genuinely wasted work, not just cautious work.
What automated testing is actually good for
Regression. This is the highest-return automation target there is, full stop. The same 150 checks, run against every build, catching the same class of breakage a human would eventually catch on their fifteenth read-through, except automation doesn't get bored on the fifteenth read-through.
API tests. Stable, fast, and rarely brittle, because they're checking status codes and response shapes rather than whether a CSS class moved. If you're only going to automate one layer of your stack, this is usually the one with the best ratio of effort to payoff.
Data-driven checks. Testing a form against fifty valid and invalid input combinations is tedious by hand and trivial once scripted. Nobody's attention degrades on run forty-seven of an automated suite.
Cross-browser and cross-device runs. The same test, executed identically across Chrome, Firefox, Safari, and however many screen sizes matter to you. A human running the same script five times by hand will drift slightly each time, even trying not to; a script won't.
A decision table, for the cases that aren't obvious
The pattern in that table isn't really about the feature area. It's the same three questions from earlier (frequency, stability, judgment required) applied to specific cases. Once the pattern clicks, you stop needing the table.
Building automation without the big-bang rewrite
The team that automated their whole regression suite in one quarter and watched half of it rot within two months made a second mistake beyond picking bad candidates: they tried to do it all at once. A large batch of new automated tests, written under deadline pressure, is exactly how brittle selectors and copy-pasted waits get into a suite in the first place.
A steadier approach: add automation in small batches, five to ten tests a sprint, starting with the tests your team already runs most often by hand. That's slow enough to review each one properly and fast enough to show progress within a month. It also means when something breaks, you're debugging five new tests instead of two hundred.
Before adding a test to the automation batch, score it on the same three questions: how often does it run, how stable is the feature, how much of the check is objective rather than judgment. Anything that scores low on all three stays manual, and that's not a failure to automate; it's the correct call.
Where automation quietly costs more than it saves
Nobody automates a test expecting it to become a liability, but it happens for a specific, avoidable reason: the test wasn't a good automation candidate in the first place. A UI still being redesigned. A one-time check dressed up as a "just in case we need it again." A flaky third-party dependency nobody wanted to deal with, so the test got wrapped in retries instead of fixed.
A flaky automated test is worse than no test
A test that passes and fails intermittently without any code change doesn't just fail to catch bugs, it actively erodes trust in every other test in the suite. Once a team starts saying "that one's always flaky, ignore it," real failures start getting ignored right along with it. Fix or delete flaky tests immediately; don't let them linger.
Maintenance is the cost most teams underprice going in. Automated tests aren't write-once. Every UI change, every API update touches some subset of your suite, and if nobody budgets time for that, you end up with the four-hundred-broken-selectors situation from the opening. A rough rule that holds up in practice: budget a meaningful fraction of your automation time, not zero, for ongoing maintenance, or the suite decays exactly as fast as the product changes underneath it.
My actual take
The "you need both" answer is true, but it's also the least useful thing anyone can tell you, because it doesn't tell you what to do Monday morning. Here's what I'd actually do: automate regression and API tests first, because they're the highest-certainty return. Keep exploratory and usability testing manual on purpose, not because you haven't gotten around to automating them yet. And the moment a test starts requiring more maintenance effort than it saves, stop treating it as a sunk cost and either fix its root cause or delete it. A skipped test that nobody looks at is worse than an honest gap in coverage, because the skipped test is lying to your dashboard.
If you're running a mix of both, the practical failure mode isn't picking the wrong approach for a given test. It's losing track of which tests are which, and where each stands. A live, hands-on session on a real device is still how you catch what automation can't judge, and a suite running through Appium or Playwright is how you stop re-running the same 200 cases by hand every sprint. Keep both results in one place, or you'll be back to answering "are we covered?" with a guess.
Both run on TestKase's AI Device Cloud, which your AI assistant can also drive through the Device Farm MCP.
Try this with your AI assistant
Paste this into your coding agent and it will set up TestKase for your project:
Read https://www.testkase.com/SKILL.md to set up TestKase testing.Frequently asked questions
Should I automate all my tests?
No, and treating that as the goal is how teams end up with a slow, brittle suite. Automate what's repetitive, stable, and data-driven: regression, smoke, and API tests. Keep exploratory testing, usability evaluation, and anything you'll only run once as manual.
What percentage of tests should be automated?
There's no target percentage worth chasing. A five-person startup shipping daily and a regulated enterprise shipping quarterly have completely different right answers, and both would be wrong to copy an industry benchmark. Ask instead: which of my current manual tests am I re-running, unchanged, more than five times?
Which automated testing framework should I use?
For web apps, Playwright has become the default choice for new projects; Cypress remains solid for teams already invested in it. For mobile, Appium is the standard for real-device automation. Pick based on your stack and team expertise, not on which tool has the loudest marketing.
How do I convince my team to invest in test automation?
Skip the ROI slide deck and automate one real, painful, repetitive test first. A working example that saves an afternoon every sprint convinces people faster than a projection. Start with the test your team complains about most.
Can manual testers learn automation?
Yes, and their testing judgment usually makes them better at deciding what to automate than someone who started as a developer. Start with a low-code tool or simple API tests, not a full framework, and let the scripting follow the instinct they already have.
Is a flaky automated test better than no test at all?
No — a flaky automated test is worse than no test. A test that passes and fails intermittently without any code change doesn't just fail to catch bugs, it actively erodes trust in every other test in the suite. Once a team starts saying 'that one's always flaky, ignore it,' real failures start getting ignored right along with it. Fix or delete flaky tests immediately; don't let them linger.
Keep reading
- Using AI to Write Better Bug Reports (With Examples)Use AI to write clearer, more actionable bug reports that developers can act on immediately. Includes before-and-after examples, prompts, and workflow tips.
- AI Duplicate Detection in Test Suites: Why It MattersLearn how AI-powered semantic duplicate detection finds redundant test cases, reduces suite maintenance by 20-30%, and reveals hidden coverage gaps.
- How AI Is Changing Software Testing in 2026Discover how AI transforms software testing with test generation, self-healing automation, defect prediction, and smarter QA workflows in 2026.