Software Quality Assurance (SQA) is a set of activities for ensuring quality in software engineering processes (that ultimately result in quality in software products).
It includes the following activities:
- Process definition and implementation
Processes could be:
- Software Development Methodology
- Project Management
- Configuration Management
- Requirements Development/Management
- Software Design
- identify weaknesses in the processes
- correct those weaknesses to continually improve the process
The quality management system under which the software system is created is normally based on one or more of the following models/standards:
- 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 life cycle 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).
SQA is generally shortened to just QA.