Skip to content
IRC-CodingIRC-Coding
ISO 25010Calidad de SoftwareCaracterísticas de CalidadFunctional SuitabilityPerformance EfficiencyReliabilitySecurityMaintainability

ISO 25010: Características de Calidad de Software

ISO 25010 explicado: Los ocho atributos de calidad, subcaracterísticas y su aplicación práctica en desarrollo y pruebas.

S

schutzgeist

4 min read
ISO 25010: Características de Calidad de Software

Calidad de software e ISO 25010

ISO 25010 es el estándar internacional vigente para la calidad de productos de software. Reemplaza la norma anterior ISO 9126 y proporciona un vocabulario común para describir, evaluar y acordar la calidad de forma medible. Este artículo explica los ocho atributos principales con sus subatributos y muestra cómo aplicarlos en tus proyectos.

Resumen rápido

  • ISO 25010 define ocho atributos principales de la calidad del software.
  • Cada atributo principal tiene varios subatributos que describen con mayor precisión qué se mide.
  • La norma ayuda a formular y aceptar requisitos de calidad de manera vinculante.
  • Reemplaza ISO 9126 y complementa los ámbitos de seguridad y compatibilidad.

Descripción técnica compacta

ISO 25010 (ISO/IEC 25010:2011) es parte de la serie ISO/IEC 25000, también conocida como SQuaRE (Systems and Software Quality Requirements and Evaluation). La norma divide la calidad de los productos de software en ocho atributos principales, que a su vez se subdividen en subatributos. Esta estructura permite especificar, evaluar y medir la calidad de forma sistemática.

Los ocho atributos principales

1. Functional Suitability (Idoneidad funcional)

Describe si el software proporciona las funciones que los usuarios necesitan.

  • Functional Completeness: Todas las funciones requeridas están presentes.
  • Functional Correctness: Las funciones entregan resultados correctos.
  • Functional Appropriateness: Las funciones son apropiadas y no están sobrecargadas.

2. Performance Efficiency (Eficiencia de rendimiento)

Describe el desempeño y el consumo de recursos bajo condiciones definidas.

  • Time Behaviour: Tiempos de respuesta y procesamiento.
  • Resource Utilization: Consumo de CPU, memoria, red y energía.
  • Capacity: Carga máxima que el sistema puede manejar.

3. Compatibility (Compatibilidad)

Describe la capacidad de interactuar con otros sistemas.

  • Co-existence: Operación simultánea con otros sistemas sin conflictos.
  • Interoperability: Intercambio y uso de información con otros sistemas.

4. Usability (Usabilidad)

Describe la facilidad con la que los usuarios pueden utilizar el software.

  • Appropriateness Recognizability: Capacidad para reconocer si es adecuado para una tarea.
  • Learnability: Esfuerzo requerido para aprender a usarlo.
  • Operability: Facilidad de manejo durante el uso.
  • User Error Protection: Protección contra errores de usuario.
  • User Interface Aesthetics: Estética y diseño.
  • Accessibility: Usabilidad para personas con limitaciones.

5. Reliability (Confiabilidad)

Describe la capacidad de funcionar bajo condiciones definidas.

  • Maturity: Frecuencia de fallos en la operación normal.
  • Availability: Disponibilidad cuando se necesita.
  • Fault Tolerance: Continuidad de operación a pesar de fallos.
  • Recoverability: Recuperación después de un fallo.

6. Security (Seguridad)

Describe la protección de información y datos.

  • Confidentiality: Acceso solo para personas autorizadas.
  • Integrity: Protección contra cambios no autorizados.
  • Non-repudiation: Capacidad de demostrar las acciones realizadas.
  • Accountability: Trazabilidad de las acciones.
  • Authenticity: Verificación de la identidad de usuarios o recursos.

7. Maintainability (Mantenibilidad)

Describe la facilidad para realizar cambios en el software.

  • Modularity: División en componentes individuales.
  • Reusability: Reutilización de componentes.
  • Analysability: Facilidad para identificar defectos.
  • Modifiability: Facilidad para realizar cambios.
  • Testability: Facilidad para ejecutar pruebas.

8. Portability (Portabilidad)

Describe la capacidad de transferir el software a diferentes entornos.

  • Adaptability: Capacidad de adaptarse a distintos entornos.
  • Installability: Facilidad de instalación.
  • Replaceability: Posibilidad de ser reemplazado por otro software.

Ejemplo práctico: Perfil de calidad para una aplicación bancaria

Security:
- Confidentiality: Cifrado de extremo a extremo
- Integrity: Transacciones firmadas
- Authenticity: Autenticación de dos factores

Reliability:
- Availability: 99,99 por ciento
- Fault Tolerance: Cluster de failover
- Recoverability: Recuperación a un punto en el tiempo

Performance Efficiency:
- Time Behaviour: Inicio de sesión bajo 500 milisegundos
- Capacity: 10.000 usuarios simultáneos
- Resource Utilization: Límite de memoria de 512 MB por instancia

Maintainability:
- Testability: 80 por ciento de cobertura de código
- Modularity: Microservicios con interfaces claras
- Analysability: Solución centralizada de logging y tracing

Ventajas y desventajas

Ventajas

  • Lenguaje común: Los stakeholders hablan sobre términos idénticos.
  • Requisitos medibles: La calidad se vuelve concreta y verificable.
  • Mejor arquitectura: Las decisiones se evalúan según objetivos de calidad claros.
  • Relevancia para exámenes: La norma es estándar en muchas formaciones y certificaciones.

Desventajas

  • Margen de interpretación: No todos los subatributos tienen la misma importancia en cada contexto.
  • Esfuerzo de medición: Una evaluación completa es laboriosa.
  • Solo en teoría: Sin práctica efectiva, la norma permanece en el papel.

Puntos clave para exámenes

  • Nombrar y explicar los ocho atributos principales de ISO 25010.
  • Explicar las diferencias entre ISO 9126 e ISO 25010.
  • Asignar subatributos a atributos principales.
  • Formular requisitos de calidad medibles.
  • Reconocer conflictos entre atributos de calidad.

Preguntas típicas de examen (con respuesta breve)

  1. ¿Cuántos atributos principales tiene ISO 25010? Ocho.

  2. ¿Qué dos atributos principales se agregaron en comparación con ISO 9126? Security y Compatibility.

  3. ¿A qué atributo principal pertenece Interoperability? Compatibility.

  4. ¿Qué describe Maintainability? La facilidad con la que el software puede ser modificado, probado y analizado.

  5. Menciona tres subatributos de Performance Efficiency. Time Behaviour, Resource Utilization, Capacity.

Continúa en la ruta de aprendizaje de Calidad de Software

El siguiente artículo en la ruta de aprendizaje de Calidad de Software trata Métricas de calidad de software — cómo se hace medible la calidad mediante indicadores como Code Coverage, Cyclomatic Complexity y MTTR.

Fuentes principales

  1. https://iso25000.com
  2. https://www.iso.org/standard/35733.html
  3. https://en.wikipedia.org/wiki/ISO/IEC_25010
Volver al blog
Share:

Entradas relacionadas