QA
kyoo-ay
Quality assurance: the practice of testing software to find bugs before users do.
QA is the practice of verifying that software works correctly before it reaches users. This can mean manual testing by a human, automated testing by scripts, or a combination of both. The goal is to catch bugs, usability issues, and regressions before they ship to production.
In many organizations, QA is a dedicated role or team. QA engineers design test plans, write test cases, execute manual tests, and often build automated test suites. In smaller teams or organizations practicing continuous deployment, developers handle QA themselves through automated tests and code review.
The industry has shifted from QA as a gate at the end of development to QA as a continuous process. Instead of throwing code over the wall to testers, modern teams build quality in from the start: automated tests run on every commit, code reviews catch design issues, and feature flags allow gradual rollouts. The QA role has evolved from "person who clicks through the app" to "engineer who builds testing infrastructure and defines quality standards."
Examples
A startup decides whether to hire a QA engineer.
The team of eight developers has no dedicated QA. Bugs reach production weekly. Customer complaints are increasing. They hire a QA engineer who sets up Playwright for critical flows, creates a regression test suite, and establishes a bug triage process. Within three months, production bugs drop by 60%. The QA engineer becomes one of the most valuable members of the team.
A QA team shifts left in the development process.
Instead of testing features after they are built, the QA lead joins sprint planning and writes test criteria before development starts. Developers know exactly what QA will check. They write their own tests to cover those cases. By the time the feature reaches QA, 90% of the bugs have already been caught. QA reviews take hours instead of days.
A company balances manual and automated QA.
The team automates regression tests (2,000 automated checks) but keeps manual QA for exploratory testing and new features. A human tester tries unexpected inputs, resizes the browser to odd dimensions, switches languages mid-flow. Automation catches the known bugs. Humans catch the creative ones. The combination results in higher quality than either approach alone.
In practice
Read more on the blog
Frequently asked questions
Is QA the same as testing?
Testing is a part of QA, but QA is broader. Testing means checking whether software works. QA means building processes and systems that prevent bugs from happening in the first place. A QA engineer might set up CI/CD pipelines, define coding standards, create test frameworks, and train developers on testing practices. Testing finds bugs. QA prevents them.
Do you still need QA engineers if developers write tests?
Yes, but the role changes. Developers are good at testing the happy path and the cases they thought of while coding. QA engineers think like adversaries: what happens if the user does something unexpected? They bring a different perspective, design test strategies across features, and build testing infrastructure that developers use. The best teams have developers writing unit and integration tests and QA engineers building E2E frameworks and doing exploratory testing.
Related terms
An automated test that simulates a real user interacting with the full application from start to finish.
An automated test that verifies a small, isolated piece of code behaves correctly.
An automated test that verifies multiple components or services work correctly together.
A metric measuring what percentage of source code is executed by automated tests.
A pre-production environment that mirrors production for testing before release.

Want the complete playbook?
Picks and Shovels is the definitive guide to developer marketing. Amazon #1 bestseller with practical strategies from 30 years of marketing to developers.