Software Quality Assurance

SOFTWARE QUALITY ASSURANCE (SQA) is a set of activities for ensuring quality in software engineering processes (that ultimately result in the quality of software products).

SQA Activities

It includes the following activities:

  • Process definition and implementation
  • Auditing
  • Training

SQA Processes

Processes include:

  • Software Development Methodology
  • Project Management
  • Configuration Management
  • Requirements Development/Management
  • Estimation
  • Software Design
  • Testing
  • etc
Once the processes have been defined and implemented, Quality Assurance has the following responsibilities:
  • identifying weaknesses in the processes
  • correcting those weaknesses to continually improve the processes

The quality management system under which the software system is created is normally based on one or more of the following models/standards:

  • CMMI
  • Six Sigma
  • ISO 9000

Note: There are many other models/standards for quality management but the ones mentioned above are the most popular.

Software Quality Assurance encompasses the entire software development lifecycle and the goal is to ensure that the development and/or maintenance processes are continuously improved to produce products that meet specifications/requirements.

The process of Software Quality Control (SQC) is also governed by Software Quality Assurance (SQA). Read Differences between Software Quality Assurance and Software Quality Control

SQA is generally shortened to just QA.