Archivo de la categoría: BDD

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

Anuncios

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

Testeo de APIs (API Testing)

Cuando hablábamos de la pirámide de testing automatizado nombramos el nivel medio o de pruebas de servicios, de ese  nivel vamos a hablar, testeando APIs.

API vs RestAPI

API (Application Programming Interface) es un conjunto de funciones y procedimientos de software, denominado llamadas a la API, que puede ser ejecutado por otras aplicaciones de software. Permite que una pieza de software pueda comunicarse con otro componente utilizando un formato acordado de pedido y de respuesta.

RestAPI (Representational State Transfer API) es un conjunto coordinado de restricciones aplicadas al diseño de componentes  de una API distribuida que puede conducir a una arquitectura más performante y mantenible. También pueden ser RESTful API, la cual tipicamente lleva adelante toda la comunicación mediante HTTP.

Pueden profundizar los conceptos aquí para conocer mas del tema.

¿Como se testea una API?

Seguir leyendo Testeo de APIs (API Testing)

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

Problemas mas comunes en BDD

Siguiendo con la temática del anterior post, en esta entrada vamos a repasar algunos de los problemas más comunes que nos podemos encontrar trabajando con BDD.

Escenarios (Scenarios) que fallan en forma aleatoria u ocasional

Es cuando los Escenarios que ayer pasaban perfectamente hoy están fallando, corriendo contra el mismo código, en el mismo ambiente. Estos problemas causan que el equipo pierda confianza en las pruebas, en el código y en ellos mismos. Seguir leyendo Problemas mas comunes en BDD