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.
- Creating a RAG Application Using LangGraph: Example Code - February 1, 2025
- Building a RAG Application with LangChain: Example Code - January 31, 2025
- Building an OpenAI Chatbot with LangChain - January 30, 2025
I found it very helpful. However the differences are not too understandable for me