
Quality Assurance (QA): A Complete Guide
Date Posted:
Category:
Technology
Author:
Sowmya

Quality Assurance (QA): A Complete Guide
Date Posted:
Category:
Technology
Author:
Sowmya

Quality Assurance (QA): A Complete Guide
Date Posted:
Category:
Technology
Author:
Sowmya
Introduction
Quality Assurance (QA) is the process of making sure a product/service meets the required quality standards and works as expected before it reaches the customers
It ensures the application works correctly without any issues, the requirements are met and they identify the errors early. QA is not about finding errors but preventing it.
QA is done throughout the SDLC phase.
Types of QA
Preventative QA – It prevents any errors from happening in the first place
Detective QA – It identifies if any error has occurred before it reaches to the customers.
Corrective QA – It rectifies problems that has already occurred. Analyses the root cause for that issue and resolve it.
Assessment QA – It evaluates and verify the overall QA processes and ensures that it have continuous improvement, follows standards and requirements.
QA vs QC
Quality Assurance (QA) | Quality Control (QC) |
It prevents the software defects | It identifies the errors in the finished products (after deployment) |
It is a proactive method (Prevent errors) | It is reactive method (Find errors) |
It’s a preventative technique | It’s a corrective technique |
Process oriented | Product oriented |
Process vs Product oriented
Quality Assurance (QA) - Process oriented
QA concerned with processes, standards and methodologies.
Example:
SDLC followed correctly
Test strategy prepared
Review conducted?
Product documentation maintained?
It does not test the product. It improves the process so defects don’t occur.
Quality Control (QC) - Product oriented
QC concerned with actual Software / Product. It identifies the defects in the finished work.
Example:
Does the login work?
Is there is any bug?
Types of Testing
1. Manual Testing
2. Automation Testing
Manual Testing
Here testers write test cases manually without using any automation tools. The testers play a role of end user and checks whether the application works as expected.
Automation Testing
It uses tools and scripts to execute test cases automatically.
Testers write test scripts using tools.
Scripts executed automatically
Results generated by the tool
Tools - Selenium, Jest, Junit, Pytest, etc...
Functional vs Non – Functional Testing
Functional Testing
Functional testing checks WHAT the system does.
It verifies whether the application works according to the requirements or not.
Types
Unit Testing
Integration Testing
System Testing
Smoke Testing
Sanity Testing
Regression Testing
User Acceptance Testing
Non-Functional Testing
Non-Functional testing checks HOW the system performs. It validates the speed, performance and scalability.
Types
Performance Testing
Load Testing
Stress Testing
Security Testing
Usability Testing
Reliability Testing
Scalability Testing
Compatibility Testing
Severity vs Priority
Severity
Means - How severe the defect is? Impact of the defect on the application.
Decided by: Tester
Common Severity Levels:
Critical – App crash, data loss
High – Major feature not working
Medium – Feature works partially
Low – UI issues (alignment, spelling)
Example: Login not working -> High / Critical
Priority
How fast it should be fixed?
Decided by: Product owner / Manager
Common Priority Levels:
P1 (High) – Fix immediately
P2 (Medium) – Fix in next build
P3 (Low) – Can wait
Example:
Login issue before release -> P1
Spelling mistake -> P3
Verification vs Validation
Verification
Verification is the process of checking documents, design, and code without running the application.
It ensures that the product is built according to given requirement and specifications. Done before testing and Prevent errors.
Validation
Validation is the process of testing the actual application by executing it to ensure it meets user needs.
Done after development. It detects defects.
Defect Lifecycle
It is a journey of the defect from the time it is found by a tester until it is fixed, verified, and closed.
New → Assigned → Open → Fixed → Retest → Verify → Closed
Alternate Defect States
Rejected / Duplicate / Deferred / Not Reproducible / Reopened
Explanation
New – Tester finds defect during testing -> Logs it in defect tracking tool -> Status set to New.
Assigned – Defect reviewed by Test Lead / Project Manager -> Assigned to developers -> Status set to Assigned.
Open – Developer starts working on the defect -> Status is changed to Open.
Fixed – Developer fixes the defect -> Status changed to Fixed.
Retest – Tester retests the defect in the new build -> Status set to Retest.
Verified – Tester confirms defect is fixed -> Status changed to Verified.
Closed – Tester closes the defect -> Status set to Closed.
Rejected – Defect is invalid.
Duplicate – Same defect already logged earlier. So, new defect is marked as Duplicate.
Deferred – Defect is valid but postponed and will be fixed in future release.
Not Reproducible – Developer cannot reproduce the issue and needed more steps and details from the tester.
Reopened – After retest, if the defect still exists or new issue caused status set to Reopened.
Conclusion
QA plays a major role in developing high-quality software by makes sure that all requirements are met, processes are followed, preventing errors and makes sure there is continuous improvement. When teams understand testing techniques and defect management concepts, they can reduce production issues and deliver better results.
Stay tuned to our blog to see more posts about
Sailpoint products implementation and its related updates.
Stay tuned to our blog to see more posts about
Sailpoint products implementation and its related updates.
Category:
Technology
Stay tuned to our blog to see more posts about
Sailpoint products implementation and its related updates.
Stay tuned to our blog to see more posts about
Sailpoint products implementation and its related updates.
Category:
Category:
Technology
Technology
Get your
Tailored Quote for your
Organisation
Get your
Tailored Quote for your
Organisation
Introduction
Quality Assurance (QA) is the process of making sure a product/service meets the required quality standards and works as expected before it reaches the customers
It ensures the application works correctly without any issues, the requirements are met and they identify the errors early. QA is not about finding errors but preventing it.
QA is done throughout the SDLC phase.
Types of QA
Preventative QA – It prevents any errors from happening in the first place
Detective QA – It identifies if any error has occurred before it reaches to the customers.
Corrective QA – It rectifies problems that has already occurred. Analyses the root cause for that issue and resolve it.
Assessment QA – It evaluates and verify the overall QA processes and ensures that it have continuous improvement, follows standards and requirements.
QA vs QC
Quality Assurance (QA) | Quality Control (QC) |
It prevents the software defects | It identifies the errors in the finished products (after deployment) |
It is a proactive method (Prevent errors) | It is reactive method (Find errors) |
It’s a preventative technique | It’s a corrective technique |
Process oriented | Product oriented |
Process vs Product oriented
Quality Assurance (QA) - Process oriented
QA concerned with processes, standards and methodologies.
Example:
SDLC followed correctly
Test strategy prepared
Review conducted?
Product documentation maintained?
It does not test the product. It improves the process so defects don’t occur.
Quality Control (QC) - Product oriented
QC concerned with actual Software / Product. It identifies the defects in the finished work.
Example:
Does the login work?
Is there is any bug?
Types of Testing
1. Manual Testing
2. Automation Testing
Manual Testing
Here testers write test cases manually without using any automation tools. The testers play a role of end user and checks whether the application works as expected.
Automation Testing
It uses tools and scripts to execute test cases automatically.
Testers write test scripts using tools.
Scripts executed automatically
Results generated by the tool
Tools - Selenium, Jest, Junit, Pytest, etc...
Functional vs Non – Functional Testing
Functional Testing
Functional testing checks WHAT the system does.
It verifies whether the application works according to the requirements or not.
Types
Unit Testing
Integration Testing
System Testing
Smoke Testing
Sanity Testing
Regression Testing
User Acceptance Testing
Non-Functional Testing
Non-Functional testing checks HOW the system performs. It validates the speed, performance and scalability.
Types
Performance Testing
Load Testing
Stress Testing
Security Testing
Usability Testing
Reliability Testing
Scalability Testing
Compatibility Testing
Severity vs Priority
Severity
Means - How severe the defect is? Impact of the defect on the application.
Decided by: Tester
Common Severity Levels:
Critical – App crash, data loss
High – Major feature not working
Medium – Feature works partially
Low – UI issues (alignment, spelling)
Example: Login not working -> High / Critical
Priority
How fast it should be fixed?
Decided by: Product owner / Manager
Common Priority Levels:
P1 (High) – Fix immediately
P2 (Medium) – Fix in next build
P3 (Low) – Can wait
Example:
Login issue before release -> P1
Spelling mistake -> P3
Verification vs Validation
Verification
Verification is the process of checking documents, design, and code without running the application.
It ensures that the product is built according to given requirement and specifications. Done before testing and Prevent errors.
Validation
Validation is the process of testing the actual application by executing it to ensure it meets user needs.
Done after development. It detects defects.
Defect Lifecycle
It is a journey of the defect from the time it is found by a tester until it is fixed, verified, and closed.
New → Assigned → Open → Fixed → Retest → Verify → Closed
Alternate Defect States
Rejected / Duplicate / Deferred / Not Reproducible / Reopened
Explanation
New – Tester finds defect during testing -> Logs it in defect tracking tool -> Status set to New.
Assigned – Defect reviewed by Test Lead / Project Manager -> Assigned to developers -> Status set to Assigned.
Open – Developer starts working on the defect -> Status is changed to Open.
Fixed – Developer fixes the defect -> Status changed to Fixed.
Retest – Tester retests the defect in the new build -> Status set to Retest.
Verified – Tester confirms defect is fixed -> Status changed to Verified.
Closed – Tester closes the defect -> Status set to Closed.
Rejected – Defect is invalid.
Duplicate – Same defect already logged earlier. So, new defect is marked as Duplicate.
Deferred – Defect is valid but postponed and will be fixed in future release.
Not Reproducible – Developer cannot reproduce the issue and needed more steps and details from the tester.
Reopened – After retest, if the defect still exists or new issue caused status set to Reopened.
Conclusion
QA plays a major role in developing high-quality software by makes sure that all requirements are met, processes are followed, preventing errors and makes sure there is continuous improvement. When teams understand testing techniques and defect management concepts, they can reduce production issues and deliver better results.
