Diferencia entre revisiones de «Acceptance Test Driven Development»

De Dos Ideas.
Saltar a: navegación, buscar
(Página creada con 'Desarrollo guiado por pruebas de aceptación, o Acceptance Test Driven Development (ATDD) es una técnica de Desarrollo Agil De Software que se basa en escribir las pruebas ...')
 
(ZxzuzTHixLlj)
 
(No se muestran 6 ediciones intermedias de otro usuario)
Línea 1: Línea 1:
Desarrollo guiado por pruebas de aceptación, o Acceptance Test Driven Development (ATDD) es una técnica de [[Desarrollo Agil De Software]] que se basa en escribir las pruebas de aceptación antes que el desarrollo, y en la automatización de las mismas.
+
Fell out of bed feleing down. This has brightened my day!
 
 
Cómo en [[TDD]], Acceptance Test Driven Development tambipen involucra escribir las pruebas antes que el código, y éstas pruebas representan las expectativas del comportamiento que el software debe tener. En ATDD el equipo crea una o más pruebas de nivel de aceptación para una característica antes de empezar a trabajar en ésta. Típicamente éstas pruebas son discutidos y capturados cuando el equipo está trabajando con los interesados del negocio (dueño del producto, cliente) para entender una historia en el backlog.
 
 
 
Cuando las pruebas son capturadas en un formato soportado por alguna herramienta o framework de automatización de test funcional, los desarrolladores pueden automatizar éstos tests escribiendo el código que soporte (fixtures) como se implementa la funcionalidad. Las pruebas de aceptación entonces se convierten como requerimientos ejecutables.
 
 
 
Esto provee feedback sobre cuan cerca está el equipo de "terminar", dando una clara indicación del progreso hacia la meta.
 
 
 
El acto de definir pruebas de aceptación mientras se discuten los requerimientos resulta en un mayor entendimiento. Las pruebas de ATDD fuerzan a llegar a un acuerdo concreto acerca del comportamiento exacto que el software debe exhibir.
 
 
 
Automatizar las pruebas a la vez que se implementa funcionalidad resulta en un software en general más testeable, dónde es relativamente fácil agregar más pruebas automatizadas adicionales. Además las pruebas de regresión automatizadas resultantes proveen un valioso feedback inmediato acerca de las expectativas de cara al negocio.
 
 
 
== Ciclo de desarollo ATDD ==
 
 
 
# '''Discusión'''. Desarrolladores, testers, expertos de dominio y el dueño de producto se juntan y discuten la funcionalidad buscando obtener un criterio de aceptación.
 
# '''Destilar'''. Una vez que se tienen las pruebas bosquejadas se capturan éstas en un formato que trabajen con un framework de automatización de pruebas. Se intenta que las pruebas queden expresados lo más claro y entendible posible, sin preocuparse (todavía) en como se van a automatizar. El foco está en la esencia de la prueba y se ignoran los detalles de implementación.
 
# '''Desarrollo'''. Los desarrolladores siguen el enfoque de primero probar, ejecutan los tests de aceptación y ven que fallan. Luego automatizan las pruebas escribiendo lo necesario para conectar los tests al código. El siguiente paso es implementar el código escribiendo TDD. Finalmente se hacen pasar los tets.
 
#'''Demostración'''. Se realizan pruebas de exploración para revelar hollos en los criterios de aceptación y descubrir riesgos que no se habían pensado aún. Una vez que todos los tests pasan la historia puede ser demostrada al dueño de producto, avisándole de los riesgos potenciales descubiertos durante la implementación y exploración.
 
 
 
 
 
==Herramientas y frameworks de ATDD==
 
* [[FitNesse]]
 
 
 
==Ver también==
 
* [[Testing De Aplicaciones]]
 
* [[Desarrollo Agil De Software]]
 
* [[Test Driven Development]]
 
* [[Behavior Driven Development]]
 
* [http://testobsessed.com/wordpress/wp-content/uploads/2008/12/atddexample.pdf Atdd Example]
 
* [http://www.dosideas.com/metodologias/484-calidad-de-software-con-bdd-y-atdd.html Calidad de software con BDD y ATDD]
 

Revisión actual del 02:32 7 sep 2011

Fell out of bed feleing down. This has brightened my day!