¿Cuáles son algunas métricas estándar para rastrear la cantidad de errores en la base de código de un producto?

Hacemos responsables a los miembros del equipo de desarrollo senior de varias métricas que nuestra herramienta de seguimiento de errores: Raygun puede rastrear automáticamente:

  1. Usuarios afectados por errores: Francamente, los recuentos de errores son direcciones erróneas. Si tiene 10,000 errores que afectan a un cliente, no es tan malo como 500 errores que afectan a 250 clientes. Mida a los clientes afectados mensualmente, con el objetivo de reducir
  2. Tiempo medio de respuesta de la aplicación: Olvídese de los promedios, mienten. El tiempo medio de respuesta es lo que experimenta el 50% de sus clientes (o más rápido). Haga un seguimiento de eso y responsabilice al equipo por lograr un tiempo o mejor. El rendimiento hace dinero.
  3. P99 Tiempo de respuesta de la aplicación: las medianas son excelentes, pero también debemos apreciar el límite superior. Elegimos rastrear el P99, el tiempo que lleva el percentil 99 de usuarios. Esto normalmente será lento, pero queremos asegurarnos de que tenga más de 5 segundos de retraso, no 25 segundos de retraso. A menudo no rastreamos P100, ya que es el dominio de los tiempos de espera totales, los robots defectuosos que mantienen abiertas las conexiones y generalmente es engañoso sobre los usuarios reales
  4. Errores resueltos> = Nuevos errores: las plataformas como Raygun agruparán los errores por su causa raíz. Esto facilita la gestión del recuento de errores, no el recuento de fallos (instancias de un error encontrado). El equipo debe corregir los errores al menos tan rápido como los está creando (en un proyecto de campos marrones, idealmente resuelve más de lo que se crea)

Estas cuatro métricas harán que su software se destaque como el mejor de su clase. Obligará a sus equipos de software a:

  • Mejora la experiencia del usuario con menos accidentes
  • Mejore las experiencias de los usuarios con un software más rápido.
  • Reducir la acumulación de deuda técnica. No solucionará todas las deudas técnicas, pero el software rápido y libre de errores es casi siempre mejor para trabajar que el software lento con errores.

Muchos equipos ven los recuentos de errores totales en base a la cantidad de errores reportados por los usuarios y cargados manualmente en un rastreador de errores. Pero esto probablemente subestima la cantidad de problemas que sus usuarios están experimentando en 100x. Realmente necesita una herramienta para hacer el trabajo pesado por usted y brindarle informes precisos.

Para no ser reportado a Quora como no receptivo, daré una respuesta superficial antes de pasar a mi punto: la métrica principal es la cantidad de errores por líneas de código. Por lo general, esto se califica como el número de errores que pasaron las pruebas del programador / unidad, así como el control de calidad, pero se descubrió más tarde (generalmente por el cliente). En este caso, generalmente aterriza en aproximadamente 1 error por 1k loc.

Sin embargo, esta no es realmente una métrica muy útil. ¿Por qué? Hay casi demasiadas objeciones para enumerar. Algunos de los más obvios son:

  • Los errores no son iguales. Algunos son intermitentes, algunos son repetibles. Algunos son serios, algunos son casi triviales. Algunos ocurren en operaciones frecuentes, algunos en circunstancias raras.
  • Loc es una medida cuestionable, por lo que los errores / loc también deben ser cuestionables.
  • Dependiendo de lo que ocurra más allá del control de calidad, puede haber muchos errores que no se descubren en absoluto, los programadores que tienen clientes fáciles serán juzgados como “de mayor calidad” que aquellos que tienen clientes exigentes sin ninguna razón real.
  • ¿Qué es “un error”? Con mucha frecuencia obtienes muchos informes de errores sobre el mismo error. En algunos casos, estos son claramente duplicados. Sin embargo, un solo error puede causar una serie de errores aparentemente diferentes dadas las circunstancias adecuadas. No es fácil contar esto de manera justa.