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