QA testing

QA testing is the practice of checking software against its requirements before release, to find defects while they are still cheap to fix. Strictly, quality assurance covers the whole process that prevents defects, and testing is the part that detects them.

The longer version

The phrase is used loosely to mean testing in general, but the two halves point in different directions. Quality assurance is process-oriented and preventive: code review, definitions of done, coding standards, the practices that stop defects being introduced. Quality control, which is where testing sits, is product-oriented and detective: it examines what was built and reports where it deviates.

The work spans several kinds of checking. Functional testing asks whether features behave as specified. Non-functional testing covers performance, accessibility, security and compatibility. Exploratory testing is unscripted investigation by someone who knows the system, and it finds the cases nobody thought to write down, which is precisely why it cannot be replaced by a suite.

The economic argument for testing early is the one that has held longest: a defect found while the code is being written is corrected in minutes, the same defect found after release costs a support conversation, a hotfix, a deployment and whatever it did to users in between. Shifting detection earlier is the whole reason automated tests run in the pipeline rather than in a phase before release.

In most teams today QA is a discipline rather than a department. Engineers write automated tests, a specialist designs the strategy and does the exploratory work no suite covers, and the release decision rests on evidence from both.

Common questions

What is the difference between QA and testing?

Quality assurance is the process work that prevents defects: standards, reviews, definitions of done. Testing is the activity that detects defects in what was built. Testing is one part of QA, which is why using the terms interchangeably is common but imprecise.

What does a QA engineer do?

Designs the testing strategy, writes and maintains automated tests, performs exploratory testing that scripted suites cannot cover, and reports defects with enough evidence for them to be triaged and fixed. In most teams this is done alongside engineers who also write tests, not instead of them.

Can QA testing be fully automated?

No. Automation is excellent at re-checking known behaviour, which is why regression suites are automated. It cannot notice that something is confusing, ugly, or technically correct but wrong for the user, and it only checks the cases somebody already thought of. Exploratory testing exists for the rest.

Bug reports that arrive ready to triage.

Collect replay, console, network and browser context with the Free plan.

<script src="…/widget.js" data-key="pb_pub_…">