Overview
Quality assurance engineering is the discipline of finding out whether software actually does what it is supposed to do, before customers find out for you. The role has changed substantially: much of it is now engineering work — automation, tooling, test infrastructure and quality strategy — rather than manual scripted execution. It is also one of the most misunderstood roles in software, frequently treated as a stepping stone rather than a specialism, which does a disservice to people who are genuinely good at it. This guide sets out what the work involves and how to progress in it.
What a QA Engineer actually does
The stereotype is clicking through a checklist; the reality is closer to investigation. Much of the value comes from working out what could go wrong before anyone has written the test — reading a specification and identifying the states it fails to define, or noticing that two features interact badly. Alongside that sits a large body of unglamorous maintenance: flaky tests that fail for environmental reasons, test data that goes stale, and an automation suite that takes longer to run each month. You will also spend considerable time on communication that is not always comfortable — writing a reproducible bug report, arguing that something should block a release, and being the person who says no when a deadline is close. The job requires a tolerance for being the bearer of inconvenient news.
A typical week
- •Reading a specification or ticket and listing the cases it does not cover before development starts.
- •Writing or updating automated tests, and investigating which of yesterday's failures are real and which are flaky.
- •Exploratory testing of a new feature, deliberately trying sequences the developer would not have considered.
- •Reproducing and documenting a defect precisely enough that someone can fix it without asking you questions.
- •Assessing whether a release is safe to ship and stating a clear position on the risk.
- •Maintaining test environments and data, which is a persistent tax that rarely appears on anyone's roadmap.
Cohesyve for candidates
Thinking about a QA Engineer role? Find out where your skills stand today.
Run a role-specific simulation, get a scored report on your actual gaps, and follow a learning pathway built from them. Free to start, no card required.
The career path
Junior QA Engineer
Zero to around two yearsYou execute and extend existing test cases and write clear defect reports. The main development is learning to think adversarially about software rather than confirming that it works when used correctly.
QA Engineer
Roughly two to four yearsYou own testing for a feature area, design the test approach yourself and write automation. You start being involved before development rather than after it, which is where quality work has its largest effect.
Senior QA / Automation Engineer
Around four to eight yearsYou own test architecture and infrastructure — frameworks, CI integration, environment strategy — and set the standards other engineers work to. You are expected to reason about risk and coverage rather than count test cases.
QA Lead / Test Architect
Roughly eight to twelve yearsYou define quality strategy across teams: what is tested where, how much automation is justified, what the release criteria are. Much of the role is persuasion and prioritisation, and a growing part is helping developers own quality themselves.
Head of Quality / Principal SDET
Twelve years or moreYou are accountable for quality as an organisational property — process, tooling, metrics, and how engineering trades speed against risk. At principal level the emphasis is technical, on test platforms and infrastructure used across the business.
The skills that matter
Test design and risk-based thinking
Exhaustive testing is impossible, so the real skill is deciding what to test and what to accept. Boundary analysis, equivalence partitioning and risk prioritisation are what make coverage meaningful rather than large.
Automation and programming
Automation is now a baseline expectation, and writing maintainable test code is genuine software engineering. Poorly written suites become a liability that teams eventually delete.
Understanding the system under test
Testing purely through the interface finds shallow defects. Knowing the architecture, the APIs and the data lets you test at the right level and find problems that black-box testing never reaches.
Precise defect reporting
A bug report that cannot be reproduced wastes everyone's time and damages your credibility. Clear steps, evidence and expected-versus-actual behaviour are what get defects fixed rather than closed.
CI and environment knowledge
Tests are only useful if they run reliably in the pipeline. Understanding CI, containers, test data and environment configuration is what keeps a suite trusted rather than routinely ignored.
Communication and influence
Much of the job is telling people something they do not want to hear, close to a deadline. Being able to frame it as risk rather than blame determines whether quality work has any effect at all.
How to break in
- #1
Learn one programming language well enough to write and debug test automation. This is the single change that moves QA from an entry-level position to an engineering one.
- #2
Take a public application and produce a proper test plan and set of automated tests for it, then publish the repository. It evidences design thinking, not just tool familiarity.
- #3
Move across from support, operations or business analysis. Those roles already build product knowledge and defect-reporting discipline, which are the harder parts to teach.
- #4
Learn API-level testing, not just interface testing. It is faster, more stable and considerably more valued, and it is a common gap in self-taught candidates.
- #5
Get comfortable with CI pipelines and containers, since a suite that will not run reliably in CI provides little value regardless of how good the tests are.
- #6
Practise writing bug reports for defects you find in software you use daily. It is a specific, learnable skill and it is assessed in almost every QA interview.
What drives pay
Compensation varies too much by country, sector and company size for a single figure to be useful. These are the factors that actually move it.
Whether you build test infrastructure and automation or execute test cases someone else designed.
The cost of failure in the domain — regulated, financial, safety-critical and medical software treat quality as an obligation rather than a preference.
Depth in a scarce specialism such as performance testing, security testing, or test platform engineering.
Whether you influence quality strategy and release decisions or report findings into a process owned elsewhere.
Location and sector, since consultancies, product companies and regulated enterprises value the same nominal role quite differently.
Where demand is heading
Purely manual QA is contracting, and honestly so — scripted execution is precisely the kind of work that automation and AI tooling absorb well. At the same time, demand for engineers who can build and maintain test infrastructure has been steady or growing, because the more code teams ship automatically, the more they need reliable signals about whether it works. There is also increasing demand in areas where testing is genuinely hard: machine-learning systems with non-deterministic outputs, complex integrations, and regulated products where evidence of testing is a compliance artefact. The direction of travel is clear: quality roles defined by execution are shrinking, while those defined by engineering and risk judgement are not.
Roles this transfers to
Software Development Engineer in Test
It is the same discipline with the engineering weighting increased — building the frameworks and tooling rather than primarily using them.
Backend or Frontend Developer
QA engineers with strong automation skills already write code and understand the system deeply, and the move into development is a well-worn path.
DevOps / Platform Engineer
Pipelines, environments and release confidence are shared territory, and QA engineers often already own a meaningful part of the CI setup.
Product or Business Analyst
Reading specifications critically and spotting undefined cases is the same skill applied earlier in the process, and QA engineers usually know the product better than anyone.
Common mistakes
Staying purely manual, which is the clearest way to limit both progression and long-term security in this role.
Automating everything through the user interface, producing a slow, flaky suite that the team eventually stops trusting.
Measuring success by test count or coverage percentage rather than by the risk actually reduced.
Reporting defects vaguely, which erodes credibility faster than almost anything else a QA engineer can do.
Waiting until code is written to get involved, when the highest-value contribution is questioning the specification beforehand.
Treating QA as a temporary stop on the way to development, and consequently never becoming good enough at it to progress in either direction.
Frequently Asked Questions
Is manual testing a dead end?
Manual execution as a full-time job is genuinely shrinking. Exploratory testing — the investigative work of finding problems nobody scripted — remains valuable and is not going away. The practical advice is to keep the exploratory skill and add automation, because the combination is what employers are actually short of.
Do I need to know how to code to work in QA?
To enter at a junior level, not necessarily. To progress beyond it, yes. Automation, API testing and CI work all require code, and the pay and scope differences between coding and non-coding QA roles are substantial. Treat it as a requirement you are deferring rather than avoiding.
Is QA a good route into software development?
It can be, and the transition happens often, particularly from automation-heavy roles. The risk is doing QA badly on the assumption that it is temporary. People who take the discipline seriously move more easily, because they have built real code and deep system knowledge.
Which automation tools should I learn?
Learn the ones common in your target market, but prioritise the underlying skills — writing stable selectors, structuring test code, managing test data, running reliably in CI. Tools change every few years; the reasons suites become flaky and unmaintainable do not.
How do I find out whether my QA skills match what modern teams need?
The gap is usually automation and system-level testing rather than test design, and it is hard to see from inside a role. Cohesyve lets you import a QA job advert, run a simulation drawn from it, and get a scored report showing where you stand and what to learn next — three free assessments, no card required.
Interview prep
Every stage of the QA Engineer hiring process, and how to prepare →
Practice
What a QA Engineer assessment tests, and how it's scored →
Explore another career
Cohesyve · Practice for candidates
Practise a QA Engineer assessment before the real one
Run the same AI job simulations companies use to evaluate applicants. You get a scored report showing where you're strong and where you're not, plus what to work on.
3
free assessments
$0
no card required
Full
scored report every run
Every
question type included
3 free assessments · No card required · Pro from $16/mo
For hiring teams
Hiring for a QA Engineer role? See how your applicants perform before you spend interview time.