Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TDD y BDD

TDD y BDD

Se expone la folosofia de Test Driven Development y se hace una demostracion implementando Fibonacci. Se muestra lo que es Behaviour driven development y se muestra el uso de SpecFlow dentro de Visual Studio 2013 Community.

Oscar Centeno

December 13, 2014
Tweet

More Decks by Oscar Centeno

Other Decks in Technology

Transcript

  1. Test Driven Development (TDD) Behaviour Driven Development (BDD) MP. Oscar

    Centeno Diciembre, 2014 …Test early, test often…
  2. Objetivos de la charla • Exponer la necesidad • Exponer

    principios • Mostrar demostraciones con herramientas
  3. Un proceso TDD ¿Cómo crear un producto sin defectos? Mejore

    el proceso como un todo. Testing Diseno / Codificacion Colaboracion Aceptacion Mantenimiento TDD
  4. Mejore todo el proceso • Calidad desde el inicio •

    Divide y vencerás • Red de seguridad para el software • Confianza • ¿Ya terminé? TDD
  5. El código, correctamente • “producimos código bien diseñado, bien probado

    y bien factorizado, y lo hacemos en pasos pequeños y verificables” James Shore Code Right
  6. Prácticas para construir el codigo correctamente • Programe en pasos

    pequeños verificables • Pruebas unitarias • Automatice pruebas unitarias • Aplique TDD a cada unidad: Test-First Design Code Right Código unitario Pruebas Assert (esperado, obtenido)?
  7. Alcance de TDD • Clases de aplicación • Base de

    datos • Integración de componentes • Rendimiento • Escenarios funcionales
  8. ¿Porqué funciona? • TDD hace claro el criterio de aceptación

    • Elimina incertidumbre en expectativas del usuario • Integra al Testing durante todo el proceso • Feedback rápido y frecuente • El software es más mantenible. Code Right Right Code
  9. El código correcto • “…si no es cuidadoso, es muy

    sencillo que un desarrollador construya el producto equivocado.” www.agileforall.com Right Code
  10. Correct Code • Exprese pruebas de aceptación con el usuario

    antes de la programación. • Exprese reglas complejas con ejemplos concretos • ¡No asuma! (ambigüedad ≈ 0) Right Code
  11. La Historia Como Pedro, el cliente Quiero Hacer un retiro

    de la cuenta Con el fin de tener efectivo.
  12. Ejemplo Dado Una cuenta con saldo 100 dólares Cuando se

    hace un retiro de 55 dólares. Entonces el saldo restante es de 45 dólares.
  13. En resumen Test Driven Development El código correctamente El código

    correcto Customer Tests / Specs Unit Tests ¿ Pruebas funcionales de aceptación? ¿ Pruebas de carga? ¿Pruebas de integración? ¿ Pruebas de rendimiento?
  14. Objetivos de la charla • Exponer la necesidad • Exponer

    principios • Mostrar demostraciones con herramientas