The module introduces the concept of software quality and quality management. Key definitions, approaches, processes, and the role of the tester in ensuring product quality are considered.
Quality is a multifaceted and subjective concept. For different people, it may mean usefulness, compliance with expectations, product properties, or the degree of its perfection. In the field of software development, quality is usually defined as compliance with the analyst’s requirements and the end user’s expectations.
For a quality product, it is important to combine both approaches.
Quality management is a set of actions aimed at organizing processes that ensure a high-quality final product. It includes four main management functions:
The tester participates in ensuring quality but is not solely responsible for it. The whole team, including analysts, developers, and managers, is involved in quality management. The tester focuses on the testing process and provides feedback on product quality.
Stakeholders are all interested parties who influence the quality of the product or are interested in it. These include: customers, end users, the development team, testers, management, as well as external organizations (auditors, certification bodies).
All stakeholders in one way or another influence the implementation quality or the final quality of the product.
Various metrics are used to measure quality: test coverage, build stability, number of defects, speed of fixing, etc. Tools are used for code analysis, test management, and audits.
Quality management covers all stages of the software development life cycle. Quality is formed from the very first steps of requirements gathering and is maintained throughout the entire process. The tester plays an important role in identifying problems, but responsibility for quality is shared among the entire team.