OPE 2025 TFA INF. Tema 44. La garantía de calidad en el proceso de producción del software (SQA). Métricas y evaluación de la calidad del software. La implantación de la función de calidad. Estándares nacionales e internacionales. Pruebas tempranas. Norma ISO 29119.

Servicio Andaluz de Salud EXAMEN INFORMÁTICA JUNTA DE ANDALUCÍA TFA INFORMÁTICA (P) Exámenes SAS 2025 TFA INFORMÁTICA
Tema 44 – Garantía de Calidad en el Software – TFA-STI SAS

Tema 44

La Garantía de Calidad en el Proceso de Producción del Software (SQA). Métricas y Evaluación de la Calidad del Software. La Implantación de la Función de Calidad. Estándares Nacionales e Internacionales. Pruebas Tempranas. Norma ISO 29119

Oposición Técnico/a de Función Administrativa – Opción Sistemas y Tecnología de la Información (TFA-STI) del Servicio Andaluz de Salud

Introducción

La garantía de calidad del software (SQA) es un aspecto crítico en la producción de sistemas de información que asegura que los productos de software cumplan con los requisitos y estándares especificados. Este tema aborda los conceptos fundamentales de SQA, las métricas utilizadas para evaluar la calidad, la implantación de la función de calidad en las organizaciones, los estándares internacionales como ISO 29119 e ISO 9001, el concepto de pruebas tempranas y la importancia de los quality gates. La implementación efectiva de SQA reduce costos, mejora la confiabilidad del software y aumenta la satisfacción del cliente, siendo fundamental en el desarrollo de sistemas para organizaciones sanitarias como el Servicio Andaluz de Salud.

1. Conceptos Fundamentales de SQA

1.1 Definición de Garantía de Calidad del Software (SQA)

La Garantía de Calidad del Software (SQA) es un conjunto sistemático de actividades planificadas y realizadas para asegurar que los productos y procesos de software se conforman con los estándares, procedimientos y requisitos especificados. SQA envuelve la auditoría y reporte de actividades de ingeniería de software para asegurar que el software producido sea de alta calidad y cumpla con las expectativas del cliente.

Diferencia Crítica entre SQA y QC (Control de Calidad):
  • SQA (Garantía): Enfoque proactivo orientado a PROCESOS. Previene defectos mediante planificación y auditoría de procesos
  • QC (Control): Enfoque reactivo orientado a PRODUCTOS. Detecta defectos mediante pruebas del producto final

1.2 Objetivos Principales de SQA

  • Prevención de defectos: Detectar y eliminar problemas antes de que se conviertan en errores costosos
  • Mejora continua: Identificar oportunidades de mejora en procesos de desarrollo
  • Cumplimiento de estándares: Asegurar conformidad con normas industri ales y organizacionales
  • Satisfacción del cliente: Entregar software que cumpla requisitos y expectativas
  • Reducción de riesgos: Minimizar riesgos técnicos, operativos y de cumplimiento
  • Documentación y trazabilidad: Mantener registros completos de calidad y decisiones

1.3 Actividades Principales de SQA

Actividad Descripción Responsabilidad
Planificación Preparar plan SQA con objetivos, métricas y actividades Equipo SQA / Gestión
Revisión Examinar productos y actividades contra estándares Equipo SQA
Auditoría Verificación formal independiente de conformidad Equipo Auditoría / SQA
Reporte Comunicar resultados a gestión y stakeholders Equipo SQA
Análisis de Problemas Investigar raíz de defectos y desviaciones Equipo SQA / Ingeniería

2. Métricas y Evaluación de Calidad del Software

2.1 Concepto de Métricas de Software

Las métricas de software son medidas cuantitativas de atributos observables de productos o procesos de software que proporcionan información útil sobre el estado de calidad del producto o progreso del proyecto. Permiten evaluar objetivamente si los objetivos de calidad se están cumpliendo.

2.2 Clasificación de Métricas

Métricas de Producto

Miden características del software entregado:

  • Densidad de Defectos: Número de defectos por línea de código (defectos/KLOC)
  • Confiabilidad: MTBF (Tiempo Medio Entre Fallos) y MTTR (Tiempo Medio de Reparación)
  • Complejidad Ciclomática: Medida de complejidad del código (rango: 1-50)
  • Cobertura de Código: Porcentaje de código ejecutado en pruebas (objetivo: >80%)
  • Disponibilidad: Porcentaje de tiempo operativo del sistema

Métricas de Proceso

Miden características del proceso de desarrollo:

  • Costo de Calidad: COQ = Prevención + Evaluación + Fallo (interno + externo)
  • Eficiencia de Pruebas: Defectos detectados / Total defectos
  • Tiempo de Ciclo: Tiempo desde requisito hasta entrega
  • Rotación de Código: Líneas añadidas/modificadas/eliminadas por período
  • Tasa de Cambios: Número de solicitudes de cambio por fase

2.3 Métricas Clave Principales

1. Tasa de Defectos / Densidad de Defectos

Defectos encontrados por cada 1000 líneas de código (KLOC) o por componente

Fórmula: Densidad = (Defectos encontrados / KLOC) × 1000

Benchmark: Industria: 2-8 defectos/KLOC; Objetivo: <2

2. MTBF (Tiempo Medio Entre Fallos)

Tiempo promedio entre fallos del software en producción

Importancia: Mayor MTBF = Mayor confiabilidad y disponibilidad

Cálculo: MTBF = Tiempo total / Número de fallos

3. MTTR (Tiempo Medio de Reparación)

Tiempo promedio para reparar un defecto tras detectarlo

Importancia: Menor MTTR = Recuperación más rápida de fallos

Cálculo: MTTR = Tiempo total reparación / Número de reparaciones

4. Cobertura de Código (Code Coverage)

Porcentaje de líneas de código ejecutadas durante pruebas

Tipos: Cobertura de líneas, ramas, caminos

Objetivo: >80% cobertura de líneas, >70% ramas

5. Costo de Calidad (CoQ)

Suma de costos de prevención, evaluación y fallos

Fórmula: CoQ = Prevención + Evaluación + Fallos

Defectos tempranos: $1, En desarrollo: $5, En QA: $10, En producción: $100+

6. Eficiencia de Pruebas

Proporción de defectos detectados antes de producción

Fórmula: Eficiencia = Defectos detectados / Total defectos

Objetivo: >95% de defectos detectados antes de producción

3. Implantación de la Función de Calidad en Organizaciones

3.1 Estructura Organizacional de SQA

Rol Responsabilidades Requisitos
Responsable SQA Dirección general de programa SQA, reportes a dirección Experiencia en gestión, conocimiento de SQA
Auditor SQA Auditorías independientes, verificación de conformidad Experiencia auditoría, independencia
Ingeniero de Calidad Revisiones, análisis de problemas, métricas Conocimiento técnico, análisis
Especialista de Pruebas Diseño e implementación de pruebas Experiencia en testing, automatización

3.2 Plan de Implementación de SQA

Fases de Implementación:
  1. Evaluación Inicial: Diagnosticar estado actual de calidad
  2. Diseño: Crear plan SQA, definir estándares y métricas
  3. Comunicación: Informar a equipo sobre objetivos SQA
  4. Formación: Capacitar en procesos y herramientas SQA
  5. Piloto: Implementar en proyecto pequeño primero
  6. Despliegue: Expandir a todos los proyectos
  7. Monitoreo: Medir y ajustar continuamente

4. Estándares Nacionales e Internacionales

4.1 ISO 9001:2015 – Sistema de Gestión de Calidad

ISO 9001:2015 es el estándar internacional más reconocido para sistemas de gestión de calidad aplicable a organizaciones de cualquier tipo y tamaño, incluyendo desarrollo de software.

Principios Clave de ISO 9001:2015:

  • Enfoque al cliente: Comprender y satisfacer necesidades del cliente
  • Liderazgo: Establecer dirección clara y crear ambiente para alcanzar objetivos
  • Participación del personal: Involucrar personas competentes y comprometidas
  • Enfoque basado en procesos: Estructurar actividades como procesos interconectados
  • Mejora continua: Mejorar consistentemente el desempeño global
  • Toma de decisiones basada en datos: Usar análisis factual para decisiones
  • Gestión de relaciones: Colaborar con proveedores

Requisitos de ISO 9001:2015 para Desarrollo de Software:

  • Documentación de procesos y procedimientos
  • Planificación y control de proyectos
  • Gestión de requisitos del cliente
  • Revisión y validación de diseño
  • Compras y gestión de proveedores
  • Producción controlada
  • Control de cambios
  • Trazabilidad completa
  • Auditorías internas periódicas
  • Análisis de no conformidades y acciones correctivas

4.2 ISO/IEC/IEEE 29119:2013 – Estándar de Pruebas de Software

ISO/IEC/IEEE 29119 es un estándar internacional que define procesos, documentación y técnicas de pruebas de software aplicables a cualquier ciclo de vida de desarrollo.

Estructura de ISO 29119 (5 Partes):

Parte Título Contenido Principal
Parte 1:2013 Conceptos y Definiciones Vocabulario, términos, conceptos fundamentales de pruebas
Parte 2:2013 Procesos de Prueba Procesos de prueba: planificación, especificación, ejecución, análisis
Parte 3:2013 Documentación de Prueba Documentos de prueba: planes, especificaciones, reportes
Parte 4:2015 Técnicas de Prueba Técnicas basadas en especificación y estructura
Parte 5:2016 Pruebas Dirigidas por Palabras Clave Framework de automatización basado en palabras clave

Procesos Principales de ISO 29119 Parte 2:

  • Proceso de Planificación de Pruebas (TP): Definir estrategia y plan de pruebas
  • Proceso de Análisis de Pruebas (TA): Analizar requisitos y crear especificaciones
  • Proceso de Diseño de Pruebas (TD): Diseñar casos de prueba y procedimientos
  • Proceso de Implementación de Pruebas (TI): Implementar y preparar ambiente de pruebas
  • Proceso de Ejecución de Pruebas (TE): Ejecutar pruebas y registrar resultados
  • Proceso de Conclusión de Pruebas (TC): Consolidar datos y reportar resultados finales

4.3 CMMI (Capability Maturity Model Integration)

CMMI es un modelo de referencia que describe prácticas para mejorar procesos de desarrollo de software en organizaciones.

Niveles de Madurez CMMI:

  • Nivel 1 (Inicial): Procesos impredecibles, poco controlados
  • Nivel 2 (Gestionado): Procesos planificados, ejecutados bajo control
  • Nivel 3 (Definido): Procesos caracterizados, documentados, estandarizados
  • Nivel 4 (Cuantitativamente Gestionado): Procesos medidos y controlados
  • Nivel 5 (Optimizado): Enfoque en mejora continua e innovación

5. Pruebas Tempranas (Early Testing)

5.1 Concepto y Principios

Early Testing (Pruebas Tempranas) es un principio de calidad que enfatiza la importancia de comenzar actividades de pruebas y validación lo más temprano posible en el ciclo de vida del software, incluso antes de que el desarrollo esté completo. Esto contrasta con el modelo tradicional donde las pruebas se realizan solo al final.

Beneficios Clave de Early Testing:
  • Reducción de costos: Un defecto en diseño cuesta $1, en desarrollo $5, en QA $10, en producción $100+
  • Calidad mejorada: Más tiempo para pruebas profundas y cobertura completa
  • Tiempo reducido: Menos rework y revisiones al final
  • Mejor comunicación: QA participa desde inicio, comprende mejor requisitos
  • Menos sorpresas: Identifica problemas antes de inversión significativa

5.2 Implementación de Early Testing

Pruebas Estáticas Tempranas:

  • Revisión de Requisitos: Analizar documentación de requisitos para completitud y claridad
  • Revisión de Diseño: Examinar arquitectura y diseño antes de codificación
  • Walkthrough del Código: Presentación de código con equipo antes de pruebas formales
  • Inspecciones: Revisión formal por pares para encontrar defectos

Pruebas Dinámicas Tempranas:

  • Pruebas Unitarias en Desarrollo: Desarrolladores escriben y ejecutan pruebas mientras codifican
  • TDD (Test-Driven Development): Escribir pruebas antes del código
  • BDD (Behavior-Driven Development): Escribir especificaciones ejecutables desde requisitos
  • Pruebas de Integración Tempranas: Integrar y probar componentes tan pronto estén disponibles

6. Quality Gates (Puertas de Calidad)

6.1 Concepto de Quality Gates

Los Quality Gates son puntos de control en el ciclo de vida del software donde se evalúan criterios específicos de calidad antes de permitir que el proyecto progrese a la siguiente fase. Actúan como «filtros» para asegurar que solo código de calidad aceptable avance.

6.2 Ejemplos de Quality Gates Típicas

  • Gate de Requisitos: Requisitos aprobados, completos, trazables
  • Gate de Diseño: Diseño revisado, riesgos identificados, arquitectura validada
  • Gate de Código: Cobertura >80%, sin violaciones de estándares, code review pasado
  • Gate de Pruebas: Pruebas unitarias >80%, cobertura>70%, sin defectos críticos
  • Gate de Sistema: Pruebas sistema pasadas, requisitos cumplidos, performance OK
  • Gate de Producción: Todos defectos P1/P2 resueltos, backup, rollback plans listos

6.3 Beneficios de Quality Gates

  • Identificación temprana de problemas costosos
  • Prevención de avance de código deficiente
  • Decisiones informadas basadas en datos objetivos
  • Transparencia y documentación completa
  • Contribución a mejora continua
  • Equilibrio entre velocidad y calidad

7. Integración en MÉTRICA Versión 3 y Contexto del SAS

MÉTRICA versión 3 integra principios de SQA en todos sus procesos. En particular:

  • Proceso Aseguramiento de Calidad (CAL): Responsable de auditoría y aseguramiento
  • Proceso Construcción (CSI): Incluye pruebas en cada nivel (unitarias, integración, sistema)
  • Proceso Implantación (IMP): Validación final y aprobación para producción
  • Métricas de Calidad: Medición continua de calidad con indicadores clave

8. Cuestionario de Evaluación (20 Preguntas)

Pregunta 1: ¿Cuál es la principal diferencia entre SQA y QC (Control de Calidad)?

A) SQA cuesta más dinero que QC
B) SQA es proactivo y orientado a procesos; QC es reactivo y orientado a productos
C) QC solo se aplica a pruebas manuales
D) No hay diferencia significativa entre ellos
Respuesta Correcta: B

SQA previene defectos mediante auditoría y mejora de procesos. QC detecta defectos mediante pruebas del producto final. SQA es preventivo; QC es correctivo.

Pregunta 2: ¿Cuál es el objetivo principal de Early Testing?

A) Retrasar el proyecto lo máximo posible
B) Detectar defectos lo más temprano posible para reducir costos
C) Realizar todas las pruebas antes de escribir código
D) Usar solo herramientas de pruebas automáticas
Respuesta Correcta: B

Early Testing busca detectar defectos en fases tempranas (requisitos, diseño) cuando son más económicos de resolver, reduciendo significativamente el costo total de calidad.

Pregunta 3: ¿Qué es la densidad de defectos en métricas de software?

A) El costo total de todos los defectos
B) Número de defectos encontrados por línea de código (KLOC)
C) El tiempo promedio para reparar un defecto
D) La cantidad de código que necesita refactorización
Respuesta Correcta: B

Densidad de defectos = (Defectos / KLOC) × 1000. Es una métrica de producto que mide cuántos defectos existen por cada mil líneas de código.

Pregunta 4: ¿Cuál es el costo relativo de corregir un defecto según su fase de detección?

A) Es igual en todas las fases
B) $1 en diseño, $5 en desarrollo, $10 en QA, $100+ en producción
C) Más costoso en fase de requisitos
D) No se puede estimar el costo
Respuesta Correcta: B

Según IBM System Science Institute, el costo de reparación aumenta exponencialmente conforme avanza el ciclo de vida. Corregir temprano es mucho más económico.

Pregunta 5: ¿Qué es ISO/IEC/IEEE 29119?

A) Estándar para gestión de configuración
B) Norma internacional para pruebas de software
C) Estándar de seguridad en sistemas
D) Guía para desarrollo ágil
Respuesta Correcta: B

ISO/IEC/IEEE 29119 es un estándar internacional que define procesos, documentación y técnicas de pruebas de software aplicables a cualquier ciclo de vida.

Pregunta 6: ¿Cuántas partes comprende el estándar ISO/IEC/IEEE 29119?

A) 2 partes
B) 3 partes
C) 5 partes
D) 10 partes
Respuesta Correcta: C

ISO/IEC/IEEE 29119 consta de 5 partes: Conceptos (1), Procesos (2), Documentación (3), Técnicas (4), Pruebas por Palabras Clave (5).

Pregunta 7: ¿Cuál es el principal objetivo de ISO 9001:2015 en desarrollo de software?

A) Automatizar todas las pruebas
B) Establecer sistema de gestión de calidad para mejora continua y satisfacción del cliente
C) Reemplazar a los testers humanos
D) Acelerar el desarrollo a cualquier costo
Respuesta Correcta: B

ISO 9001:2015 establece requisitos para un sistema de gestión de calidad orientado al cliente, enfatizando procesos, mejora continua y satisfacción.

Pregunta 8: ¿Qué es MTBF en métricas de confiabilidad?

A) Mean Time Between Failures – Tiempo medio entre fallos
B) Mean Time Before Fixing
C) Multiple Test Basic Features
D) Manual Test Before Final
Respuesta Correcta: A

MTBF (Mean Time Between Failures) mide el tiempo promedio que un sistema opera sin fallos. Mayor MTBF indica mayor confiabilidad y disponibilidad.

Pregunta 9: ¿Qué es una Quality Gate o Puerta de Calidad?

A) Un tipo de puerta física en la oficina
B) Punto de control donde se evalúan criterios de calidad antes de pasar a siguiente fase
C) Una herramienta de CI/CD
D) Un documento de requisitos
Respuesta Correcta: B

Quality Gates son puntos de decisión donde se verifican criterios específicos de calidad. Solo si se cumplen los criterios, el proyecto puede avanzar.

Pregunta 10: ¿Cuál de los siguientes NO es un nivel de madurez CMMI?

A) Inicial
B) Gestionado
C) Perfecto
D) Optimizado
Respuesta Correcta: C

CMMI tiene 5 niveles: Inicial, Gestionado, Definido, Cuantitativamente Gestionado, Optimizado. «Perfecto» no es un nivel reconocido.

Pregunta 11: ¿Qué es el Costo de Calidad (CoQ)?

A) Solo el costo de las pruebas
B) Suma de costos de prevención, evaluación y fallos
C) El precio de las herramientas de testing
D) El salario del equipo QA
Respuesta Correcta: B

CoQ = Costos de Prevención (procesos, formación) + Evaluación (pruebas, auditorías) + Fallos (reparaciones, reputación).

Pregunta 12: ¿Cuál es el objetivo del Análisis de Raíz (Root Cause Analysis) en SQA?

A) Culpar al desarrollador
B) Identificar la causa fundamental de problemas para prevenir recurrencia
C) Acelerar la documentación
D) Reducir el equipo de desarrollo
Respuesta Correcta: B

El Análisis de Raíz busca identificar la causa fundamental de defectos para implementar acciones correctivas que prevengan que vuelva a ocurrir.

Pregunta 13: ¿Qué métricas forman parte de las métricas de PRODUCTO?

A) Tiempo de ciclo del proyecto
B) Rotación de código
C) Densidad de defectos, MTBF, cobertura de código
D) Tasa de cambios solicitadas
Respuesta Correcta: C

Métricas de producto miden características del software entregado: densidad de defectos, MTBF, MTTR, complejidad, cobertura de código, disponibilidad.

Pregunta 14: ¿Cuál es la principal ventaja de TDD (Test-Driven Development)?

A) Reduce la velocidad de desarrollo
B) Escribe pruebas después del código
C) Asegura que todo el código está cubierto por pruebas desde el inicio
D) Elimina la necesidad de revisión de código
Respuesta Correcta: C

TDD escribe pruebas primero (ciclo Red-Green-Refactor), asegurando cobertura completa y código probado desde el inicio del desarrollo.

Pregunta 15: ¿Qué es la cobertura de código (Code Coverage)?

A) La cantidad de comentarios en el código
B) Porcentaje de líneas de código ejecutadas durante pruebas
C) El número de funciones escritas
D) La documentación del código
Respuesta Correcta: B

Code Coverage mide el porcentaje de líneas de código ejecutadas en pruebas. Objetivo: >80% cobertura de líneas, >70% de ramas.

Pregunta 16: ¿Cuál de las siguientes es una actividad principal de SQA?

A) Escribir todo el código del proyecto
B) Revisar y auditar productos y actividades de software contra estándares
C) Diseñar la base de datos del sistema
D) Instalar el software en producción
Respuesta Correcta: B

Actividades clave de SQA: Planificación, Revisión, Auditoría, Reporte y Análisis de Problemas. SQA revisa y audita productos y procesos.

Pregunta 17: ¿Qué parte de ISO 29119 define los procesos de prueba?

A) Parte 1: Conceptos y Definiciones
B) Parte 2: Procesos de Prueba
C) Parte 3: Documentación de Prueba
D) Parte 4: Técnicas de Prueba
Respuesta Correcta: B

ISO/IEC/IEEE 29119-2 define los procesos de prueba: Planificación, Análisis, Diseño, Implementación, Ejecución, Conclusión.

Pregunta 18: ¿Cuál es la importancia de las pruebas ESTÁTICAS tempranas?

A) Requieren servidores de alta potencia
B) Detectan defectos en requisitos y diseño sin ejecutar código
C) Solo se pueden hacer después de la codificación
D) No tienen relación con SQA
Respuesta Correcta: B

Pruebas estáticas tempranas (revisión de requisitos, inspecciones de diseño) detectan problemas sin código ejecutable, aprovechando el principio de Early Testing.

Pregunta 19: ¿Qué significa MTTR en métricas de confiabilidad?

A) Mean Test Time Required
B) Mean Time To Repair – Tiempo medio de reparación
C) Multiple Testing Track Record
D) Minimum Testing Threshold Requirements
Respuesta Correcta: B

MTTR (Mean Time To Repair) mide el tiempo promedio para reparar un defecto tras detectarlo. Menor MTTR = recuperación más rápida.

Pregunta 20: ¿Cuál es el principal requisito de ISO 9001:2015 para desarrollo de software?

A) Usar un solo lenguaje de programación
B) Documentar procesos, seguirlos consistentemente y mejorar continuamente
C) Comprar las herramientas más caras
D) Contratar solo personal con 20+ años de experiencia
Respuesta Correcta: B

ISO 9001:2015 requiere: Documentación clara, cumplimiento consistente, mejora continua, enfoque al cliente y decisiones basadas en datos.

9. Referencias Bibliográficas

Estándares Internacionales de Calidad

  1. ISO/IEC/IEEE 29119:2013. Software and Systems Engineering – Software Testing. Part 1-5
  2. ISO 9001:2015. Quality Management Systems – Requirements
  3. ISO/IEC 27001:2013. Information Security Management Systems
  4. ISO 90003:2022. Software Engineering – Guidelines for the Application of ISO 9001:2015 to Software

Marcos de Referencia (CMMI)

  1. SEI (Software Engineering Institute). CMMI for Development (CMMI-DEV) v1.3
  2. Chrissis, M. B., Konrad, M., & Shrum, S. (2011). CMMI for Development: Guidelines for Process Integration and Product Improvement

Textos sobre SQA y Métricas

  1. Pressman, R. S. (2021). Software Engineering: A Practitioner’s Approach. 9ª edición. McGraw-Hill
  2. Sommerville, I. (2020). Software Engineering. 10ª edición. Addison-Wesley
  3. Kan, S. H. (2002). Metrics and Models in Software Quality Engineering. 2ª edición. Addison-Wesley
  4. Wheeler, D. A., Brykczynski, B., & Meeson, R. N. (1996). Software Inspection: An Industry Best Practice

Pruebas Tempranas y Quality Gates

  1. Tricentis. Early Testing in Software Development: Best Practices
  2. MTP. Early QA: Calidad de Software Desde el Primer Paso
  3. IBM System Science Institute. Software Quality Assurance Economics

Sector Público y SAS

  1. Ministerio de Administraciones Públicas. MÉTRICA Versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información
  2. Junta de Andalucía. Servicio Andaluz de Salud. Políticas de Tecnología de la Información y Estándares de Calidad
  3. Agencia para la Defensa de la Seguridad Informática (CCN-CERT). Guías de Seguridad en Sistemas Sanitarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *