Quality Assurance (QA) and testing are two terms that are often used interchangeably. You’ve probably overheard a development team say things like: Has that item gone into QA? Which normally actually means: Has that item been tested?
Even though QA and testing may sound like it’s accomplishing the same thing, they are two distinctly different concepts. Let’s look at the formal definitions:
- Quality Assurance:
A set of activities designed to ensure that the development process is adequate to ensure a system will meet its objectives.
The process of executing a system with the intent of finding defects.
But then there’s also a 3rd related concept which we have to consider:
- Quality Control:
A set of activities designed to evaluate a developed, working product.
Things just got more confusing, haven’t they?
The key distinction is that QA focuses on the software development process whereas Quality Control (QC) & testing focuses on the actual product that has been developed.
QA should be seen as ongoing checkpoints which ensure that quality is being built into the product. It’s not a once-off check at the end; it’s a consideration that plays a key role throughout analysis, design and build.
Practical examples of QA include:
- Establishing quality standards and processes
- Quality Audits to ensure that the product will meet customer quality expectations
- Careful selection of development tools
- Adequate training of your team
QC, on the other hand, is more reactive. It determines how well a product has been built and whether it meets the customer requirements. Testing forms an integral part of QC, but is not the only activity to be completed. Other QC activities may include code reviews, technical reviews and operational readiness stage gates.
The idea, however, is that by the time you reach the testing phase, the only thing that’s left to do is to see if you can find ways to break the system. See it as the final stamp of approval which determines whether your product is stable enough to proceed to launch.
At the end of the day the goal of any software development project is to deliver a high quality product that suits the needs of the end consumer. This cannot be achieved by solely checking for system bugs at the end of the project. Quality needs to be a key consideration from the outset.
At Analyze we’re passionate about Quality Assurance & Test Process Improvement. If these are areas that are not strengths within your organisation, we can help. Give Cathy a call on (0)21 447 5696 or email her on firstname.lastname@example.org.