Software Testing and Quality Assurance


Many people and organizations usually get confused whether software testing and software quality assurance are same or different concepts.

In reality, they are two different concepts.

Software Quality Assurance [QA]:

Software quality assurance is a set of activities designed and planned in a systematic way to evaluate the quality of the process which is used to produce a quality product.

Why Software Quality Assurance?

This is done to ensure that the development or maintenance process is adequate to ensure a system will meet its objectives.Also making sure that procedures and standards are followed properly.

Goal:

To provide a pledge that the product is meeting all the quality expectations of the customer.

When a product is developed Quality Assurance deals with how tester can prevent errors from occurring. A major responsibility of Software QA Engineer is to build and implement methods and also the standards, to improvise the development methods. There are certain set of activities associated with QA like measuring the quality of the process which can be used to the product development, a process improvement and flaw prevention. It also consists of auditing and reporting procedures.


Software Testing:

Software Testing is a planned process of executing a system in order to find defects and i.e., used to identify the completeness, correctness, security and quality of a software. It also includes the system or application’s operation under the controlled conditions and evaluating the results.

Why Software Testing?

This is done in order to provide a demonstration that the software is doing what it is intended to do as well as the software is not doing what it is not intended to do.

Goal: 

To find or locate the defects and making sure that they get fixed and also to ensure that the functional requirements and metrics are met.

These are some of the major differences between the two concepts and sometimes there could be an overlap of responsibilities between software tester and quality assurance engineer. Based on the need, sometimes software tester might have to do certain quality assurance related works and some QA-ers perform testing of a product.