The term Quality Assurance comprises of two words – “Quality” and “Assurance”. In order to understand Quality Assurance, we first need to understand the meaning of the term ‘Quality’.
What is Software Quality?
Software quality is the conformance of a software system to its requirements. In the software perspective, quality is ensured by two sets of activities – Validation and Verification.
Verification checks if the process used during software development is correct or not. Whereas, in validation, the product is evaluated to check if it meets the business requirements.
We will deal with both verification and validation in detail, in our next post. For now, let’s move to the different attributes of Software Quality.
Attributes of Software Quality
- Correctness – Correctness measures the software quality for the conformance of the software to its requirements.
- Reliability – Checks if the software performs its functions without any failure within the expected conditions.
- Robustness – Robustness is the ability of the software to not crash when provided with unexpected input.
- Usability – Usability is the ease of operating the software application.
- Completeness – Completeness is the extent to which the software system meets its specifications.
- Maintainable – Maintainability is the measure of the amount of effort required for software maintenance after it has shipped to the end-user.
- Portability – Ability of the software to be transformed from one platform or infrastructure to others.
- Efficiency – Efficiency is the measure of resources required for the functioning of the software.
Now we can proceed with the formal definition of Quality Assurance.
Quality Assurance Definition
Part of quality management focused on providing confidence that quality requirements will be fulfilled.ISTQB
Basically, Quality Assurance is a set of activities to prevent non-conformance of a system to its requirements. It ensures that the built software product meets all the specified requirements of the customer. Unlike Quality Control(QC), we don’t actually test the software product in QA.
Salient features of Quality Assurance
- QA is a static process of analyzing the documents and the process involved in building the product.
- It doesn’t involve testing the built product.
- In testing “Verification” comes under QA.
- It answers the question – “Are we building the product right?”
- QA is a preventive measure as it identifies the vulnerability in the process to build software.
- It involves activities like document review, test documents review, walk-throughs, audits, inspection, etc.
So, this was all about software quality and quality assurance. Let us know, in comments in case of any query, concern or suggestion. You can continue with our next post of the tutorial series on software testing – Validation and Verification and for complete course content, check – Software Testing Tutorial.
Kuldeep is the founder and lead author of ArtOfTesting. He is skilled in test automation, performance testing, big data, and CI-CD. He brings his decade of experience to his current role where he is dedicated to educating the QA professionals. You can connect with him on LinkedIn.