¿Cómo lidiar con un error que parece haberse solucionado? [cerrado]

16

Soy desarrollador de aplicaciones web para un sistema interno. Un usuario informa que hay un error.

El error fue que algunas palabras no se podían mostrar. El informe contiene una captura de pantalla que muestra claramente el error. Pero el informe tiene casi un mes y el error ya no puede reproducirse en nuestro entorno de producción.

¿Cómo debo responder al cliente y al usuario?

Ben Cheng
fuente
1
Descubre cómo hacerlo repetible.
Wyatt Barnett
2
¿Cuánto tiempo puede permitirse esta investigación? ¿Cuán crítico fue el error y sus efectos negativos? Si las respuestas son muy pequeñas e insignificantes, entonces diría que marcarlo como fijo con una nota de las circunstancias en las que no está realmente solucionado y esperar a que regrese es un uso perfectamente aceptable de los recursos de su empresa.
Newtopian
2
Esto solo requiere una respuesta estándar estándar: " Estimado [usuario], el problema con X que informó sobre el Yth parece haberse resuelto con la última versión de Z. Marque el problema como resuelto si ese es el caso. Si no, por favor envíeme esto de vuelta con detalles sobre cómo lo encontró. "
Lilienthal
1
@Lilienthal El hecho de que un error no se pueda reproducir no significa que se haya resuelto. Ni siquiera sabes que ha habido un nuevo lanzamiento en el último mes.
paparazzo

Respuestas:

32

Revierta su entorno de desarrollo a la versión en la que se detectó el error y verifique que esté allí.

Si está allí, puede investigar el error y asegurarse de que la versión actual no lo tenga. Luego cierre el informe de error con el comentario de que un cambio no relacionado lo solucionó. Agregue una prueba de regresión si es necesario.

Si no puede reproducir el error en esa versión, las estrategias expuestas en muchas otras preguntas aquí serán de utilidad (Gracias Thomas por la lista inicial):

monstruo de trinquete
fuente
2
En mi experiencia, la mayoría de los equipos simplemente marcan la opción "no se puede reproducir" en el sistema de tickets y la cierran. Probar el código "entonces" y "ahora" para asegurarse de que el problema estaba allí y ya no es una solución mejor. Pero también lleva más tiempo que decir "no se puede reproducir" y cerrarlo, por lo que puede no ser una opción para cada error.
Paul J Abernathy
55
Depende de la gravedad del error. Si se trata simplemente de una tontería de diseño, entonces no se podría reprogramar y hacer, pero si pudiera ser más siniestro, unas pocas horas para terminar con una prueba de regresión pueden valer la pena.
Ratchet Freak
2
@ratchetfreak Alternativamente, depende de cuán serio sea este cliente en particular. Si solo están financiando sus cheques de pago, tal vez valga la pena seguirlos ;-)
Cort Ammon - Restablezca a Mónica el
77
Los problemas que desaparecen solos vuelven solos.
Pete Becker
1
Todo es cuestión de carga de trabajo. Si tiene un error que era reproducible hace un mes y ya no lo es, y otro error que es reproducible ahora , entonces primero arregla el que es reproducible. Si alguna vez llegas a un estado en el que estás totalmente aburrido, entonces puedes investigar. Y cuando el problema vuelve por sí solo, entonces, por supuesto, es un error reproducible y comienzas a solucionarlo :-)
gnasher729
2

Voy a suponer que realmente ha hecho todo lo posible para reproducir el error, pero no puede.

En un caso como este, a menudo es mejor agregar algo de código alrededor del área de la aplicación que no pudo registrar el trabajo que se está realizando, de modo que con suerte tendrá más datos para trabajar de nuevo. Piense qué información necesita tener que actualmente no tiene disponible. Por ejemplo, tal vez solo ocurre cuando se envía un conjunto particular de parámetros de entrada y, por lo tanto, los registra cada vez que se ejecuta el proceso. Sin embargo, consulte con su jefe antes de hacer esto, dependiendo de la importancia del error y la frecuencia con la que ocurrió, es posible que no quiera pasar el tiempo para hacer esto.

Luego, va a la persona que informó el error (puede hacer esto en la aplicación de seguimiento de errores si tiene uno, no tiene que ir en persona) y dice que no pudo reproducir el error, pero que ha agregado algunos adicionales iniciar sesión para obtener más detalles de lo que está haciendo el proceso en caso de que vuelva a ocurrir el error. Luego cierra el error.

Si no puede hacer un registro adicional. simplemente informe que el error no era reproducible y que si se encuentran nuevamente, esta es la información que necesitará para reproducirlo y decirles lo que necesita. A menudo les pedimos que nos digan exactamente qué parámetros de entrada estaban poniendo cuando obtuvieron el error. Simplemente tener una captura de pantalla del error ayuda, pero es más útil saber exactamente qué pasos estaban tomando y qué información intentaron usar en el momento en que ocurrió el error. Entonces, básicamente, está recayendo la responsabilidad en ellos para brindarle más información cuando informan el error si ocurre nuevamente.

En tu rastreador de errores, asegúrate de explicar qué pasos intentaste, de modo que si el error vuelve a ocurrir, la persona que lo maneja tendrá algunos antecedentes de lo que se hizo antes.

HLGEM
fuente
1

¡Las bolsas no reproducibles son lo peor! Es posible que se haya solucionado mientras tanto, o todavía puede estar allí, pero es esporádico o los pasos para reproducirse no están suficientemente especificados. Tiene que hacer un juicio sobre cuán alto riesgo es el error y cuánto expandirá al investigarlo. ¿Está haciendo un administrador de recetas en línea o un software de control de dirección para misiles nucleares?

Si se trata de un error de bajo impacto, y sabe que se han realizado cambios que podrían haber provocado que el error se solucione involuntariamente, puede ser aceptable cerrar el error con la nota de que no es reproducible y asume que se ha solucionado .

Si está más preocupado, podría hacer algunas teorías sobre la causa del error en primer lugar, y mirar a través del registro de cambios y el historial de origen para ver si puede detectar dónde se corrigió.

Para un error más grave, tendrá que revertir la fuente hasta el último lanzamiento y luego intentar reproducirla. Si se reproduce con éxito, puede escribir pruebas para asegurarse de que se arregle en confirmaciones posteriores.

JacquesB
fuente