Quality Assurance

Software quality assurance is (also known as QA) a sequence of tasks to prevent defects and ensure that the techniques, methods, approaches, and processes are designed for a specific application must be implemented correctly. This is an ongoing process within the development of a software system.

The development of units of an application is checked under the quality assurance specifications in the sequence of their development.

Quality assurance test ensures the development of high-quality software because of its main focus on the high-quality processes, good quality management system and periodic conformance audit during the development of software. It is a managerial tool includes planned and systematic activities and documentation to prevent problems related to quality.

The responsibility of quality assurance is not of any specific team, but it is a responsibility of each member of the development team.

  1. Quality assurance prevents defects.
  2. Quality assurance is process oriented.
  3. Quality assurance is proactive in a process and preventive in nature.
  4. Quality assurance is a managerial tool.
  5. Each developer is responsible for quality assurance.

Quality Control

Quality Control also known as QC is a sequence of tasks to ensure the quality of software by identifying defects and correction of defects in the developed software. It is a reactive process, and the main purpose of this process is to correct all types of defects before releasing the software. The process is done by eliminating sources of problems (which cause to low the quality) through the corrective tools so that software can meet customer's requirements and high quality.

The responsibility of quality control is of a specific team which is known as a testing team that tests the defects of software by validation and corrective tools.

  1. Quality Control provides identification of defects.
  2. Quality Control is product oriented.
  3. Quality Control is a corrective tool.
  4. Testing team is responsible for Quality control.
  5. Quality Control is a reactive process.

Difference between Quality Assurance and Quality Control

Points

Quality Assurance

Quality Control

Definition

QA is a group of activities which ensures that the quality of processes which is used during the development of the software always be maintained.

QC is a group of activities to detect the defects in the developed software.

Focus

The focus of QA is to prevent defects in the developing software by paying attention to processes.

The focus of QC is to identify defects in the developed software by paying attention to testing processes.

How

Establishment of the high-quality management system and periodic audits for conformance of the operations of the developing software.

Detecting and eliminating the quality problem elements by using testing techniques and tools in the developed software.

What

QA ensures prevention of quality problem elements by using systematic activities including documentation.

QC ensures identification and elimination of defects by using processes and techniques to achieve and maintain high quality of the software.

Orientation

QA is process oriented.

QC is product oriented.

Type of process

QA is a proactive process. It concerns to improve development so; defects do not arise in the testing period.

QC is a reactive process because it concerns to identify defects after the development of product and before its release.

Responsibility

Each and every member of the development team is responsible for QA

Only the specific testing team is responsible for QC

Example

Verification is the example of QA

Validation is the example of QC