BDD a velocidad IA
BDD
Ya hemos hablado en post anteriores que cuando hablamos de BDD nos viene a la mente una “forma de automatizar tests”, pero en realidad Behaviour Driven Development va mucho más allá. Esta práctica de ingeniería comprende técnicas y herramientas que aplicamos desde el momento en que levantamos los requerimientos de nuestro producto (no de nuestro test sino de nuestro producto). Puedes consultar esos post aquí:
- BDD no es solo Gherkin — es conversación entre negocio y técnica (Los 3 amigos) para descubrir requerimientos, evaluar factibilidad, definir criterios de aceptación y hasta detalles de implementación y cómo vamos a probar.
- Gherkin y su implementación: feature files, steps, step definitions.
BDD fomenta (y a su vez, requiere) la máxima colaboración entre todos los involucrados en el proceso/ciclo de desarrollo de un producto/servicio, no va solo de testing y testers.
En este post vamos a ver una introducción rápida de BDD con links a más recursos y vamos a explorar cómo la IA nos puede ayudar en la implementación de cada una de las prácticas de BDD.
Los 3 amigos y Example Mapping
Es una práctica de BDD para descubrir requerimientos en la que participan:
- Product Owner o equipo de producto.
- Desarrollador.
- Tester.
Se usa el Example Mapping para dirigir estas conversaciones. Aquí puedes leer más sobre Example Mapping. Partimos de ejemplos y generamos reglas de negocio.
De Ejemplos a Gherkin
Cuando tenemos nuestros ejemplos, diseñamos nuestro escenario de test. Cada escenario tiene pasos que expresamos en lenguaje Gherkin: Given, When, Then, And, and But.
Gherkin es un lenguaje no técnico que puede ser leído por cualquier persona (como lenguaje natural) y que nos permite expresar comportamientos.
Los pasos más importantes son:
- Given: son las precondiciones para un escenario y preparación del ambiente para ejecutar nuestro test.
- When: la acción a realizar por el usuario (la acción que vamos a testear).
- Then: el resultado esperado. ¿Cuál es la respuesta que esperamos de parte del sistema?
De Gherkin al Código
Cuando tenemos nuestros tests escritos en Gherkin, podemos convertirlos en especificaciones ejecutables (código fuente). De esta forma podemos automatizar nuestros criterios de aceptación.
Para lograr estas especificaciones ejecutables, usamos:
- Feature file
- Page Object Model
- Step definitions
Aquí puedes profundizar acerca de Gherkin en código fuente siguiendo el mismo caso de estudio de este artículo.
Oportunidades de aplicar IA en BDD
Partiendo de que hay de todo en BDD: descubrimiento de requisitos y formulación de criterios de aceptación, y a partir de allí, la creación de pruebas automatizadas, ¿en qué fase, sesión o práctica podríamos aplicar Inteligencia Artificial?
Entre otras cosas, podemos:
- Pedirle a la IA que actúe como cada uno de los 3 amigos (con los roles de dueño de producto, desarrollador y tester).
- Traducir reglas de negocio con sus ejemplos en escenarios de prueba escritos en lenguaje Gherkin.
- Validar Gherkin.
- Escribir las pruebas automatizadas (implementando los steps y step definitions).
Vale la pena destacar que no significa que la IA sustituye el criterio de los 3 amigos sino que se convierte en el cuarto amigo, ayudándonos a descubrir requerimientos y a escribir y validar nuestras pruebas.
Setup
Y ahora sí, manos a la obra. Para desarrollar este ejercicio vamos a usar Claude Code, aunque puedes trasladar estos mismos conceptos, acciones y recursos a cualquier otra herramienta.
Pre-requisitos
- VS Code.
- Claude code. Ver instrucciones de instalación aquí.
- NodeJS.
Instalación Paso a Paso
- Crear una carpeta en la que vamos a trabajar. Ejemplo:
practica-claude-discovery - correr comando
claude - correr comando
instalar webdriverIO - Salir de claude con el comando
exit - Verificar instalación y run de tests corriendo el comando
npm run wdio(creado en el achivo package.json). - Crear skill
discover. Para crear una skills, creamos una subcarpeta dentro de la carpeta.claude. Este skill no lo escribí yo, lo tomé del repositorio cashback-rewards de John Ferguson Smart, referente de BDD, autor de los libros BDD in Action, primera y segunda edición. Es tan simple como descargar esta carpeta y pegar todo el contenido dentro de la carpeta.claude.
Instalación Rápida
También puedes descargar este repositorio creado para este ejercicio (la rama inicial de trabajo es “inicio”) y solo tienes que correr npm install.
Discovery de Requerimientos con IA
Para ese ejemplo usaremos la web: https://practice.expandtesting.com/webpark
WebPark es una calculadora de costos de estacionamiento de aeropuerto. Tiene formulario con fecha/hora de entrada y salida, selector de tipo de estacionamiento, y un botón que calcula el costo.
Los 5 tipos de estacionamiento y sus reglas de negocio
| Tipo | Reglas |
|---|---|
| Valet Parking | 18€/día · 12€ si son 5 horas o menos |
| Short-Term Parking | 2€ primera hora · 1€ cada 1/2 hora adicional · máximo 24€/día |
| Long-Term Garage | 2€/hora · máximo 12€/día · 72€/semana (7° día gratis) |
| Long-Term Surface | 2€/hora · máximo 10€/día · 60€/semana (7° día gratis) |
| Economy Lot | 2€/hora · máximo 9€/día · 54€/semana (7° día gratis) |
De aquí en adelante, mira este video explicativo de cómo usar la Inteligencia Artificial para ayudarnos en el proceso de descubrir requerimientos generando ejemplos, contra-ejemplos, preguntas y reglas que luego vamos a convertir en pruebas Gherkin y en código fuente:

