Últimamente me toca leer mucha «feature» en Gherkin, cosas del destino… y encuentro cosas muy raras. Escribir en Gherkin no es algo trivial (aunque pueda parecerlo) y, como consejo general, deberías escribir Gherkin pensando que lo va a a leer alguien que no conoce nada de la funcionalidad del sistema, cosa que no siempre ocurre (me refiero a lo de escribir bien).
No es la primera vez que le dedico un post a Gherkin, hay post en el blog, al menos, desde 2014, y de hecho abajo te dejo unos cuantos por si eres nuevo en el tema (si es así, es mejor que los leas antes que este post, ya que este post supone que ya sabes lo que es Gherkin).
- Gherkin y 10 buenas prácticas a tener en cuenta a la hora de escribir Features (Parte 1)
- Gherkin y 10 buenas prácticas a tener en cuenta a la hora de escribir Features (Parte 2)
- Regalo de Navidad: Gherkin… Una guía de supervivencia ágil (sí, gratis)
- Entendiendo qué es BDD (Behavior-Driven Development) (I)
En el post de hoy sobre Gherkin quería hacer una recopilación de errores frecuentes…
Error 1: Varios When – Then seguidos
En ocasiones me encuentro «ejemplos» en Gherkin extremadamente complejos y retorcidos y una manera típica de escribir esto es concatenando «When – Then» de manera seguida, al así como…
- Given estoy registrado en el sistema
- When elijo…
- Then me aparece…
- When pulso…
- Then me aparece…
En el anterior ejemplo tenemos varios comportamientos juntos, mezclados, y deberías separarlos en comportamientos individuales. Un Then antes de un When suena raro. Crea grupos de comportamientos separados.
Error 2: Escribir los ejemplos en primera persona
Algo del estilo a lo siguiente:
- Given estoy registrado en el sistema
- When elijo…
- Then me aparece…
El problema aquí es que no queda claro el rol que interactúa con la funcionalidad y genera muchas dudas cuando otra persona lo lee (o lo lees tu tiempo después). Por ejemplo, escribe mejor algo así como esto:
- Given el conductor registrado en el sistema
- When el conductor…
- Then al conductor le aparece…
Error 3: Escribir sin seguir aquello de «sujeto – predicado»
Esto que nos contaban de pequeños, de escribir bien y eso, como…
- Given registro en el sistema
- When selección…
- Then aparece imagen
En el anterior ejemplo… ¿la aparición de la imagen realizan una acción o la recibe? Deja claras, y bien escritos, la acciones y los pasos.
Error 4: Tiempos verbales inapropiados
Lo suyo es que el Given esté escrito en presente o en presente perfecto y el When y el Then en presente. Es decir, que no te encuentres cosas como…
- Given el usuario se registra…
- When el usuario eligió…
- Then al usuario le aparecerá…
El «Given el usuario se registra…» expresa una acción, pero el Given debiera establecer el estado inicial, no una acción. Y luego tenemos el «When el usuario eligió…», en pasado, pero el When habla sobre la acción que está ocurriendo ahora. Y luego el Then está en futuro, suena mucho a estar escribiendo de manera procedimental en vez de comportamientos.
Error 5: Utilizar «OR»
Hasta la fecha, que yo sepa, en Gherkin no existe un paso «OR». Existe un «AND» lo cual no implica que exista un «OR». Entonces, cosas como…
- When el usuario pulsa A OR pulsa B…
…no aplican y deberías evitarlas.
Terminando
Si quieres profundizar un poco más en todo esto te dejo algunas referencias que yo he utilizado para complementar este post y que merece la pena leerlas:
- Debes crear apps sin saber programar (no hay que saber nada) + Crea Test con IA + Scrum es el nuevo Excel - 12 septiembre, 2024
- Las 6 técnicas prompting + 1ª Ley del Manager Oscuro + Mantenlo sencillo, estúpido - 5 septiembre, 2024
- Guía de Métricas Ágiles (versión agosto 2024) - 22 agosto, 2024