Software Quality Assurance

SOFTWARE QUALITY ASSURANCE (SQA) is a set of activities for ensuring quality in software engineering processes that ultimately results, or at least gives confidence, in the quality of software products.

Definition by ISTQB

  • quality assurance: Part of quality management focused on providing confidence that quality requirements will be fulfilled.

SQA Activities

SQA includes the following activities:

  • Process definition 
  • Process training
  • Process implementation
  • Process audit

SQA Processes

SQA includes the following processes:

  • Project Management
  • Project Estimation
  • Configuration Management
  • Requirements Management
  • Software Design
  • Software Development [Refer to SDLC]
  • Software Testing [Refer to STLC]
  • Software Deployment
  • Software Maintenance
  • etc.
Software Quality Assurance encompasses the entire software development life cycle and the goal is to ensure that the development and maintenance processes are continuously improved to produce products that meet specifications. Note that the scope of Quality is NOT limited to just Software Testing. For example, how well the requirements are stated and managed matters a lot!
 
Once the processes have been defined and implemented, Quality Assurance has responsibility of identifying weaknesses in the processes and correcting those weaknesses to continually improve the processes.
 
Capability Maturity Model Integration (CMMI) and ISO 9000 are some quality management systems that are widely used.
 
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.
 
Did you skip to this section because you were too lazy to read or do you want a recap? If yes, watch and listen to our video below on Software Quality Assurance: