5 errores típicos escribiendo en Gherkin

Ú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). 

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:

jgarzas

Ph.D. en informática, Postdoctorado en la Carnegie Mellon (EE.UU) e Ingeniero en Informática.

Primera vez que me tocó hacer una gestión Ágil en una empresa... año 2001. Desde entonces he trabajado en, o para, más de 90. Y he formado a más de 2000 alumnos.

También soy profe de la Universidad Rey Juan Carlos.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *