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

Prueba gratuita

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

Dos números se esconden detrás de una sola tasa de drop-offDos números se esconden detrás de una sola tasa de drop-off
Glosario

Dos números se esconden detrás de una sola tasa de drop-off

Todo embudo produce dos cifras de tasa de drop-off, una por paso y otra de extremo a extremo, y los equipos las citan indistintamente. Una tabla las separa.

9 min de lectura
Las decisiones de configuración detrás de todo análisis de embudosLas decisiones de configuración detrás de todo análisis de embudos
Glosario

Las decisiones de configuración detrás de todo análisis de embudos

Tres ajustes deciden qué reporta el análisis de embudos: la secuencia de pasos, la ventana de conversión y si el embudo cuenta usuarios o sesiones.

10 min de lectura
Qué registra autocapture sin instrumentación manualQué registra autocapture sin instrumentación manual
Glosario

Qué registra autocapture sin instrumentación manual

En la analítica de producto, autocapture registra cada clic, página vista y envío de formulario automáticamente, sin una llamada de tracking escrita a mano.

7 min de lectura
Las cuatro señales de frustración y qué significa cada unaLas cuatro señales de frustración y qué significa cada una
Glosario

Las cuatro señales de frustración y qué significa cada una

Las cuatro señales de frustración son rage clicks, dead clicks, error clicks y thrashed cursors. Cada una salta en un umbral que fija tu herramienta.

8 min de lectura
Cómo funciona el session replay y qué no puede verCómo funciona el session replay y qué no puede ver
Glosario

Cómo funciona el session replay y qué no puede ver

El session replay reconstruye una visita con mutaciones del DOM y eventos de entrada, no con vídeo. Qué captura, qué oculta el enmascaramiento y qué no ve.

9 min de lectura
Estas cifras muestran la tasa de rebote media por industriaEstas cifras muestran la tasa de rebote media por industria
Glosario

Estas cifras muestran la tasa de rebote media por industria

Nueve industrias registradas muestran una tasa de rebote media por industria documentada, entre 35.76% y 48.38%, según datos de Databox de septiembre de 2024.

7 min de lectura

Artículos relacionados