The term QA (Quality Assurance) can mean many things: every company or team puts its own meaning into it. However, the core is always the same - QA is the process of controlling and improving product quality. Anything that helps make a project better, one way or another, falls under QA.
Quality assurance can (and should) involve not only in-house testers, but all team members working on the product: developers, managers, product owners, DevOps.
Caring about project quality should not rest solely on the tester’s shoulders or be only their responsibility. All team members should be involved, for example:
- developers - think through possible dependencies of new features and understand which parts of the system may be affected;
- managers - improve processes and make them more efficient (aligning collaboration between departments, reducing useless calls, etc.);
- DevOps - ensure infrastructure stability, timely updates, and support;
- product owners - formulate clearer and better worked-out tasks.
Unfortunately, in practice the quality process often boils down to checking feature functionality by testers (manual or automation). At the same time, testers often cannot or do not want to go beyond their direct duties due to high workload or lack of knowledge and participate in building a full QA process.
A tester on a project should be responsible for creating and developing the quality assurance process, but not the only person who “carries everything alone”.
Quality assurance is not only about finding bugs and regression testing. It is a comprehensive approach in which all departments and roles on the team should participate.