Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Creando rascacielos con tdd

13 views

Published on

Published in: Software
  • Be the first to comment

  • Be the first to like this

Creando rascacielos con tdd

  1. 1. How to build Skyscrapers using TDD VICTOR ANGEL CHAMBI NINA
  2. 2. “If an idea is stupid it's really worth trying, there is the chance that nobody else has tried it before” Kent Beck, 2005 "Si una idea es estúpida, realmente vale la pena intentarlo, existe la posibilidad de que nadie más lo haya intentado antes "
  3. 3. Tests Automatizados Integración Continua Diseño Simple Pair ProgrammingsUnit TDD XP Manifiesto Ágil.
  4. 4. El re-descubrimiento ● Cintas perforadas ● Almacenamiento y programación
  5. 5. El re-descubrimiento ● Primero se definían las cintas necesarias ● Luego se programaba hasta lograr los resultados esperados
  6. 6. Software “Software es el modelo de una solución para un problema que se trata de resolver” – Glenn Vandenburg
  7. 7. Software Modelo Aquello que se toma como referencia para tratar de producir algo igual Fuente: 10 Pines - Construcción de software robusto con TDD
  8. 8. Desarrollo de Software “Desarrollo de software es un proceso de aprendizaje, se trata de adquirir y representar el conocimiento” – Hernán Wilkinson
  9. 9. Esencias del SOFTWARE COMPLEJO ● Número de estados ● Posibles entradas
  10. 10. Esencias del SOFTWARE CAMBIANTE Soporte de ejecución Dominio del problema Entendimiento del problema
  11. 11. Esencias del SOFTWARE “There is no Silver Bullet” - Brooks (1987)
  12. 12. Nuevo Proyecto ✨ TORRE DE YENGA
  13. 13. Código de Producción 😄 👍🏼
  14. 14. Código de Producción 😭 👎🏼 No Testing
  15. 15. Testing �� Pruebas
  16. 16. RESPONSABILIDAD DEL PROGRAMADOR No Testing < Testing
  17. 17. TDD Red Green Refactor
  18. 18. 1 23 Test Fails Simplest code Pass Improvement? Clean code Clean tests Red Green Refactor
  19. 19. "TDD eradicates fear of change.” - Eric Elliot
  20. 20. Responsabilidad del programador No Testing < Testing < TDD
  21. 21. TDD Técnica de aprendizaje ● Iterativa e incremental ● Constructivista Explica el qué antes del cómo
  22. 22. https://app.gitbook.com/@achambinina/s/tdd/ EJEMPLO DE TDD CON APLICACION DE CASA DE CAMBIO
  23. 23. VENTAJAS ● Guía de aprendizaje ● Impulsa buen diseño y código limpio ● Impone documentación viva ● Evita Bugs (no los quita) ● Evita sobreproducción de código ● Da feedback inmediato ● Impulsa prácticas continuas ● (CI y CD)
  24. 24. DESAFÍOS ● Cambio de cultura, pensar en pruebas (qué en vez de cómo) primero ● Convencer al área administrativa de practicar TDD (es lento pero seguro) ● Aprenderlo bien ● Tener aptitud técnica necesaria (diseño flexible e incremental)
  25. 25. TDD hoy
  26. 26. CONCLUSIÓN ● Los desarrolladores tenemos una responsabilidad con la calidad ● TDD es un proceso de aprendizaje ● que fomenta las buenas prácticas ● Puede ser difícil adoptarlo, pero no lo sabremos si no lo intentamos. PRUEBALO!
  27. 27. REFERENCIAS ● Clean Code - Bob Martin, Clean Code Blog ● Test Driven Development by Example - Kent Beck ● Extreme Programming 20 years later by Kent Beck ● Real Software Engineering - Glenn Vandenburg ● 10 Pines - Construcción de software robusto con TDD ● http://academicscode.com/posts/2017/01/a-little-history -of-tdd-dawn-of-tdd/ ● http://news.codecademy.com/test-driven-development/
  28. 28. THANKS! Does anyone have any question? LINKEDIN: victor-angel-chambi-nina-15045aa7/ EMAIL: achambinina@gmail.com YOUTUBE: @mondongo FACEBOOK: @ligthajallu

×