Software Quality Assurance Testing

Hello all, Thamsil Ahmed here. In this blog, I would like to talk about QA testing in software, why is it important and its types.

What is Quality Assurance testing?

QA helps to make sure that the product at the end of its development cycle, works as intended and up to expectations. This development cycle in software is referred to as SDLC (Software development Life Cycle).

In a detailed view, Quality Assurance (QA) is just not about the testing performed at the end to ensure quality. QA is about being proactive i.e., having control throughout the phases of SDLC to prevent errors, rather than identifying defects at the end of the SDLC. Yes, QA is integrated into every phase of the SDLC. So, what is testing performed at the end called? Testing comes under Quality Control (QC), which comes under QA. QC is all about identifying defects, which makes it a reactive process. The activities involved in QC make sure the final product meets the standards. As mentioned above, testing is a part of QC, and the activities include performing an evaluation of the product to identify bugs.

So, when someone says QA testing, they mean the blend of these above processes.


Now let’s see the different types of Quality Assurance testing.

  1. Unit testing

As the word suggests, it is about testing the software in small units, rather than testing it as a whole. This type of testing is performed from the beginning stages of SDLC, to ensure that each unit performs its function as intended.

  1. Component testing

This type of testing is performed after unit testing. Multiple similar units form a component, and testing is performed on these components before integrating them with other components.

  1. Integration testing

Here, the different components are integrated and tested to make sure that they function as expected when together.

  1. End-to-End testing

This type of testing involves testing the software in a live environment, where actual user behavior and circumstances are replicated. It helps to determine how the software will behave in a real-world scenario.

  1. Performance testing

As the word suggests, the performance of the product is tested. It helps in determining how the software functions in terms of being stable, reliable, and available, under a substantial workload.

  1. Regression Testing

Regression testing is performed after certain modifications are made to the software. It is to ensure that the software works as expected after the modification.

  1. Sanity testing

Sanity testing is performed after regression testing, to make sure that modified software is fit to go through another testing process. Further testing on the software will not be performed until sanity test results are positive.

  1. System testing

Yes, it involves testing the software as a complete, integrated system. Whole functionality is tested and is made sure that every input gives the expected output, and that the software meets the specified requirements.

  1. Smoke testing

Smoke testing is performed to ensure the software is stable enough to go through another phase of testing, specifically when a new build is deployed. Crucial features of the software are tested to make sure they work as expected.

  1. User acceptance testing

The last test performed, User Acceptance Testing (UAT) involves testing the software in the real world, by real people, to ensure that the software meets its specifications and can handle real-world tasks, in different scenarios and user locations. UAT is performed and then the software is released to the market.


Thank you for reading and happy testing!

This article is the sole responsibility of the author. By submitting their work to our blog, authors affirm that the content is original and does not violate any copyrights or intellectual property rights of third parties.

Join our community today!

Become a tester