Quality assurance, or QA for short, is the systematic monitoring and evaluation of the various aspects of a project, service or facility to maximize the probability that minimum standards of quality are being attained by the production process. QA cannot absolutely guarantee the production of quality products.
Software Quality Assurance (SQA or QA) includes standards and procedures that administrators may use to review and audit software products and activities to verify that the software process meets standards. According to ISO/IEC 15504 v.2.5 (SPICE), it is a supporting process that provides the independent assurance that all work products, activities and processes comply with the predefined plans and ISO 15504.2
Software Quality
There are many different definitions of software quality in the industry. For some it is the "capability of a software product to conform to requirements." (ISO/IEC 9001) while for others it can be synonymous with "customer value" or even defect level.6
QA vs QC Misconception
Quality Assurance (QA) and Quality Control (QC) are two terms that are often used interchangeably. Although similar, there are distinct differences between the two concepts3:
- Quality Assurance is process-oriented and focuses on defect prevention
- Quality Control is product-oriented and focuses on defect identification.4
In the Software Industry:
- Software Quality Assurance prevents software defects by ensuring the quality of the processes used to create software (e.g. software development process, software testing process, requirements management process, etc). This is done by verifying them against standards (e.g CMMI, SPICE, internal process guidelines, etc)2. It is based on the premise that a quality process will produce a quality product7.
- Software Quality Control finds software defects by validating the products of the software development process (e.g. design documents, code, test cases) against established criteria (e.g. "does the software meet the requirements?", "do the design documents address all the use cases?", etc)8.
QA and QC are a part of Quality Management (along with Quality Improvement and Quality Planning)5.
See also:
- Software Quality Assurance and Testing (stackexchange)
- Software Quality Assurance (wikipedia)
- Quality Assurance vs Quality Control (american society of quality)
- QA vs QC (wikipedia)
- Quality Management (wikipedia)
- Software Quality (wikipedia)
- Information Technologies, Methods, and Techniques of Supply Chain Management (Wang, John) (2012) -Software Quality Control (wikipedia)