Understanding the difference between Quality Assurance (QA), Quality Control (QC), and Testing is one of the most important foundations for a QA professional.
Although people sometimes use them interchangeably, they are not the same.
Definition:
QA is about processes. It focuses on preventing defects before they occur by improving the way software is developed.
Example in real life:
Think of a restaurant kitchen:
- QA = Making sure the chefs follow hygiene rules, wear gloves, and keep the kitchen clean.
- This doesn’t test the food directly — it ensures the process produces safe food.
Example in software:
- Setting coding standards.
- Reviewing requirement documents.
- Following Agile best practices to avoid miscommunication.
Keyword: Prevention
Definition:
QC is about the product itself. It focuses on detecting defects after development but before the product reaches the customer.
Example in real life:
In the restaurant:
- QC = The chef tastes the dish before serving it to ensure it’s cooked properly.
Example in software:
- Checking if the build meets requirements.
- Inspecting a web application before deployment.
Keyword: Detection (before release)
Definition:
Testing is the actual process of executing the software to find defects. It’s one of the activities under QC.
Example in real life:
In the restaurant:
- Testing = A customer tries the food and says, “This soup is too salty.”
Example in software:
- Running test cases on the login page.
- Entering wrong password and checking if an error message appears.
Keyword: Execution
| Aspect | QA (Quality Assurance) | QC (Quality Control) | Testing |
|---|---|---|---|
| Focus | Process | Product | Execution |
| Goal | Prevent defects | Detect defects | Find defects |
| When | During development | After development, before release | During testing phase |
| Who | Everyone (Dev, QA, PM, Business) | QA team | QA/Testers |
| Example | Code review process | Inspecting final build | Running login test cases |
Imagine a car factory :
- QA = Ensuring the assembly line follows correct processes (safety checks, machine calibration).
- QC = Inspecting a finished car for scratches or missing parts before delivery.
- Testing = Driving the car to see if the brakes, steering, and lights work properly.
- QA ensures processes are right → prevention.
- QC ensures product is right → detection.
- Testing finds defects in the product → execution.
Together, QA + QC + Testing work as a team to deliver high-quality software.