Skip to content
steelabs

QA

Manual testing vs test automation: which to invest in first

Automation is not a more advanced form of manual testing. They answer different questions, and picking the wrong one first is an expensive way to learn that.

7 min read

The question is usually posed as a maturity ladder: manual testing is where you start, automation is where you arrive. That framing is wrong, and it produces a specific and very common failure — a large automated suite that is slow, unreliable, and quietly ignored by the team that paid for it.

Manual testing and automation answer different questions. Deciding between them is a matter of which question you currently need answered.

They answer different questions

Automation answers: has anything that used to work stopped working? It is a regression detector. It is exceptionally good at running the same hundred checks on every commit without getting bored, and completely incapable of noticing that the thing it is checking is a bad idea.

Manual testing answers: is this actually any good? A human tester notices that the error message is technically correct and practically useless, that the flow makes sense to someone who built it and to nobody else, that the loading state appears for long enough to feel broken. None of this is expressible as an assertion.

Automation protects what you already decided was correct. Manual testing decides whether it was correct.

This is why "we automated everything" is not a coherent goal. You cannot automate the judgement about what should be automated.

What happens when you automate too early

Automating a feature requires the feature to hold still. Selectors, flows, data shapes and page structure all have to be stable enough that a test written on Monday still passes on Friday for the right reasons.

Automate a product that is still finding its shape and you get the failure mode every team recognises:

  • Tests break constantly, but from intended changes rather than defects.
  • Someone starts adding waits to make them pass. The suite gets slower.
  • The suite becomes slow enough that it moves from every-commit to nightly.
  • Nightly failures accumulate faster than anyone triages them.
  • The team learns that a red build usually means nothing, and stops looking.

At that point the suite has negative value. It costs maintenance time and provides no signal, and the honest fix is usually to delete most of it and start again against the parts of the product that have settled.

A decision framework that actually holds up

For any given area of the product, ask three questions in order.

  1. 01How often does this need re-checking? Something verified on every release is a candidate. Something verified once a year is not, no matter how critical it is.
  2. 02How stable is it? Not the code, the behaviour. If the intended outcome has changed twice this quarter, automating it now buys you maintenance, not coverage.
  3. 03What does failure cost? Checkout, authentication, payment and data-integrity paths justify automation earlier than the rest of the product, because the cost of a silent regression is high enough to pay for some churn.

High frequency, high stability, high cost of failure means automate. Low frequency or low stability means test it manually and revisit later. The mistake is treating criticality alone as sufficient — critical but unstable is exactly the combination that produces a flaky suite guarding your most important flow.

The sequence that usually works

For most teams arriving at this question for the first time, the productive order is:

  1. 01Test manually, and write down what you did. Structured exploratory testing on the current release, with the cases recorded as you go.
  2. 02Notice what you repeat. The cases you run every single release, unchanged, are your automation backlog. They have already proven both their frequency and their stability.
  3. 03Automate that list, smallest and most valuable first. Usually authentication, then the primary revenue or conversion path.
  4. 04Gate the pipeline on it. An automated suite that does not block a merge is documentation, not a safety net.
  5. 05Keep testing manually. The automation now covers regression, which frees the human effort for the new work — where the interesting defects actually are.

This sequence has an unglamorous property: it produces a smaller automated suite than most teams expect, and a considerably more useful one.

So which first?

If you have no structured testing at all, start manual. You will find defects immediately, you will learn which parts of the product are stable, and that knowledge is the input automation requires.

If you already test manually and your release cadence is limited by how long a regression pass takes, start automating — that is precisely the problem automation solves, and the pain is telling you the product has stabilised enough to be worth it.

Quick answers

Common questions

Is manual testing still worth it if we plan to automate?

Yes, permanently. Automation checks that known-good behaviour has not regressed; it cannot judge whether new behaviour is any good. Manual testing is where usability problems, confusing states and design defects are found — none of which are expressible as assertions.

When is a feature stable enough to automate?

When its intended behaviour, not its code, has stopped changing. A useful rule of thumb: if you have redefined what "correct" means for that flow within the last quarter, automating it now buys maintenance rather than coverage.

What should we automate first?

The cases you already run unchanged on every release — they have proven their frequency and stability. In practice that is usually authentication, then the primary revenue or conversion path.

Contact

Want this applied to your product?

Articles generalise; your situation does not. Describe what you are dealing with and we will tell you which parts of the above actually apply.