Presentación utilizada en charla introductoria a ATDD.
Paulo Clavijo 2013
Size: 542.43 KB
Language: es
Added: Jun 04, 2013
Slides: 21 pages
Slide Content
ATDD
Desarrollo Dirigido por Tests de Aceptación
Paulo Clavijo Esteban - Marzo 2013
Agenda
●Specification by Example
●ATDD
●Cucumber
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Specification by Example
"Desarrollar sin pruebas unitarias
automatizadas y sin pruebas de aceptación
es simplemente, construir código legado
desde el momento cero!"
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Specification by Example
●Los test unitarios aseguran que la aplicación
se ha construido correctamente.
●Los test de aceptación aseguran que se ha
desarrollado la funcionalidad esperada.
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Specification by Example
Los requerimientos son tests
Los tests son requerimientos
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Specification by Example
●Diferentes modelos:
●BDD - Behavior Driven Development
(Desarrollo Guiado por el Comportamiento)
●ATDD - Acceptance Test Driven Development
(Desarrollo Guiado por pruebas de aceptación)
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
ATDD
"Acceptance Test Driven Development (ATDD) is a practice in which the
whole team collaboratively discusses acceptance criteria, with examples,
and then distills them into a set of concrete acceptance tests before
development begins. It’s the best way I know to ensure that we all have
the same shared understanding of what it is we’re actually building. It’s
also the best way I know to ensure we have a shared definition of Done.
Obviously I think this is an important Agile development practice. In fact,
it’s one of the core pieces of my Agile Testing class. Yet somehow I have
neglected to write about it much on this blog. Time to rectify that."
Elisabeth Hendrickson.
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
ATDD
●TDD y ATDD no son técnicas de test son
herramientas de diseño para escribir código
limpio, código que hace lo esperado por el
cliente, etc.
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
ATDD
Las pruebas de aceptación son escritas ANTES de la funcionalidad. Siguiendo
los siguientes pasos:
●Tome una historia de usuario
●Escriba las pruebas de aceptación en el lenguaje de dominio del cliente
●Automatice las pruebas de aceptación
●Implemente la funcionalidad.
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Beneficios de ATDD
●Ejemplos reales y un lenguaje común para entender el
dominio.
●Permite identificar correctamente las reglas de negocio.
●Los flujos de trabajo funcionan desde el primer momento.
●Criterio visible para dar por finalizadas las historias de
usuario.
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Beneficios de ATDD
●No implementamos nada hasta tener definidos los tests.
Se reduce el tiempo perdido reprogramando.
●Living Documentation: Documentación y test de
aceptación siempre actualizados.
●Validación automática.
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Quién
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Especificaciones ejecutables
●JUnit, Selenium, etc.
(Lenguaje entendido solo por desarrolladores)
●Aceptance Test Framework
○Cucumber
○Concordion
○Fitnesee
○Robot Framework
Cucumber - Features
●Feature (Historia de Usuario)
○Como
○Quiero
○Para
●Escenario 1
○step
○step
●Escenario 2
○step
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Cucumber - Steps
●Given, Dado un contexto inicial
●When, Cuando un evento se produce
●Then, Entonces asegure algunos
resultados.
Introducción ATDD
Paulo Clavijo Esteban - Marzo 2013
Cucumber - Ejemplo
Feature: Adición
Para evitar hacer errores tontos
Como un matemático idiota
Quiero saber la suma de los números
Scenario: Sumar dos números
Dado que he introducido <entrada_1> en la calculadora
Y que he introducido <entrada_2> en la calculadora
Cuando pulso el <botón>
Entonces el resultado debe ser <resultado> en la pantalla