Glosario

Por qué los pasos para reproducir deciden si un bug se arregla

Taras Shynkarenko
Taras Shynkarenko
•Actualizado: •7 min de lectura
Por qué los pasos para reproducir deciden si un bug se arreglaPor qué los pasos para reproducir deciden si un bug se arregla

TL;DR, Respuesta rápida

7 min de lectura

Los pasos para reproducir son las acciones numeradas, el estado inicial y las entradas que permiten a una segunda persona provocar el mismo bug que encontró la primera. Un conjunto completo nombra las precondiciones, los clics o entradas exactos en orden, el resultado esperado, el resultado real y el entorno. Si falta alguno de ellos, un ingeniero no puede reproducir el bug o reproduce uno distinto, por lo que "en mi máquina funciona" es una precondición faltante, no un misterio.

¿Qué son los pasos para reproducir en un reporte de bug?

Un reporte de bug se gana la etiqueta de reproducible cuando sus pasos para reproducir enumeran las acciones numeradas exactas, el estado inicial y las entradas necesarias para provocar el fallo de nuevo. Cualquiera que lea la lista, no solo la persona que encontró el bug, debería poder seguirla y llegar al mismo error. Escribe los pasos como un guion corto para que otra persona lo ejecute, no como un resumen de lo que pasó, o adjunta un session replay para que el guion se escriba solo a partir de la grabación.

¿Qué contiene una sección completa de pasos para reproducir?

Una sección completa nombra cinco cosas: las precondiciones, las acciones numeradas, el resultado esperado, el resultado real y el entorno. Si falta alguna de ellas, un bug reproducible se convierte en una suposición, porque un ingeniero sin el estado inicial tiene que reconstruirlo antes de poder siquiera intentar los pasos. Ese mismo detalle también decide la severidad frente a la prioridad, porque quien evalúa sin una reproducción completa adivina tanto el daño como la urgencia.

CampoQué respondeEjemplo
PrecondicionesQué estado debe existir antes del paso 1Con sesión iniciada, carrito con 2 artículos, cupón aplicado
Pasos numeradosQué hacer clic, escribir o enviar, en orden1. Abrir el checkout 2. Hacer clic en "Aplicar tarjeta de regalo" 3. Ingresar un código de 20 dígitos
Resultado esperadoQué debería pasarMensaje de error: "Código inválido"
Resultado realQué pasa en su lugarLa página queda en blanco, sin error mostrado
EntornoDónde ocurreChrome 128, macOS 15, staging

Una persona hace clic en una aplicación web desde su escritorio, el tipo de sesión que un reporte de bug debe describir paso a paso.

¿Por qué importan las precondiciones antes de los pasos numerados?

Las precondiciones importan porque la misma secuencia de clics produce resultados distintos según el estado en el que empezó el usuario. "Hacer clic en checkout" se comporta de una forma con un carrito vacío y de otra con un cupón ya aplicado, así que una lista de pasos sin precondiciones le da al ingeniero las acciones pero no el punto de partida. Indica el tipo de cuenta, los datos ya presentes en el sistema y cualquier acción previa tomada en la misma sesión antes del paso uno.

¿Cómo se debe escribir el comportamiento esperado frente al real?

El comportamiento esperado y el real van en líneas separadas, cada una con un resultado concreto en lugar de una sensación sobre el bug. Escribe el resultado esperado como lo que la interfaz debería mostrar, y el resultado real como exactamente lo que apareció en su lugar, incluyendo el texto de error, una pantalla en blanco o un valor incorrecto. "La página se ve rota" no reproduce nada; "se esperaba el mensaje 'Código inválido', apareció una pantalla blanca en blanco sin salida en la consola" le da al ingeniero un objetivo concreto para comparar.

¿Qué detalles del entorno deben ir en un reporte de bug?

Los detalles del entorno cubren el navegador y su versión, el sistema operativo, el tamaño de pantalla, las condiciones de red y si el bug ocurrió en producción, staging o una build local. Un bug de diseño ligado al manejo de flexbox de Safari o un bug de tiempos ligado a una conexión lenta desaparece en cuanto alguien lo prueba en otro entorno, así que la línea de entorno convierte un "no puedo reproducir esto" en un "probé el navegador equivocado."

Dos desarrolladores comparan notas frente a un portátil, el tipo de revisión conjunta que detecta un entorno distinto.

¿Por qué pasa lo de "en mi máquina funciona"?

"En mi máquina funciona" pasa cuando quien reporta y quien desarrolla están usando en silencio precondiciones o entornos distintos, no porque el bug sea falso. Un feature flag activado en una cuenta y desactivado en otra, una caché desactualizada, un ancho de pantalla distinto o una extensión del navegador que bloquea un script reproducen el fallo para una persona y lo esconden de la siguiente. Trata la frase como un campo faltante en el reporte, y vuelve atrás para completar el entorno y las precondiciones en lugar de cerrar el ticket.

Mismo bug, otra máquina
Feature flagActivado para una cuenta, desactivado para otra
Caché desactualizadaSirve una versión antigua a una sola persona
Ancho de pantallaUn viewport distinto muestra un diseño distinto
Extensión del navegadorBloquea un script antes de que se ejecute
Si alguno de estos difiere entre quien reporta y quien reproduce, el mismo bug desaparece para uno de los dos.

¿Cómo acorta el session replay la escritura de los pasos para reproducir?

El session replay acorta la redacción porque la grabación ya contiene cada clic, entrada y estado de página que un reporte manual tendría que describir a mano. Flowsery adjunta la grabación y los pasos para reproducir a cada issue y reporte de bug automáticamente en cuanto llega a Slack, Linear o Jira, así que un ingeniero ve la secuencia exacta en lugar de confiar en el recuerdo que tiene un usuario de lo que hizo clic. Los rage clicks y dead clicks marcan el momento en que el usuario topó con el fallo, lo que elimina la incertidumbre sobre dónde buscar en el flujo, y etiquetar a @flowsery en el mismo hilo de Slack abre un borrador de pull request en cuanto la solución está clara.

Escribir un reporte que otra persona pueda reproducir
1
Indica las precondiciones. Estado de la cuenta, datos existentes y cualquier acción previa en la sesión.
2
Numera cada acción. Un clic, toque o entrada por línea, en el orden en que se realizó.
3
Separa lo esperado de lo real. Dos líneas concretas, no un párrafo sobre cómo se sintió.
4
Registra el entorno. Navegador, sistema operativo, tamaño de pantalla y si era producción o staging.
Cuatro campos que convierten una descripción de bug en pasos para reproducir.

Preguntas frecuentes

¿Qué hace que los pasos para reproducir sean buenos en lugar de vagos?

Los buenos pasos para reproducir están numerados, parten de una precondición declarada y terminan con un resultado esperado declarado junto al resultado real. Un reporte vago describe una sensación ("el checkout está roto"); uno bueno enumera cinco clics, lo que debería haber aparecido y lo que apareció en su lugar.

¿Cuál es la diferencia entre los pasos para reproducir y una descripción del bug?

Una descripción del bug explica en prosa qué salió mal, mientras que los pasos para reproducir son un guion que otra persona puede ejecutar para ver el mismo fallo. Un reporte puede tener una descripción clara y aun así ser irreproducible si se salta las acciones numeradas o el estado inicial.

¿Por qué un ingeniero no puede reproducir un bug que reporta un cliente?

Un ingeniero suele no poder reproducir un bug reportado porque al reporte le falta una precondición o un detalle del entorno, como un estado de cuenta, una versión de navegador o un feature flag que difiere entre los dos entornos. El bug es real; el reporte está incompleto.

¿Qué debe incluir la sección de entorno de un reporte de bug?

La sección de entorno debe nombrar el navegador y su versión, el sistema operativo, el tamaño de pantalla, las condiciones de red y si el bug ocurrió en producción, staging o local. Cualquiera de estos puede cambiar si un bug aparece o no.

¿Cuántos pasos debe tener una reproducción?

Una reproducción debe tener tantos pasos numerados como acciones distintas haya realizado el usuario antes del fallo, ni más ni menos. Combinar dos acciones en un solo paso, o rellenar la lista con pasos que no afectan el resultado, hace el reporte más difícil de seguir, no más fácil.

¿El session replay reemplaza los pasos para reproducir escritos?

El session replay reemplaza la necesidad de escribir las acciones numeradas a mano, ya que la grabación muestra los clics, entradas y estados de página exactos en orden. El entorno y las precondiciones se siguen adjuntando automáticamente con la grabación, así que el ingeniero abre un solo issue en lugar de pedirle a quien reportó los detalles que faltan.

Flowsery
Flowsery

Empieza tu prueba gratis de 14 días

Panel en tiempo real

Seguimiento de objetivos

Rastreo sin cookies

¿Por qué "la página se ve rota" no cuenta como reporte de bug?

"La página se ve rota" describe una sensación, no un resultado, así que no le da al ingeniero nada con qué comparar. Un reporte necesita dos líneas separadas: qué debía mostrar la interfaz y qué apareció en realidad, incluyendo el texto del error o una pantalla en blanco. Compáralo con "se esperaba el mensaje 'Invalid code' y apareció una pantalla en blanco sin salida en la consola", que señala exactamente qué revisar.

¿Cómo afectan los pasos para reproducir a la severidad y la prioridad?

Quien evalúa un bug sin pasos de reproducción completos tiene que adivinar tanto el daño que causa como la urgencia de arreglarlo. Las precondiciones, los pasos numerados, el resultado esperado, el resultado real y el entorno le dicen juntos a quien clasifica el bug qué se rompe realmente y para quién. Si falta alguno de esos campos, la severidad y la prioridad pasan de ser decisiones a ser estimaciones.

¿Qué aportan los rage clicks y los dead clicks a un reporte de bug?

Los rage clicks y los dead clicks marcan el momento exacto en que el usuario topó con el fallo dentro del session replay. Esa marca de tiempo elimina la búsqueda a ciegas de dónde empezar dentro de una sesión grabada. Junto con los pasos para reproducir adjuntos automáticamente, el ingeniero va directo al fallo en vez de revisar toda la sesión.

¿A qué herramientas adjunta Flowsery los pasos para reproducir automáticamente?

Flowsery adjunta el session replay y los pasos para reproducir a cada issue automáticamente en cuanto llega a Slack, Linear o Jira. El ingeniero ve entonces la secuencia exacta de clics e inputs en lugar de depender de la memoria de quien reportó el bug. Etiquetar a @flowsery en el mismo hilo de Slack también puede abrir un borrador de pull request una vez que la solución está clara.

¿Te resultó útil este artículo?

¡Cuéntanos qué opinas!

Vernos más en Google

Un clic marca Flowsery como fuente preferida y nuestros artículos aparecen más arriba en tus Noticias destacadas, el modo IA y los resúmenes con IA.

Antes de irte...

Flowsery

Flowsery

Analítica orientada a ingresos para tu sitio web

Rastrea cada visitante, fuente y conversión en tiempo real. Simple, potente y sin cookies.

Panel en tiempo real

Seguimiento de objetivos

Rastreo sin cookies

Términos relacionados del glosario

La plantilla de reporte de bugs que ningún revisor rechazaLa plantilla de reporte de bugs que ningún revisor rechaza
Glosario

La plantilla de reporte de bugs que ningún revisor rechaza

Una plantilla de reporte de bugs nombra cada campo que un revisor espera, desde pasos para reproducir hasta gravedad, o el ticket incompleto se rechaza.

•8 min de lectura
Qué exige de verdad el RGPD en session replayQué exige de verdad el RGPD en session replay
Glosario

Qué exige de verdad el RGPD en session replay

Revisar el RGPD en session replay depende de cuatro cosas: base legal del artículo 6, datos del artículo 9, consentimiento ePrivacy 5(3) y una EIPD.

•10 min de lectura
En qué se diferencian de verdad rage clicks vs dead clicksEn qué se diferencian de verdad rage clicks vs dead clicks
Glosario

En qué se diferencian de verdad rage clicks vs dead clicks

La distinción rage clicks vs dead clicks va de causa, no de gravedad. Umbrales publicados por PostHog, Hotjar, FullStory, LogRocket y Clarity.

•9 min de lectura
Dónde los valores por defecto de la redacción de PII en session replay dejan datos expuestosDónde los valores por defecto de la redacción de PII en session replay dejan datos expuestos
Glosario

Dónde los valores por defecto de la redacción de PII en session replay dejan datos expuestos

Los valores por defecto de la redacción de PII en session replay varían: rrweb solo enmascara contraseñas, Sentry todo el texto, Clarity números y correos.

•10 min de lectura
¿Cuánto ralentiza el session replay la velocidad de un sitio web?¿Cuánto ralentiza el session replay la velocidad de un sitio web?
Glosario

¿Cuánto ralentiza el session replay la velocidad de un sitio web?

La respuesta real a si el session replay ralentiza un sitio web, con cifras publicadas de rrweb y Sentry sobre script, CPU y ancho de banda de subida.

•9 min de lectura
Lo que una demanda de escuchas por session replay tiene que probar ante un tribunalLo que una demanda de escuchas por session replay tiene que probar ante un tribunal
Glosario

Lo que una demanda de escuchas por session replay tiene que probar ante un tribunal

Toda demanda de escuchas por session replay se apoya en CIPA 631, la WESCA de Pensilvania o la Wiretap Act federal. Qué alegan los demandantes y qué fallaron.

•10 min de lectura

Artículos relacionados