Software Quality and ISO 25010
ISO 25010 is the current international standard for software product quality. It replaces the older ISO 9126 standard and provides a shared vocabulary for describing, evaluating, and agreeing on quality in measurable terms. This article explains all eight quality characteristics with their sub-characteristics and shows how to apply them in your projects.
In a Nutshell
- ISO 25010 defines eight quality characteristics for software.
- Each characteristic contains several sub-characteristics that describe more precisely what is being measured.
- The standard helps you formulate and accept quality requirements with binding commitments.
- It replaces ISO 9126 and adds coverage for security and compatibility.
Technical Overview
ISO 25010 (ISO/IEC 25010:2011) is part of the ISO/IEC 25000 series, also known as SQuaRE (Systems and Software Quality Requirements and Evaluation). The standard divides software product quality into eight main characteristics, which are further subdivided into sub-characteristics. This structure enables you to specify, evaluate, and measure quality systematically.
The Eight Quality Characteristics
1. Functional Suitability
Describes whether the software provides the functions that users need.
- Functional Completeness: All required functions are present.
- Functional Correctness: Functions deliver correct results.
- Functional Appropriateness: Functions are suitable and not over-engineered.
2. Performance Efficiency
Describes performance and resource consumption under defined conditions.
- Time Behaviour: Response and processing times.
- Resource Utilization: CPU, memory, network, and energy consumption.
- Capacity: Maximum load the system can handle.
3. Compatibility
Describes the ability to work with other systems.
- Co-existence: Running simultaneously with other systems without conflicts.
- Interoperability: Exchanging and using information with other systems.
4. Usability
Describes how easily users can operate the software.
- Appropriateness Recognizability: How users recognize whether the software suits their task.
- Learnability: Effort required to learn the software.
- Operability: Ease of use during operation.
- User Error Protection: Protection against user mistakes.
- User Interface Aesthetics: Visual design and appearance.
- Accessibility: Usability for people with disabilities.
5. Reliability
Describes the ability to function under defined conditions.
- Maturity: Frequency of failures during normal operation.
- Availability: Whether the system is available when needed.
- Fault Tolerance: Continued operation despite failures.
- Recoverability: Recovery after a failure.
6. Security
Describes the protection of information and data.
- Confidentiality: Access only for authorized people.
- Integrity: Protection against unauthorized changes.
- Non-repudiation: Accountability for actions performed.
- Accountability: Traceability of actions.
- Authenticity: Verification of the identity of users or resources.
7. Maintainability
Describes how easily the software can be modified.
- Modularity: Division into individual components.
- Reusability: Reusable components.
- Analysability: Ease of identifying defects.
- Modifiability: Ease of making changes.
- Testability: Ease of conducting tests.
8. Portability
Describes the ability to transfer software to different environments.
- Adaptability: Adaptability to different environments.
- Installability: Ease of installation.
- Replaceability: Exchangeability with other software.
Practical Example: Quality Profile for a Banking App
Security:
- Confidentiality: End-to-end encryption
- Integrity: Signed transactions
- Authenticity: Two-factor authentication
Reliability:
- Availability: 99.99 percent
- Fault Tolerance: Failover cluster
- Recoverability: Point-in-time recovery
Performance Efficiency:
- Time Behaviour: Login under 500 milliseconds
- Capacity: 10,000 concurrent users
- Resource Utilization: Memory limit 512 MB per instance
Maintainability:
- Testability: 80 percent code coverage
- Modularity: Microservices with clear interfaces
- Analysability: Centralized logging and tracing solution
Advantages and Disadvantages
Advantages
- Common Language: Stakeholders discuss identical terms.
- Measurable Requirements: Quality becomes concrete and testable.
- Better Architecture: Decisions are evaluated based on clear quality goals.
- Exam Relevance: The standard is used in many training programs and certifications.
Disadvantages
- Room for Interpretation: Not all sub-characteristics matter equally in every context.
- Measurement Effort: A complete evaluation is time-consuming.
- Theory Without Practice: Without living it, the standard remains abstract.
Key Exam Topics
- Name and explain the eight quality characteristics of ISO 25010.
- Explain differences between ISO 9126 and ISO 25010.
- Assign sub-characteristics to their characteristics.
- Formulate measurable quality requirements.
- Recognize trade-offs between quality characteristics.
Typical Exam Questions (with Answers)
-
How many main characteristics does ISO 25010 have? Eight.
-
Which two characteristics were added compared to ISO 9126? Security and Compatibility.
-
Which characteristic does Interoperability belong to? Compatibility.
-
What does Maintainability describe? The ease with which software can be modified, tested, and analyzed.
-
Name three sub-characteristics of Performance Efficiency. Time Behaviour, Resource Utilization, Capacity.
Continue in the Software Quality Learning Path
The next article in the Software Quality learning path covers Software Quality Metrics — how quality is made measurable through metrics like code coverage, cyclomatic complexity, and MTTR.
Key Sources
- https://iso25000.com
- https://www.iso.org/standard/35733.html
- https://en.wikipedia.org/wiki/ISO/IEC_25010



