Over-the-shoulder view of a person using a laptop displaying a quality assurance dashboard with "STANDARD" text and various status icons.

Quality Assurance (QA): A Complete Guide

Date Posted:

Category:

Technology

Author:

Sowmya

Over-the-shoulder view of a person using a laptop displaying a quality assurance dashboard with "STANDARD" text and various status icons.

Quality Assurance (QA): A Complete Guide

Date Posted:

Category:

Technology

Author:

Sowmya

Over-the-shoulder view of a person using a laptop displaying a quality assurance dashboard with "STANDARD" text and various status icons.

Quality Assurance (QA): A Complete Guide

Date Posted:

Category:

Technology

Author:

Sowmya

Listen Instead of Reading

Listen Instead of Reading

06:21 Min
00:00-06:21

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

  1. Preventative QA – It prevents any errors from happening in the first place.

  2. Detective QA – It identifies if any error has occurred before it reaches to the customers.

  3. Corrective QA – It rectifies problems that has already occurred. Analyses the root cause for that issue and resolve it.

  4. 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 - Tests individual components or functions. Done by developers.

  • Integration Testing - Combining two or more components and testing them together to ensure they work together correctly.

  • System Testing - Tests the entire application as a whole.

  • Smoke Testing - Basic testing to check if build is stable.

  • Sanity Testing - Done after bug fix or small change to ensure the related functionalities are working correctly.

  • Regression Testing - Ensures new changes didn’t break existing features.

  • User Acceptance Testing - Done by client or end user to confirms business needs are met.

Non-Functional Testing

Non-Functional testing checks HOW the system performs. It validates the speed, performance and scalability.

Types

  • Performance Testing - Checks speed, responsiveness, stability of an application.

  • Load Testing - Checks system behavior under expected user load.

  • Stress Testing - Checks behavior under extreme or unexpected load.

  • Security Testing - Checks application for data protection & vulnerabilities.

  • Usability Testing - Checks user-friendliness of an application.

  • Reliability Testing - Checks whether the application works consistently over time.

  • Scalability Testing - Checks whether application can scale up or down when load changes.

  • Compatibility Testing - Checks app on different browsers, devices and OS.

  • Recovery Testing - Checks how system recovers after a crash, power or network failure.

  • Volume Testing - Checks system behavior with large amount of data.

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:

Category:

Technology

Technology

For more detail or questions

For more detail or questions

Listen Instead of Reading
06:21 Min
00:00-06:21

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

  1. Preventative QA – It prevents any errors from happening in the first place.

  2. Detective QA – It identifies if any error has occurred before it reaches to the customers.

  3. Corrective QA – It rectifies problems that has already occurred. Analyses the root cause for that issue and resolve it.

  4. 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 - Tests individual components or functions. Done by developers.

  • Integration Testing - Combining two or more components and testing them together to ensure they work together correctly.

  • System Testing - Tests the entire application as a whole.

  • Smoke Testing - Basic testing to check if build is stable.

  • Sanity Testing - Done after bug fix or small change to ensure the related functionalities are working correctly.

  • Regression Testing - Ensures new changes didn’t break existing features.

  • User Acceptance Testing - Done by client or end user to confirms business needs are met.

Non-Functional Testing

Non-Functional testing checks HOW the system performs. It validates the speed, performance and scalability.

Types

  • Performance Testing - Checks speed, responsiveness, stability of an application.

  • Load Testing - Checks system behavior under expected user load.

  • Stress Testing - Checks behavior under extreme or unexpected load.

  • Security Testing - Checks application for data protection & vulnerabilities.

  • Usability Testing - Checks user-friendliness of an application.

  • Reliability Testing - Checks whether the application works consistently over time.

  • Scalability Testing - Checks whether application can scale up or down when load changes.

  • Compatibility Testing - Checks app on different browsers, devices and OS.

  • Recovery Testing - Checks how system recovers after a crash, power or network failure.

  • Volume Testing - Checks system behavior with large amount of data.

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.

Category:

Technology

For more detail or questions

For more detail or questions