SQA is the process of evaluating the quality of a product and enforcing adherence to software product standards and procedures. It is an umbrella activity that ensures conformance to standards and procedures throughout the SDLC of a software product. These include :
- Formulating a quality management plan : The quality management plan identifies the quality aspects of the software product to developed. It helps in planning checkpoints for work products and development process. It also tracks changes made to the development process based on the development of the checks.
- Applying software engineering techniques : It helps the software designer to achieve high quality specification. The designer gathers information using techniques such as interviews. Using the information gathered, the designer prepares project estimation with the help of techniques such as SLOC, FP estimation.
- Conducting formal technical reviews : Formal technical review is conducted to asses the quality and design of the prototype. It is a meeting with the technical staff to discuss the quality requirements of a software product and its design quality. It helps in detecting errors at an early phase of development.
- Applying a multi-tiered testing strategy : Software testing is a critical task of SQA activity, which aims at error detection. Unit testing is the first level of testing. The subsequent levels of testing are integration and system level testing. There are various testing strategies followed by an organization.
- Enforcing process adherence : It emphasizes the need for process adherence during product development. The development process should also adhere to procedures defined for product development. It is a combination of product evaluation and process monitoring.
- Controlling change : It combines human procedures and automated tools to provide a mechanism for change control. It ensures software quality by formalizing request for change evaluating the nature of change and controlling the impact of change.
- Measuring impact of change : Changes need to be measured and monitored. Changes are measured using software quality metrics. Software quality metrics helps in estimating the cost and resource requirements. It is essential to measure quality and then compares it with the established standards.
- Performing SQA audits : They scrutinize the software development process by comparing it with the established processes. It ensures that the proper control is maintained over the documents required during SDLC.
- Keeping records and reporting : Keeping records and reporting ensure the collection and circulation of information relevant to SQA. The result of reviews, audits, testing etc. are reported and complied for future reference.