Test Automation for Beginners: Don't Start With Login

best way to automate for beginners

You recorded your first test on a Tuesday. Login, obviously — it's the first thing anyone does in your app, so it seemed like the natural place to start. It passed. You showed someone. Two days later it went red, and you couldn't tell whether the app was broken or the test was. It stayed red. Three weeks after that, nobody was opening the dashboard.

That's the default outcome for a first suite, and the usual diagnosis — you picked the wrong tool, or you should have learned to code first — is wrong on both counts.

Most people searching for test automation for beginners aren't beginners in any meaningful sense. You're a manual tester, a support lead, or a product owner at a 20–200 person company shipping a web app every week or two. You know exactly which flows matter. You know which one support reopens every month and which one broke during the last release. What you don't have is a way to make those checks repeat without you clicking through them. That's not a skills gap — it's an ownership and infrastructure gap, and it needs a different fix.

So this isn't a learn-automation guide. It's the three decisions that determine whether your suite is still running in six months.

The Suite That Died in Six Weeks

Watch the pattern, because it's consistent:

Something breaks in production. A checkout fails, or signup silently stops sending emails, and a customer finds it before you do. The reaction is immediate and correct: we need automated tests. Someone spends two focused weeks building them. Twenty, thirty tests. The dashboard goes green. Everyone exhales.

Next release, four tests fail. Two are real bugs. Two are because a button moved. Nobody has time that week, so the failures sit. The release after, eleven failed. Now nobody trusts the dashboard, because a red suite that's usually wrong is worse than no suite — it trains you to ignore it. Six weeks in, the tests are decoration. Three months in, something breaks in production again.

The tests didn't fail because they were recorded instead of coded. They failed because when they went red, nobody's job said fix this today.

Here's the part that surprised us in our own data. In our February 2026 product-market-fit survey of 70 BugBug users, we broke the results down by role. The group that valued the tool most wasn't the most technical one:

Role Would be "very disappointed" without it
Product Owner 60.0%
QA / Test Engineer 50.0%
Founder / CTO 50.0%
Software Developer 37.5%

Developers came last. Not because the tool is bad for developers, but because a developer has other options - they can write Playwright and often prefer to. The people who get the most out of automation are the ones who understand the product deeply and have no other route to repeatable checks.

Which is a roundabout way of saying: the ownership question isn't a footnote. It's the first decision, and it determines the tool, not the other way round. Brand24 is the clearest version of this we've seen — a 100+ person SaaS with no QA team, where the Product Owner sets up hourly website monitoring himself. That suite has run over 100,000 times since April 2021 and caught five-plus critical production issues, including a broken login after a failed release and a pricing page that rendered completely blank. Zero engineers were involved in building it.

Before you record anything: someone's name goes next to the suite, and a red test becomes a same-day task for that person. If you can't answer that, the tool choice genuinely doesn't matter.

Don't Start With Login. Start With Something Nobody Can Break.

Second decision, and the one almost everyone gets wrong.

Your first automated test should not be login. It's the most obvious candidate and the worst possible starting point, because authentication stacks nearly every hard problem in test automation into the first thing you build:

  • Session state. Passes on a clean browser, fails on the second run because you're already logged in.
  • Email confirmation. If signup needs a link from an inbox, your test now depends on a system you don't control.
  • 2FA. A code you can't predict, by design.
  • Rate limiting. Run the same login twenty times while iterating and your app starts blocking you — correctly.
  • Test account drift. Someone changes that account's password or its trial lapses, and every dependent test dies at once.

None of that is a flaw in your tool. It's the intrinsic difficulty of the flow. But as a first test, you have no baseline — you don't yet know what a stable test feels like. So when login flakes for five unrelated reasons in a fortnight, you draw the obvious conclusion: automation is unreliable. And you stop.

Start read-only instead. No state to manage, nothing to clean up, no side effects:

  • A search that returns results
  • A filter or sort on a list view
  • A public pricing or docs page rendering correctly
  • A dashboard loading with the right widgets present

One flow. Three assertions. Run it three days running and watch it stay green. That green baseline is the real goal of week one — not coverage. It's what makes a red test mean something later.

Then automate login in week two, once you can tell a broken app from a brittle test.

💡 Also check our guide on how to reduce test maintenance overhead.

"Isn't Low-Code Just Flaky?"

Ask this on Reddit and the top-voted answer will tell you yes, then recommend Playwright or Cypress. The objection deserves a straight answer rather than a defensive one, because part of it is correct — and we have our own numbers on it.

In the same PMF survey, we asked the users who weren't strongly attached to BugBug what held it back. Reliability and flakiness came up for 13.2% of them. Not the largest theme — flow control and branching logic (26.3%) and AI assistance (36.8%) were both bigger — but it's real, it's ours, and pretending otherwise would be insulting to anyone who has lived it.

The most useful evidence sits in two G2 reviews of the same product, published months apart, reaching opposite conclusions.

One reviewer, testing a platform with many dynamic elements and complex navigation, reported frequent errors — worse in cloud runs than local ones. Another, a founder automating a Jira Forge app, built roughly 180 tests and described them as running reliably. The second review explains the gap in its own words: to get that stability, they modified their application to generate consistent test IDs the tests could reference.

Same tool, opposite experiences, and the variable isn't the recorder. It's whether the app gives the test something dependable to grab.

Where the objection is genuinely true: if your app ships CSS-module class names that change every build, or renders deep markup with no stable identifiers, a recorder has less to hold on to. Code frameworks give you more escape hatches when a selector strategy fails — custom logic, explicit waits, retry patterns, without leaving your editor. On heavily dynamic DOMs that flexibility is a real advantage.

Where it's the first-test problem in disguise: a lot of "recorders are flaky" experiences trace back to someone whose first three tests were login, signup, and checkout — the flows most likely to fail for reasons unrelated to how the test was made. A hand-written Playwright test of that signup would also fail intermittently until someone handled the inbox dependency and the session reset. The tool took the blame for the flow.

What stabilises a test regardless of tool: data-testid attributes on the elements you care about, short tests, and read-only flows before stateful ones. Adding test IDs is a one-line ask to your developers and the single highest-return thing you can do — the 180-test reviewer above is the proof.

But the objection ultimately lands somewhere else. Flakiness isn't a tooling debate — it's a maintenance debate. Every suite drifts, coded or recorded. A Playwright repo with no maintainer rots just as fast as a recorded suite with no maintainer, and it rots less visibly, because it lives in a folder nobody outside engineering opens. The question that predicts survival isn't how were these tests created? It's who fixes them on Thursday?

Yes, Claude Can Write Your Tests. Who Runs Them Next Tuesday?

Any honest version of this article in 2026 has to name the alternative you'll hear most: point an AI coding assistant at your app and have it generate Playwright tests. It works. Playwright's CLI and MCP server are built for exactly this, and for someone comfortable in a terminal it's a fast path to a real suite.

We can be precise about how real this competition is. When we asked our users what they'd switch to if BugBug vanished tomorrow, Playwright was the runaway answer — 12 of 70, more than double the next option. One respondent simply wrote "Claude."

Be clear-eyed about what that solves, though. It solves generation — the part that was already getting cheap. It doesn't solve:

  • Execution. Something has to run these on a schedule and on every deploy: CI config, browser runners, and someone maintaining both.
  • Diagnosis. When test 14 fails at 3am, someone opens a CI log to find out why. If the person who owns quality doesn't read CI logs, every failure has to travel through a developer before it means anything.
  • Ownership. A generated suite arrives with no maintainer attached. AI made tests cheaper to write. It didn't make anyone accountable for them.

If a developer on your team wants to own a Playwright repo, take that path. Genuinely — no ceiling, and the skills compound. If the person who owns regression is a manual tester, a support lead, or a PM, generating tests you can't operate is how you end up with a second dead suite instead of a first one.

💡We just shipped Test Import & Export with YAML - check how it works

The Honest Shortlist: The Best Tools to Start With (And Who Should Skip Them)

Six starting points. For a first suite the column that matters isn't features — it's how long until one test runs green. Those figures are indicative, drawn from vendor documentation and customer-reported setup times rather than a controlled bake-off, and they assume a read-only flow on a straightforward web app. A complex app pushes every row higher.

Tool Code required Free tier Time to first green test Best for
Playwright + Codegen Yes (recorder generates it, you maintain it) Free, open source Half a day to a day A developer who'll own the repo
Selenium IDE No Free About an hour Throwaway checks, learning the concepts
Katalon Recorder No Free tier An hour or two Teams already inside the Katalon ecosystem
Ghost Inspector No Paid from day one About an hour Small teams wanting scheduled monitoring, budget approved
testRigor No (plain-English steps) Free tier A few hours Teams wanting natural-language tests who can absorb enterprise pricing later
BugBug No (custom JavaScript optional) Free — unlimited local runs Under 10 min Team-owned regression for Chromium web app

The verdicts, since a table can't carry nuance:

Playwright + Codegen is the strongest technical answer here and the reason this question is harder than it was three years ago. Codegen records your clicks and writes real Playwright code you edit afterwards. Avoid if nobody will maintain a repo — the generated code is yours to keep, which also makes it yours to fix.

Selenium IDE is free, instant, and fine for learning what an assertion is. Avoid if you need scheduled runs, CI integration, or anything a team depends on. It's a sketchpad, not a suite.

Katalon Recorder records without code and is a reasonable free entry point. Avoid if you're testing form-heavy flows where input fidelity matters — and know that the free recorder is the front door to a much larger commercial platform.

Ghost Inspector is a solid hosted recorder with scheduling built in. Avoid if you want to trial before paying, or if you're testing detailed keyboard interactions — it simulates input in JavaScript rather than driving a real browser, so some form-field behaviour won't reproduce faithfully.

testRigor lets you write steps as English sentences, which demos beautifully. Avoid if you're price-sensitive or worried about portability — tests live in a proprietary format and paid tiers aim well above SMB budgets.

BugBug records through a Chrome extension, runs locally or in the cloud, and lets you rerun from any step rather than re-recording a flow to fix certain step. Avoid if you need Firefox, Safari, mobile, or desktop coverage — it's Chromium-only, and that's a hard boundary rather than a roadmap caveat. Reviewers also consistently flag two things worth knowing before you commit: cloud runners are slower than local execution, and parallel cloud runs get expensive at volume.

💡 Want the wider landscape instead of a starting shortlist? We keep longer lists of codeless automation testing tools and record and play automation tools

Your First 20 Minutes

BUGBUG_SCREEN_f12d3920f4.png

Take the read-only flow you picked — the search, the filter, the dashboard load. The whole sequence:

  1. Install the recorder. With a browser-extension tool that's one click, no local environment to configure.
  2. Click through the flow once, slowly. The recorder captures each step. Don't improvise or backtrack — a clean recording is a readable test.
  3. Add three assertions. Not thirty. The results list isn't empty. The first result contains the search term. The count is visible. Assertions are the entire point; a test without them only proves the page didn't crash.
  4. Run it. Watch the replay. It'll probably pass.
  5. Run it again tomorrow, and the day after. Everyone skips this step, and it's the one that tells you whether you have a test or a coincidence.

Where a tool like BugBug earns its place in this sequence: when step 14 of a longer test needs changing, you edit that step and rerun from step 12 — no re-recording from the top. That single mechanic is most of the difference between maintenance taking five minutes and twenty, which is most of the difference between a suite that survives and one that doesn't. It also gives you an inbox at bugbug-inbox.com for signup and password-reset emails, which is what makes login testable in week two without wiring up a mail API.

The honest boundary, again: Chromium only. If cross-browser coverage is a requirement rather than a nice-to-have, this isn't your tool.

Want something to practise on before pointing a recorder at production? Try the example SaaS app or one of these deliberately broken test sites.

💡 If you're just starting: check out our beginner's tutorial to automation testing

Three Assertions Beat Thirty Steps

The second-most-common beginner mistake, after starting with login: recording one enormous journey. Sign up, confirm email, log in, browse, add to cart, apply a discount, check out, verify the receipt. Forty steps, one test, and it feels productive because it touches everything.

It breaks constantly, and worse, it breaks uninformatively. All you learn is that something in the middle went wrong.

Rule of thumb:  If a failure doesn't tell you which feature broke, the test is too long. Split that checkout journey into four — cart behaviour, discount logic, payment step, receipt confirmation. Each fails on its own and names its own culprit. Four short tests also fail independently, so one broken feature doesn't turn the whole dashboard red.

The part you'll hit in week three: test data

Your test needs an account, and that account needs a predictable state. A test that adds an item to a cart passes on an empty cart and fails on a cart holding three items from yesterday's run. Three things to sort before you scale past five tests:

  • A dedicated test account per environment, not a shared one someone else logs into.
  • A reset step, either at the start of the test or as seeded state your developers provide.
  • Environment variables for URLs and credentials, so one test runs against staging and production without being duplicated.

That's roughly a day of developer time, once. It's also the most common reason a suite that worked in week two stops working in week six. Polly.Help, a 50-person SaaS in the Netherlands, handled this with reusable components and per-environment configuration — their technical lead's summary was that automation increased productivity and saved money through fewer breaking changes, not that it eliminated setup work.

Here's the shape maintenance actually takes, from a reviewer who has run a recorded suite on a free plan for two and a half years: the effort is front-loaded at setup, then near-zero, then spikes whenever something significant changes in the app — a redesigned submit button, a moved form. That's the honest rhythm. Not zero maintenance, but concentrated and predictable rather than constant. And the payoff scales: one founder automating a Jira app reported a full manual test suite that used to take three to four days now runs largely unattended at roughly a tenth of the effort.

Decide Who Owns It Before You Record Anything

Three decisions, and only one is about software.

  1. Who owns the suite? Name a person. Give them explicit time — an hour a week is usually enough once it's stable. Make a red test a same-day fix for that person, not a backlog item. Can't answer? Don't start; you'll build the six-week suite from the top of this article.
  2. What's your first test? Something read-only. Green three days running before you touch authentication.
  3. Which tool? That depends entirely on who you just named:
  • A developer who wants to own a test repo → Playwright + Codegen, generated with an AI assistant if that speeds you up. No ceiling, skills compound. This article's advice is secondary for you.
  • A manual tester, support lead, or PM who owns regression on a Chromium web app → a recorder. BugBug's free plan covers unlimited local runs, so you can find out in an afternoon whether recorded tests hold up against your app before anyone approves a budget. Start with the read-only flow, not login.
  • Anyone needing Safari, Firefox, mobile, or desktop coverage → not BugBug. Look at Playwright for cross-browser, or a platform with a device cloud. Better to know now than three weeks in.

What happens when we hire a real automation engineer?

Fair objection, and worth raising before you commit rather than after. The answer is more concrete than it used to be: BugBug tests export and import as YAML, so a recorded test is a readable file your developer can review in a pull request, diff against last month's version, and keep in git. If you outgrow the tool, you leave with your tests rather than a screenshot of them.

That matters more than it sounds, because the alternative most teams actually choose isn't a beautiful Playwright suite built by a future hire. It's another quarter of manual regression, and another customer finding the broken checkout before you do.

FAQ

Ready to catch some bugs? Pick your read-only flow, record it, and run it three days running. That's the whole first week.

Your next release. Properly tested.

Join 1,200+ QA teams that automated their
regression coverage with BugBug.

Start testing. It's free.
  • Free plan
  • No credit card
  • 14-days trial

Author

Dominik Szahidewicz

Software Quality Evangelist

Dominik Szahidewicz is a Software Quality Evangelist specialising in quality assurance, test automation, and modern software testing practices. He creates practical, research-driven content that helps QA professionals, developers, and product teams improve test coverage, automate repetitive testing, and release more reliable web applications.

Drawing on his experience in technical writing, data analysis, and application consulting, Dominik translates complex testing concepts into clear, actionable guidance. His areas of interest include end-to-end testing, low-code test automation, regression testing, and the use of AI in software quality assurance.

Reviewer

Paweł Bylina CEO photo
Paweł Bylina

CEO & CTO at BugBug

Paweł Bylina is a software engineer, test automation product leader, and founder and CEO of BugBug, a low-code end-to-end testing platform used by teams in more than 50 countries. He has over 15 years of experience building software and leading engineering teams as a developer, engineering manager, CTO, and SaaS founder.

Paweł created BugBug after repeatedly seeing teams struggle with test automation that was costly to implement and difficult to maintain. He now works closely with QA engineers, developers, and engineering leaders to improve how software teams create and maintain reliable automated test coverage.

His expertise includes end-to-end testing, regression testing, browser automation, low-code test automation, QA strategy, and software quality. He shares practical insights drawn from building BugBug and working with software teams worldwide.