Quality and Testing has direct relation. Software testing contributes in improving the quality of the Software. With the help of Testing we can measure Software Quality. This Quality can be measured in terms of defect found in Software Application. Our customer need a quality Software and Testing is one of the mechanism to achieve this.
Quality is measured by attributes of the Software product. A Quality Software is a software which is developed on time, with proper estimation and within budget. Testing save time, budget and efforts by finding bugs at early stage.
A Quality Software meets Functional and Non-Functional requirement and Testing should be done for both functional and non-functional aspect of Software.
Quality is more than just finding bugs and eliminating them.
According to ISO/IEC Standard 9126-1 [ISO 9126], Software Quality comprises of 6 factors or quality characteristics or quality attributes:
- Functionality: Regularity, Accuracy, Security
- Reliability: Fault Tolerance, Recoverability, Maturity
- Portability: Adaptability, Replaceability, Installability, Co-existence
- Efficiency: Resource Utilisation and Time Behaviour
- Maintainability: Testability, Stability, Analyseability, Changeability
- Usability: Operability, Attractiveness
ISO/IEC 25010 divide Software Quality in following models
- Quality in Use Model: Include 5 characteristics: Effectiveness, Efficiency, Satisfaction, Freedom from risk and Context Coverage
- Product Quality Model: Include 8 characteristics: Functional Sustainability, Performance Efficiency, Compatibility, Usability, Reliability, Security, Maintainability and portability
A Software system can not fulfil every quality portability equally well. Therefore we need to prioritise quality portability.