Métricas
Qualidade
Software
Desenvolvimento
Testes
Code Quality

Métricas de calidad del software: guía completa

Métricas de calidad del software: guía completa

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

  1. Frecuencia de implementación
  2. Plazo de entrega de cambios
  3. Cambiar la tasa de fracaso
  4. 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