
Software quality models – which do you use?
Here we look more closely at these frameworks that are used to define the attributes and characteristics of software quality. We’ll offer a brief overview and then provide some examples of different software quality models.
Software products are measured using these standardised models. Nowadays, new applications are in planning and development on a daily basis. It is therefore essential to have a method that proves the product built at least meets with the standards expected. The models used can have different criteria for evaluating software quality. Some might focus upon external aspects such as functionality, whilst others may evaluate internal aspects like code quality. Let’s look then at a few of the more popular models in a little more detail.
Boehm’s model
This model was introduced by Barry Boehm and his team at the US Defence Department in 1978. It represents a hierarchical quality model to define software quality using a predefined set of attributes and metrics. Each one contributes to the overall quality of software. Boehm’s model defines seven quality characteristics for software products and three quality levels for software systems:
Seven product quality characteristics
- Utility
- Reliability
- Efficiency
- Human engineering
- Testability
- Maintainability
- Portability
Three system quality levels:
- As-is utility
- Maintainability
- General utility
McCall’s model
This model was developed in the 1970s by James McCall and his colleagues at the US Air Force. Similar to the Boehm’s model, it identifies quality factors for software products and quality perspectives for software systems:
Eleven product quality factors:
- Correctness
- Reliability
- Efficiency
- Integrity
- Usability
- Maintainability
- Flexibility
- Testability
- Portability
- Reusability
- Interoperability
Three system quality perspectives:
- Product operation
- Revision of the product
- Product transition
ISO/IEC 25010
This is one of the most widely used and well known software quality models. It defines eight quality characteristics for software products and four quality characteristics for software systems:
Eight product quality characteristics:
- Functional suitability
- Reliability
- Performance efficiency
- Usability
- Security
- Compatibility
- Maintainability
- Portability
Four system quality characteristics:
- Adaptability
- Installability
- Replaceability
- Co-existence
Software quality models – which is the one for you?
We have briefly described three models in this article but there are more, including:
- FURPS
- Ghezzi
- IEEE
We’d love to hear your thoughts on these and any others. Perhaps you use more than one, or a combination of one or more? As always, if you need any help with your software testing requirements then eTestware is here. In the meantime, how about some tips?
Software Testing With Efficiency (Tips For Companies)
Efficient Software Testing Tips (For Software Testers)