Archivo de la categoría: Gherkin

BDD – No crees steps base

En esta entrada vamos a hablar de una práctica que suele suceder con las herramientas de BDD como Specflow, Cucumber, Behave, etc…. Es común que quienes venimos del testing automatizado Front End intentemos crear abstracciones en nuestro framework de pruebas de integración, generando archivos base para nuestros steps. El problema es que un framework de pruebas de integración no es lo mismo que uno de Pruebas de Interfaz de Usuario, vamos a ver porque no debemos aplicar ese patrón. Seguir leyendo BDD – No crees steps base

Mejorando nuestro framework BDD con Relish

En esta entrada vamos a ver una herramienta muy interesante llamada Relish que nos permite mejorar un poco más nuestro framework BDD, generando no solo documentación viva, sino que también una documentación con estilos y muy presentable que hace que sea mucho mas fácil para los usuarios finales o analistas entender los distintos features que se prueban en la integración y como esta funcionando la aplicación. Seguir leyendo Mejorando nuestro framework BDD con Relish

Behave – BDD para Python

En esta entrada vamos a ver Behave, un framework para pruebas BDD en Python. En una entrada anterior ya habíamos visto Specflow, el cual cumple la misma función, pero para .NET.

¿Que es Behave?

Es BDD al estilo Python, utiliza pruebas escritas en lenguaje natural, respaldadas por código Python. Podemos decir que al igual que muchas otras herramientas BDD, es un clon de Cucumber pero para Python.

¿Como Funciona?

Seguir leyendo Behave – BDD para Python

TDD vs BDD vs ATDD

Un tema que se suele confundir bastante es sobre las distintas DDs que existen actualmente, por eso quería escribir un poco sobre las diferencias entre las mismas.

Primero, las definiciones

TDD (Test Driven Development) Esto significa escribir una prueba que falla porque la funcionalidad especificada no existe, entonces  prosigo con escribir el código más simple que puede hacer pasar la prueba, a continuación, se realiza la refactorización para eliminar la duplicación y el ciclo se repite hasta que la funcionalidad esta lista.

BDD (Behauvior Driven Development) Esto significa crear una especificación/requerimiento ejecutable que falla porque la característica no existe, entonces  prosigo con escribir el código más simple que puede hacer pasar la especificación, a continuación, se realiza la refactorización para eliminar la duplicación y el ciclo se repite hasta que la especificación esta lista.

ATDD (Acceptance Test Driven Development) Esto significa que todo el equipo discute en colaboración criterios de aceptación, con ejemplos, y luego los divide en un conjunto de pruebas de aceptación en concreto antes de que comience el desarrollo. ATDD es mas cercano a un proceso mas que una actividad. Seguir leyendo TDD vs BDD vs ATDD

AntiPatrones en testing de Aceptación Automatizado (ATDD)

En esta entrada vamos a revisar que practicas son nocivas cuando aplicamos ATDD mas alla de la herramienta que usemos.

No usar Page-objects

Ya hablamos del patrón Page-Object en un post anterior. No usar este patrón genera complejidad en el código y no permite escalar las pruebas de una forma que no se vuelva un código inmantenible. En el mismo post hay un ejemplo donde se muestra la diferencia de implementación Con Page-Object y Sin Page-Object

Seguir leyendo AntiPatrones en testing de Aceptación Automatizado (ATDD)

Lenguaje Gherkin

El lenguaje Gherkin define la estructura y una sintaxis básica para la descripción de las pruebas que pueden ser entendidas tanto por los integrantes técnicos del equipo como así también por los Analistas/PO o quien quiera que este como representante del cliente. De esta manera mientras se generan pruebas se esta generando documentación viva que describe perfectamente como se comporta el sistema enriqueciendo y manteniendo la documentación.

El formato fue introducido por la herramienta Cucumber pero también es utilizado por otras herramientas derivadas de Cucumber como Specflow que ya hemos hablado antes en el blog.

Seguir leyendo Lenguaje Gherkin