Software Quality Assurance

Software Quality Assurance (SQA) is specific to the computer software industry, but has the same components as any other quality process: Quality Assurance and Quality Control.

Quality Assurance (QA) is the set of activities that is designed to prevent problems through the creation and implementation of  policies and procedures designed to create a quality product (i.e. standards,  inspections, etc.).

Quality Control (QC) is defined as the processes and methods used to compare product  quality to applicable standards and the action taken when a nonconformance is  detected (i.e. testing and bug fixes).

In addition to these two major components, the Software  Quality Assurance process has some very specific attributes associated with  creating quality software:

  • correctness: the extent to which a program satisfies its specifications and fulfills the user’s  mission objectives
  • reliability: the extent to which a program can be expected to perform its intended function with required precision
  • efficiency: the amount of computing resources and code required by a program to perform a  function
  • integrity: the extent to which access to software or data by unauthorized persons can be  controlled
  • usability: the effort required learning, operating, preparing input, and interpreting output  of a program
  • maintainability: the effort required locating and fixing an error in an operational  program
  • testability: the effort required testing a program to ensure that it performs its intended  functionality
  • flexibility: the effort required to modify an operational program
  • reusability: the extent to which a program can be used in other applications – related to the  packaging and scope of the functions that programs perform
  •  interoperability: the effort required to couple one system with another

click a link below for more information