Lo que no se mide no se mejora. Las métricas de calidad lo ayudan a comprender el estado del software y guiar las decisiones. Esta guía le presenta las métricas más importantes y cómo utilizarlas.
¿Por qué medir la calidad?
Visibilidad
Comprender el estado actual.
Tendencias
¿Mejorando o empeorando?
Decisiones
Basado en datos, no en intuición.
Comunicación
Demostrar calidad a las partes interesadas.
Métricas de código
Cobertura de código
Porcentaje de código cubierto por las pruebas.
Complejidad ciclomática
Complejidad de caminos en el código.
Duplicación
Código repetido.
Deuda Técnica
Estimación de trabajos de limpieza.
Índice de mantenibilidad
Puntuación de facilidad de mantenimiento.
Métricas de errores
Densidad de defectos
Errores por tamaño de código (KLOC).
Tasa de escape de errores
Errores encontrados en producción vs completo.
###MTBF
Tiempo medio entre fallas.
MTTR
Tiempo medio de reparación.
Distribución de gravedad
Proporción por gravedad.
Métricas de prueba
Cobertura de prueba
Unidad, integración, E2E.
Tasa de aprobación de la prueba
Porcentaje que pasa.
Pruebas escamosas
Pruebas inestables.
Tiempo de ejecución de la prueba
¿Cuánto tiempo se ejecutará la suite?
Métricas de proceso
Plazo de entrega
Del compromiso al despliegue.
Tiempo de ciclo
Desde el principio hasta el final de una característica.
Frecuencia de implementación
Cuántas implementaciones por período.
Tasa de errores de cambio
Porcentaje de implementaciones que causan problemas.
Métricas de DORA
¿Qué son?
Métricas de investigación y evaluación de DevOps.
Cuatro métricas
- Frecuencia de implementación
- Plazo de entrega de cambios
- Cambiar la tasa de fracaso
- Es hora de restaurar el servicio
Clasificación
Desempeño élite, alto, medio y bajo.
Revisión de código
Hora de revisar
Cuánto tiempo tardará en revisarse el código.
Revisar la minuciosidad
Comentarios sustantivos.
Tasa de aprobación
Tasa de aprobación.
Métricas de producción
Tiempo de actividad
Disponibilidad del sistema.
Tasa de errores
Tasa de error en producción.
Tiempo de respuesta
Solicitar latencia (p50, p95, p99).
Rendimiento
Solicitudes por segundo.
Satisfacción del usuario
###NPS
Puntuación neta del promotor.
Clasificación de la tienda de aplicaciones
Evaluación en tiendas.
Informes de errores
Volumen de informes de usuarios.
Tickets de soporte
Tickets relacionados con errores.
##Seguridad
Vulnerabilidades
Número y gravedad.
Es hora de parchear
¿Cuánto tiempo para arreglar?
Incidentes de seguridad
Incidentes de seguridad.
Herramientas
SonarQube
Análisis estático, métricas de código.
Codecov/Monos
Seguimiento de cobertura.
DORA/Detective
Métricas de implementación.
Datadog/Nueva Reliquia
Métricas de producción.
Paneles de control
Visibilidad
Métricas accesibles al equipo.
Actualización
En tiempo real cuando sea posible.
###Tendencias
Ver evolución.
Alertas
Notificaciones de anomalías.
Uso de métricas
No gamifiques
Métricas para obtener conocimiento, no castigo.
Contexto
Los números sin contexto engañan.
Tendencias > Absolutos
La dirección importa más que el valor de los puntos.
###Acción
Las métricas que no conducen a la acción son inútiles.
Métricas por fase
Desarrollo
Complejidad, cobertura, tiempo de revisión.
Liberación
Plazo de entrega, frecuencia de implementación.
Producción
Tasa de error, tiempo de actividad, tiempo de respuesta.
Post-lanzamiento
Densidad de defectos, satisfacción del cliente.
Mejora Continua
Línea de base
Establecer punto de partida.
Metas
Establezca objetivos realistas.
Retrospectivas
Discuta las métricas con regularidad.
###Experimentos
Intervenciones de prueba.
Errores comunes
Métricas como objetivo
Cobertura del 100% no significa calidad.
Muchas métricas
Concéntrese en algunos importantes.
Ignorar contexto
Diferentes equipos y proyectos.
Castigo por métricas
Provoca un comportamiento perverso.
Conclusión
Las métricas de calidad son herramientas para comprender y mejorar el software. Elija los adecuados para su contexto, monitoree las tendencias y tome medidas basadas en datos. La calidad es un viaje continuo, no un destino.
##Preguntas frecuentes
1) ¿Qué cobertura es suficiente? 70-80% es un buen objetivo. Pero depende de lo que se pruebe.
2) ¿Qué métricas son las más importantes? Métricas DORA para DevOps. Densidad de defectos y tiempo de actividad para la calidad.
3) ¿Las métricas reemplazan el buen juicio? No. Informan las decisiones, no deciden.
4) ¿Cómo convencer al equipo para que adopte métricas? Mostrar valor. No lo uses para castigar.
5) ¿Las métricas son válidas para un equipo pequeño? Sí. Simplifica, pero mide lo esencial.
Lea también
- Garantía de Calidad Digital: Control de Calidad de Productos de Software
- Métricas de calidad del software: validación y fundamentos
- Métricas de calidad del software: validación y pasos esenciales
- Calidad del software: Guía rápida de rendimiento
- Prueba manual de software: Guía completa
- Calidad del software
