Quality Assurance (QA) is the process of implementation of a desired level of quality in a service or product, for IT projects it’s preventing bugs and errors in software products during development and within exploitation by the customer. According to ISO 9000, QA is part of a quality management system focused on the fulfilment of quality requirements.
Quality assurance works in close collaboration with software testing, but QA is process-oriented. Testing is product-oriented and often refers to the quality control (QC).
The key QA document is a quality assurance plan. This is created by the project team and contains documented activities ensuring customer satisfaction.
Principles of Quality Assurance
Product quality depends on a number of internal and external factors.
External factors include:
- quality requirements (consumers, progress, competitors);
- providers of capital, labour, materials, energy, services;
- quality legislation and government work.
Internal factors to ensure product quality are:
- modern material base (infrastructure, equipment, materials, finance);
- use of advanced technologies;
- effective management (rational organisation of work and skillful management of the enterprise in general and of quality in particular);
- qualified staff interested in good work.
Differences between the Responsibilities of QA Teams and Testers
A quality assurance team is responsible for the formation of the whole process of quality control for the company. In an IT agency, one of the main responsibilities of the QA department is to minimise the risk of errors for each IT project, including the planning of the control points for the testing department.
Based on the QA guidelines, testers perform monitoring and control of the test results. As part of their role, testers can check samples of project documentation, software configuration, UI design, code and overall project operation, providing the quality experts with the test results for final assessment and analysis.
The QA team performs the following functions:
- Implementation of organisational policies regarding quality, standards and processes;
- Assistance with quality assurance training and project QA plan preparation;
- Verification of project process compliance with quality plans;
- Conducting regular reviews of project products and processes, as well as presenting regular evaluations to senior management;
- Drawing attention to any deviations from guidelines or standards.
The team also maintains control of:
- Performance of independent reviews;
- Availability of project change management procedures;
- Availability of project configuration management procedures;
- The existence of a retrospective of the planning and implementation of relevant processes
- Providing confidence in quality by developing a life cycle system;
- Conducting continuous improvements in the quality control process and translating recommendations based on lessons learned previously
The execution of quality assurance provides customers with confirmation that the development process has been implemented in compliance with international standards and performed under the regular control of experts.