¿Qué es ATDD (Acceptance Test Driven Development)?

| Última modificación: 17 de mayo de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Saber qué es ATDD o Acceptance Test Driven Development puede ser un gran punto de inicio si quieres implementar nuevas herramientas en tus procesos de desarrollo. En este caso, sirve para comprobar si la metodología de los test que integres en tus programas se está aplicando de la manera correcta y si se está haciendo lo que realmente se necesita o se debe hacer.

¿Qué es ATDD?

El ATDD o Acceptance Test Driven Development es una de las prácticas que se han empezado a implementar y perfeccionar en el desarrollo de proyectos que incluyen las comprobaciones o los testings en su metodología. El ATDD, en este caso, se entiende de forma más cercana a un proceso que a una actividad.

A su vez, también se puede relacionar con otras aproximaciones relacionadas con otras metodologías para test, como el BDD (Behavior Driven Development) o TDD (Test Driven Development) (es más cercana a la primera práctica).

El proceso del ATDD o Acceptance Test Driven Development aporta en la creación de criterios de aceptación, que se ponen en común y se ejecutan en el ciclo de desarrollo. También se hace una demo y se discute el resultado. Una vez allí, vamos a debatir sobre los ciclos de aceptación y veremos si necesitan transformarse.

El objetivo principal del Acceptance Test Driven Development (ATDD) es buscar que lo que se está realizando se haga de forma correcta, teniendo en cuenta que eso es justo lo que se debería estar llevando a cabo.

A continuación, podemos ver un diagrama que representa todas las variables y las etapas que encontramos en el ciclo del ATDD o Acceptance Test Driven Development. Estas nos dicen en qué pasó estamos, qué debemos hacer y cómo este ciclo se asemeja al que va formado el ciclo de TDD.

Las etapas que conforman el ATDD son: Discuss, Distill, Develop, Demo y Discuss. Una vez llega el último punto, y si aún hay cosas por solucionar, vuelve empezar, de forma iterativa. Esto sucede hasta que llegamos a un punto de inflexión, donde todo se ha solucionado.

¿Qué es ATDD (Acceptance Test Driven Development)?

Ventajas de Acceptance Test Driven Development

Como cualquier otra metodología o herramienta que se incluya para realizar testeos y desarrollar programas de código, es importante conocer las ventajas de ATDD (Acceptance Test Driven Development). Estas nos ayudarán a alcanzar nuestros objetivos.

Así pues, algunas de las ventajas de ATDD que tienes que tener en cuenta antes de embarcarte en este mundo son:

  • No tendremos que trabajar en funciones que finalmente no se van a utilizar. Es decir, no tenemos que aportar ningún esfuerzo extra o cualquier otro gasto de tiempo ni de dinero en procesos innecesarios.
  • Por otro lado, gracias a las ventajas de ATDD, vamos a poder forjar un código listo para cambiar si es necesario, ya que el diseño de ATDD no está limitado por una interfaz de usuario cualquiera o por un diseño de base de datos específico. Por lo tanto, se considera que el trabajo con ATDD es bastante flexible y efectivo para los cambios de cualquier tipo.
  • Mientras estamos evaluando los criterios de aceptación que pasa o no pasan, podremos comprobar muy rápido si se están cumpliendo los objetivos de un proceso o no. Si no pasa, es que no estamos implementando el programa y la metodología de la forma correcta.
  • De la mano de la anterior ventaja, gracias al uso del ejercicio de ATDD podemos conocer en qué punto estamos de la metodología y cómo se progresa a partir de ella.
  • Por último, el project manager estará todo el tiempo al tanto de lo que estamos realizando. El PM o product owner podrá revisar los test o comprobaciones de aceptación y ver en qué momento se están cumpliendo. Esto derivará en una confianza mayor por parte del owner en el equipo de desarrolladores. En general, es una métrica cualtiativa que nos dice si las cosas están funcionando o no.

Otras aproximaciones

Ahora que sabes qué es ATDD, podemos hablar sobre el resto de las metodologías. Dentro de las metodologías de un proyecto de código y los testeos que se realizan, con herramientas como Jest, también hay otras aproximaciones que tienen mucho que ver con el ATDD. Esto se debe a que todas están acompañadas o configuradas a partir de ciclos y, en cada etapa, los desarrolladores o expertos se enfocan en solucionar cada una de las necesidades.

Algunas de las aproximaciones importantes que nos ayudaría a alcanzar los mismos objetivos que queremos con este son: TDD (Test Driven Development) y BDD (Behavior Driven Development).

  • El TDD es una metodología que se enfoca en los test y en las fallas que pueden tener esos test. El ciclo del Test Driven Development lo componen tres estados: red, green y refact. En el primero se realiza un test que puede tener un grupo de fallas, después se hace todo lo posible para que el test pase y, por último, se refactoriza la porción del código.
  • Mientras tanto, el BDD es una metodología que se encarga de entablar la comunicación entre la parte técnica y de negocios de un solo proyecto. Es por eso que las etapas, como issue tracker, aparecen cuando queremos ejecutar nuestros programas con esta metodología

Ya que has terminado de leer este post acerca de qué es ATDD (Acceptance Test Driven Development) y has podido explorar otras aproximaciones, como BDD y TDD, es la hora de incluir todo lo que te resulte útil en tus proyectos.

¿Quieres aprender más? ¡Entra ya en nuestra formación intensiva en Desarrollo Web Full Stack Bootcamp! Un lugar que te permitirá crecer profesionalmente, mientras cuentas con la guía de expertos en la materia para aprender a nivel teórico y práctico. ¡Pide información y cambia tu vida en pocos meses!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado