Gherkin tiene fama de ser una herramienta de tester QA, no de Product Owner. Es un error que sale caro: cada vez que una historia pasa a desarrollo sin criterios Gherkin escritos por el PO, es el desarrollador o el tester quien los inventa en su lugar — y rara vez adivinan lo mismo que tú.
Qué es Gherkin, en concreto
Gherkin es un lenguaje estructurado, casi natural, usado para describir el comportamiento esperado de una funcionalidad en forma de escenarios. Se apoya en tres palabras clave: Dado (contexto inicial), Cuando (acción desencadenante), Entonces (resultado esperado).
Característica: Inicio de sesión
Escenario: Inicio de sesión exitoso
Dado que estoy en la página de inicio de sesión
Cuando introduzco un email y una contraseña válidos
Entonces soy redirigido a mi panel de control
Este formato no es exclusivo de un framework de test en particular (Cucumber, Behave, SpecFlow lo usan todos), pero su interés para un PO no es la automatización — es la precisión. Escribir un escenario Gherkin obliga a explicitar un estado, una acción y un resultado, mientras que una frase libre deja esos tres elementos implícitos.
Por qué un PO debe dominar Gherkin, no solo delegarlo
Delegar la escritura de los criterios de aceptación al tester o al desarrollador equivale a delegarles parte de la decisión de producto — porque definir “qué debe pasar cuando X” ES una decisión de producto, no un detalle técnico.
Tres razones concretas para apropiarte de Gherkin:
- Eliminas la ambigüedad en origen. El desarrollador ya no tiene que interpretar tu intención, implementa un escenario escrito negro sobre blanco.
- Aceleras la validación. Un escenario Gherkin se convierte directamente en un caso de prueba — para ti en validación manual, o para el equipo QA en automatizado.
- Estructuras tu propia reflexión. Escribir “Dado / Cuando / Entonces” obliga a pensar en el estado inicial y en los casos límite, algo que una simple user story a menudo omite (ver cómo escribir user stories de calidad con IA para ver cómo se conectan ambos formatos).
La sintaxis básica
Una característica Gherkin agrupa varios escenarios relacionados con una misma funcionalidad:
Característica: [Nombre de la funcionalidad]
Como [rol]
Quiero [acción]
Para [beneficio]
Escenario: [Nombre del escenario]
Dado [estado inicial]
Cuando [acción]
Entonces [resultado esperado]
Y [resultado adicional]
Algunas reglas útiles:
Yencadena varias condiciones del mismo tipo sin repetir Dado/Cuando/EntoncesPeroexpresa una excepción dentro de una serie de resultados esperadosEsquema del escenario+Ejemplospermite factorizar varias variantes del mismo escenario con datos diferentes (útil para testear varios formatos de email inválidos, por ejemplo)
Esquema del escenario: Validación del formato de email
Dado que estoy en el formulario de registro
Cuando introduzco "<email>" como dirección de email
Entonces veo el mensaje "<resultado>"
Ejemplos:
| email | resultado |
| test@ejemplo.com | Registro exitoso |
| test@ | Formato de email inválido |
| sin-arroba.com | Formato de email inválido |
Los 4 tipos de escenarios que hay que conocer
Una funcionalidad bien cubierta no contiene solo el camino feliz. Cuatro categorías a sistematizar:
- Escenario nominal — el camino feliz, el caso más frecuente y esperado.
- Escenario alternativo — una variante válida pero distinta del camino principal (ej: pago por transferencia en vez de tarjeta).
- Escenario de error — una entrada inválida o un fallo técnico (tarjeta rechazada, campo obligatorio vacío).
- Escenario límite — los bordes del sistema: volumen de datos extremo, valores nulos, concurrencia entre dos acciones simultáneas.
Una historia que solo cubre el escenario nominal transmite una falsa impresión de completitud al desarrollador. Es ahí donde suelen nacer los bugs descubiertos en validación, nunca antes.
3 ejemplos de funcionalidades completas
Restablecimiento de contraseña
Característica: Restablecimiento de contraseña
Escenario: Solicitud exitosa
Dado que tengo una cuenta con el email "usuario@ejemplo.com"
Cuando solicito un restablecimiento de contraseña
Entonces recibo un email con un enlace válido 30 minutos
Escenario: Enlace caducado
Dado que recibí un enlace de restablecimiento hace más de 30 minutos
Cuando hago clic en ese enlace
Entonces veo un mensaje invitándome a hacer una nueva solicitud
Escenario: Email desconocido
Dado que ninguna cuenta está asociada a "desconocido@ejemplo.com"
Cuando solicito un restablecimiento para ese email
Entonces veo un mensaje genérico de confirmación
Y ningún email se envía realmente
Añadir al carrito
Característica: Añadir un artículo al carrito
Escenario: Añadir un artículo disponible
Dado que un artículo está en stock
Cuando hago clic en "Añadir al carrito"
Entonces el artículo aparece en mi carrito
Y el contador del carrito se incrementa
Escenario: Artículo agotado
Dado que un artículo está agotado
Cuando consulto su ficha de producto
Entonces el botón "Añadir al carrito" está deshabilitado
Y se muestra un mensaje "Agotado"
Exportación de datos
Característica: Exportación del historial de pedidos
Escenario: Exportación exitosa
Dado que tengo al menos un pedido en mi historial
Cuando hago clic en "Exportar como PDF"
Entonces se genera y descarga un archivo PDF
Y contiene todos mis pedidos de los últimos 12 meses
Escenario: Ningún pedido que exportar
Dado que no tengo ningún pedido en mi historial
Cuando hago clic en "Exportar como PDF"
Entonces el botón está deshabilitado
Y una tooltip explica por qué
Los errores más frecuentes
- Confundir pasos de implementación con comportamiento. “Dado que la base de datos contiene un usuario” es correcto; “Dado que la consulta SQL devuelve un usuario” no lo es — Gherkin describe un comportamiento observable, no una implementación técnica.
- Escenarios demasiado largos. Más de 5-6 líneas Dado/Cuando/Entonces suele ser señal de que hay que dividir en varios escenarios.
- Olvidar los escenarios de error y límite. El reflejo natural es escribir solo el nominal — es precisamente lo contrario lo que evita bugs en producción.
- Reutilizar vocabulario incoherente entre escenarios (“usuario” vs “cliente” vs “miembro” para la misma persona) — esto complica la automatización de tests y confunde la comprensión.
Generación asistida por IA
Escribir manualmente los 4 tipos de escenarios para cada funcionalidad consume tiempo — es precisamente el tipo de tarea donde un agente de IA estructurado ahorra tiempo sin sacrificar rigor. AI Product Copilot genera automáticamente los escenarios nominal, alternativo, de error y límite a partir de una descripción de funcionalidad en lenguaje natural, con exportación directa a Jira o Confluence.
El método que recomiendo: describir la necesidad, dejar que el agente proponga los 4 tipos de escenarios, y luego revisar y ajustar — sobre todo los escenarios límite, que a menudo dependen de un contexto de negocio que solo tú conoces realmente.
Para ir más allá
Gherkin es el puente entre una user story y una especificación verificable — ver cómo escribir user stories de calidad con IA para la parte previa. Y si quieres ir todavía más arriba, antes de escribir la primera historia, Agente de Discovery IA: cómo extraer tus necesidades de producto en 10 minutos explica cómo estructurar esa etapa con IA.
¿Quieres probar la generación de escenarios Gherkin por IA? AI Product Copilot convierte una descripción de funcionalidad en criterios de aceptación completos en minutos.
Stéphanie Caumont
Product Owner de IA · Saber más