Skip to content
IRC-CodingIRC-Coding
ISO 25010Software QualityQuality CharacteristicsFunctional SuitabilityPerformance EfficiencyReliabilitySecurityMaintainability

ISO 25010: Software Quality Characteristics Explained

ISO 25010 guide: eight quality characteristics, sub-characteristics, and practical application for software development and testing.

S

schutzgeist

3 min read
ISO 25010: Software Quality Characteristics Explained

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)

  1. How many main characteristics does ISO 25010 have? Eight.

  2. Which two characteristics were added compared to ISO 9126? Security and Compatibility.

  3. Which characteristic does Interoperability belong to? Compatibility.

  4. What does Maintainability describe? The ease with which software can be modified, tested, and analyzed.

  5. 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

  1. https://iso25000.com
  2. https://www.iso.org/standard/35733.html
  3. https://en.wikipedia.org/wiki/ISO/IEC_25010
Back to Blog
Share:

Nächster Artikel in Software Quality

Weiterlesen
Mock, Stub, Fake: Test Doubles Explained

Related Posts