Even before we try and define what is software quality, it may be a good idea to understand what is meant by term quality?
Quality means different to different people. One may call a product or high services of high quality if it serves their needs. Thus, for some people, a cell phone can be of high quality if it provides sound of great quality. However, for others, the ability to browse through social network can be criteria of judging a cellphone (also called as smartphone) quality.
To standardize, software quality may be defined as a set of characteristics can be used to measure the following:
- Outcome of interaction with external user (actual user of the software)
- Outcome of interaction with internal stakeholders (IT organization primarily including developers)
Outcome of interaction with external user: Some of the following may be used to determine the outcome of interaction with external users:
- Effectiveness
- Efficiency
- Satisfaction
- Safety
Outcome of interaction with internal stakeholders: These are primarily the developers which are involved with developing the code and testing the same. Some of the following may be used to determine the outcome of interaction with external users:
- Functional Suitability
- Maintainability
- Usability
- Security
- Efficiency
- Reliability
- Compatibility (Interoperability)
- Portability
Above listed characteristics are derived from SQUARE specifications of ISO 25000 series of standards.
- Agentic Reasoning Design Patterns in AI: Examples - October 18, 2024
- LLMs for Adaptive Learning & Personalized Education - October 8, 2024
- Sparse Mixture of Experts (MoE) Models: Examples - October 6, 2024
I found it very helpful. However the differences are not too understandable for me