As there is no definition of software quality, it can be expressed by metrics only. Those metrics can be differenciated into the following categories:
Functional
Specifies what a system has to deliver in context to other systems.
- Functionality
- Does the software provide the required amount of functionality?
- Adequacy
- Is all specified functionality implemented?
- Are end-users able to fulfill their work?
- Integrity
- Does the software provide the correct and agreed results or outcomes?
- Interoperatibility
- Is the software able to interact with specified systems?
- Are all interfaces specified, correct and implemented?
- Correctness
- Are legal requirements met (e.g. GoB, GoBS)?
Are corporate standards and regulations fulfilled?
- Are legal requirements met (e.g. GoB, GoBS)?
- Secureness
- Is the software able to prohibit unauthorized access to users and systems?
Non-Functional
Specifies how a system operates.
- Portability
- Suitability of the software to be transferred from one environment to another
- Customisability
- Installability
- Conformance
- Interchangeability
- Efficiency
describes the required time and utilization of operating resources (e.g. CPU, memory, hard disk, etc.) to deliver a task. - Time behavior
- Resource behavior
- Reliability
describes the ability of a system to deliver a agreed lelve of perofrmance within defined conditions within a definied timeframe. - System maturity
- Fault tolerance
- Recoverability
- Useability
descibes criterias related to userinteractions with a given software. - Comprehensibility
- Learnability
- Operability
- Maintainability
describes the effort required to make predefined changes. - Analyzability
- Modifiability
- Steadiness
- Testability