The question, “What is software quality?” is not objective. Trying to define software quality will evoke different answers from different perspectives. Software Quality in itself is a complex concept to define and it is content dependent. What quality means to me need not mean the same to you. Different people have a different opinion about Quality. The generic and traditional way of software quality was to focus on detection and correction of the errors found in the software only at the end of the development phase.
What is Software Quality?
According to Kitchenham and Pfleeger, Software Quality has 5 views.
Transcendental View – This is not specific to software quality and has been applied in every day’s complex areas. It qualifies as an entity that is difficult to define but can be recognized.
User View – To a user, quality means “fit for use”. As per this view, the person performing quality checks should first ask himself the question, “Does this software meets user’s requirements and expectations?”
Manufacturing View – Quality in manufacturing is all about the extent to which the product meets its specifications.
Product View – Here, the quality is related to the internal characteristics of the product.
Value Based View – In this perspective, Quality is determined based on how much the customer is willing to pay for it.
If one has to define Software Quality in general, it is the combination of factors that represent the behavior of a system. Correctness, Reliability, Efficiency, Testability, Maintainability, and Reusability are some of the quality factors.
It is worth to mention about the Test Process Improvement (TPI) Model and Test Maturity Model (TMM) here. TMI and TPI model help an organization in evaluating the current state of their software testing process, identify the improvement areas and suggest an action plan for improving their test process.
- What is Objectives of Software Testing
- Quality Assurance Responsibilities
- Various Types of Software Testing