Dimensions of Software Quality
Software offers different aspects or dimensions of overall quality provided by the features and capabilities it delivers:
- Accessibility: The degree to which software can be used comfortably by a wide variety of people, including those who require assistive technologies like screen magnifiers or voice recognition.
- Compatibility: The suitability of software for use in different environments like different Operating Systems, Browsers, etc.
- Concurrency: The ability of software to service multiple requests to the same resources at the same time.
- Efficiency: The ability of software to perform well or achieve a result without wasted energy, resources, effort, time or money.
- Functionality: The ability of software to carry out the functions as specified or desired.
- Installability: The ability of software to be installed in a specified environment.
- Localizability: The ability of software to be used in different languages, time zones etc.
- Maintainability: The ease with which software can be modified (adding features, enhancing features, fixing bugs, etc)
- Performance: The speed at which software performs under a particular load.
- Portability: The ability of software to be transferred easily from one location to another.
- Reliability: The ability of software to perform a required function under stated conditions for stated period of time without any errors.
- Scalability: The measure of software’s ability to increase or decrease in performance in response to changes in software’s processing demands.
- Security: The extent of protection of software against unauthorized access, invasion of privacy, theft, loss of data, etc.
- Testability: The ability of software to be easily tested.
- Usability: The degree of software’s ease of use.
There are in fact objective metrics that can be applied to determine each. None of these are bound to subjective aesthetics although graphics and pictures can make a huge difference and go beyond simply enhancing to actually providing the bulk of the content and information that users are looking for. It is vitally important to know what is considered the most valuable content and how good a job is in delivering that content. This is the key to building in and maintaining software quality.
Content Credit for the list of dimensions is due the folks at http://softwaretestingfundamentals.com/dimensions-of-software-quality/