Saltar al contenido principal

Ejemplo Mínimo Reproducible (MRE)

June 27, 2026 ·

glossary programming debugging

En resumen

Un ejemplo mínimo reproducible (MRE) es el fragmento de código y datos más pequeño, completo y ejecutable que reproduce el problema sobre el que preguntas. Mínimo significa que eliminaste todo lo que no tiene relación; reproducible significa que cualquiera que lo ejecute ve el mismo error. Es la forma más rápida de obtener una respuesta útil.

También conocido como reprex MCVE MWE SSCCE

Un ejemplo mínimo reproducible es el equivalente en código a mostrarle a un mecánico la única pieza que vibra en vez de entregarle todo el coche. Eliminas todo lo que no es necesario para provocar el problema y luego confirmas que lo que queda sigue fallando cuando otra persona lo ejecuta. Acierta en esas dos cosas – mínimo y reproducible – y la mayoría de las preguntas se responden solas.

La misma idea, cuatro nombres

Verás el concepto bajo distintas siglas según la comunidad. Todas significan lo mismo:

  • reprex – común en el mundo de R y el tidyverse (del paquete reprex).
  • MCVE – Minimal, Complete, and Verifiable Example (ejemplo mínimo, completo y verificable), el término que popularizó Stack Overflow.
  • MWE – Minimal Working Example (ejemplo mínimo funcional), muy usado en los círculos de LaTeX y TeX.
  • SSCCE – Short, Self-Contained, Correct (Compilable) Example (ejemplo corto, autocontenido y correcto/compilable), de larga tradición en la comunidad de Java.

Si alguien te pide cualquiera de estos, quiere lo mismo: el fragmento ejecutable más corto que muestre el error.

Antes

Mi canal de datos se sigue cayendo. Aquí están las 600 líneas de mi script. Ayer funcionaba. ¿Qué está mal?

Nadie puede ejecutar 600 líneas atadas a datos y credenciales que no tiene. No hay forma de ver el fallo, así que no hay forma de ayudar.

Después

Este script de 12 líneas reproduce el fallo en Python 3.12. Construye un DataFrame de 3 filas en línea (sin archivo externo) y lanza KeyError: 'price' en la última línea. Esperaba que imprimiera el total. ¿Qué se me escapa?

import pandas as pd
df = pd.DataFrame({"item": ["a", "b", "c"], "cost": [1, 2, 3]})
print(df["price"].sum())  # KeyError here

Ahora cualquiera puede pegarlo, ejecutarlo y ver el error exacto en segundos. La solución (la columna es cost, no price) es obvia en el momento en que el ejemplo se puede ejecutar.

Cómo crear uno

  1. Empieza de cero. Copia tu código que falla en un archivo nuevo y vacío.
  2. Elimina todo lo que no tenga relación hasta que quitar una línea más haría desaparecer el error.
  3. Incrusta los datos. Reemplaza archivos, bases de datos y secretos por unas pocas filas escritas a mano.
  4. Ejecútalo tú mismo en un entorno limpio para confirmar que sigue fallando de la misma manera.
  5. Indica el comportamiento esperado frente al real y tus versiones.

Cuando estés reportando un error en vez de hacer una pregunta de tipo “cómo se hace”, coloca tu MRE directamente en la plantilla de reporte de errores – los campos “Pasos para reproducir” y “Entorno” están hechos justo para esto.

Para el recorrido completo sobre preguntas técnicas, consulta nuestra guía sobre cómo hacer buenas preguntas en Stack Overflow.

Enviar Comentario