quality assurance
/ˌkwɒləti əˈʃʊərəns/noun
Quality assurance (QA) is the set of planned, systematic measures a team uses to help software meet agreed quality requirements.
Quality assurance is part of our development process from the first refinement session.
In software development, quality assurance covers agreements and checks that maintain quality throughout the process. These include clear Glossary · In briefacceptance criteriaAcceptance criteria are agreed, testable conditions that a product, feature or change must meet to be accepted.Read more, Glossary · In briefcode reviewA code review is an assessment of a code change by another developer. They check its behaviour, readability, and maintainability, among other things, before the change is merged.Read more, automated tests and a controlled release process.
QA goes beyond a testing step just before a Glossary · In briefreleaseA release is an identifiable software version prepared to be made available to users. It brings together one or more checked changes.Read more. The team defines requirements in advance, checks changes during development and uses its findings to improve the process. Developers, testers, a Glossary · In briefproduct ownerIn Scrum, the product owner is accountable for maximizing product value and managing the product backlog. They order the work and communicate the product goal.Read more and others can each have a role. Responsibilities depend on the team and the software's risks.
What does QA involve in software development?
The approach varies by project. A team might check code automatically, have a colleague review changes and use a separate environment for acceptance testing. Glossary · In briefmonitoringMonitoring systematically tracks software, infrastructure or processes through measurements and checks. Deviations can trigger alerts so an administrator can investigate.Read more after release can also inform future improvements.
The required measures depend partly on the consequences of errors. An internal planning tool usually needs different checks from software handling financial transactions or medical data. Quality assurance means deliberately choosing and consistently applying suitable checks, rather than giving every project the same checklist.
QA and quality control
Quality assurance mainly concerns the process that produces quality. Quality control more often assesses a specific result, such as testing a delivered feature against its requirements. In practice, the concepts overlap and tests often form part of a broader QA approach.
QA does not guarantee error-free software. It makes requirements, responsibilities and checks explicit, helping the team spot problems earlier and make informed adjustments.