🛡️ Quality Assurance (QA) vs QC
Quality Assurance (QA) vs QC: Think of the difference between QA and QC like a pharmaceutical factory: QA is the ISO certification process auditing the production line itself — l
Think of the difference between QA and QC like a pharmaceutical factory: QA is the ISO certification process auditing the production line itself — labeling material racks, clean-room procedures, employee training. QC is the final checkpoint at the end of the line, measuring every capsule's weight and removing defective ones. Writing JUnit tests in Java is a QC activity. But why do you also need QA practices like pull request templates, code review standards, and test planning processes? Because JUnit can never catch a bug produced by a poorly designed architecture or an ambiguous requirement — that bug is the product of a decision made too early to be tested. The most critical QA truth: without QC, bugs reach production; without QA, bugs keep being regenerated and every release cycle forces the team to fight the same fire.
What does Quality Assurance mean?
Quality Assurance (QA) is a process-oriented discipline focused on improving the software development process and setting quality standards. Its primary goal is to prevent defects from occurring in the first place (Defect Prevention).
Differences Between QA, QC, and Testing
The Role of QA in the SDLC
In modern software teams, QA engineers are no longer downstream operators waiting for coding to finish. In Agile/Scrum environments, QA engineers participate from day one. Catching a requirement error during design saves dozens of future coding bugs from being created.
Micro Lab: Complete the test cycle
Replace the TODO line with the critical line from the expected solution. This is not a real runtime; the goal is to reinforce writing the correct structure in a controlled way.
Step by Step: Complete the test cycle
Understand requirement
Read the requirement and make expected behaviour concrete (When user does X, Y must happen)
Write the test scenario: input, steps, expected result — assertion must come first
Execute the test and compare actual output with expected output
If there is a difference, report a defect: which step, what was expected, what was received