A set of activities to ensure whether a product or service (that is being developed) meets specified requirements. Software QA involves the entire software development process – monitoring and improving the process, making sure that any agreed-upon processes, standards and procedures are followed, and ensuring that problems are found and dealt with.
The history of quality assurance starts in World War II, when ammunition had to be tested for performance. Nowadays, the end purpose of QA is to correct potential errors before the product is released. There are several regulations that clarify QA. For example, in the case of software quality assurance, these regulations are ISO 9000 and CMMI.