Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Joseluisseijoreig samuelsánchezmuñoz
1. 11
Introducción a TDD (Test DrivenIntroducción a TDD (Test Driven
Development)Development)
Samuel Sánchez MuñozSamuel Sánchez Muñoz
Jose Luis Seijo ReigJose Luis Seijo Reig
2. 22
¿Qué es?¿Qué es?
Proceso de desarrollo de softwareProceso de desarrollo de software
orientado a pruebas.orientado a pruebas.
Se basa en la idea de desarrollar pruebas,Se basa en la idea de desarrollar pruebas,
codificar y refactorizar el códigocodificar y refactorizar el código
construido.construido.
3. 33
Test Driven DevelopmentTest Driven Development
TDD se basa en la idea de realizarTDD se basa en la idea de realizar
pruebas unitarias para el código quepruebas unitarias para el código que
debemos desarrollar. A diferencia deldebemos desarrollar. A diferencia del
procedimiento que usamos habitualmente,procedimiento que usamos habitualmente,
desarrollar el código y después realizardesarrollar el código y después realizar
las pruebas unitarias.las pruebas unitarias.
TDD además añade el code refactoring,TDD además añade el code refactoring,
reestructuración del código implementado.reestructuración del código implementado.
4. 44
Ciclo de desarrollo de TDD.Ciclo de desarrollo de TDD.
1ª) Elegir un requisito a desarrollar.1ª) Elegir un requisito a desarrollar.
2ª) Crear la prueba o test.2ª) Crear la prueba o test.
3ª) Ejecutar los tests: falla3ª) Ejecutar los tests: falla ((ROJOROJO).).
4ª) Crear código especifico para resolver el test.4ª) Crear código especifico para resolver el test.
5ª) Ejecutar de nuevo los tests: pasa5ª) Ejecutar de nuevo los tests: pasa ((VERDEVERDE).).
6ª) Refactorizar el código.6ª) Refactorizar el código.
7ª) Ejecutar los tests: pasa7ª) Ejecutar los tests: pasa ((VERDEVERDE).).
5. 55
Ventajas.Ventajas.
-- Los casos de prueba sirven comoLos casos de prueba sirven como
documentación del sistema.documentación del sistema.
- Al escribir una prueba unitaria, se piensa- Al escribir una prueba unitaria, se piensa
en la forma correcta de utilizar un móduloen la forma correcta de utilizar un módulo
que aún no existe.que aún no existe.
- Las pruebas permiten perder el miedo a- Las pruebas permiten perder el miedo a
realizar modificaciones en el código.realizar modificaciones en el código.
6. 66
Inconvenientes.Inconvenientes.
- TDD es difícil de usar en situaciones donde- TDD es difícil de usar en situaciones donde
hacen falta todas las pruebas funcionales parahacen falta todas las pruebas funcionales para
determinar éxito o fracaso.determinar éxito o fracaso.
- El soporte de la gestión es esencial. Sin la- El soporte de la gestión es esencial. Sin la
creencia de toda la organización de que TDD vacreencia de toda la organización de que TDD va
a mejorar el producto, la gestión sentirá que sea mejorar el producto, la gestión sentirá que se
pierde tiempo escribiendo pruebas.pierde tiempo escribiendo pruebas.
- Las pruebas se han visto históricamente como- Las pruebas se han visto históricamente como
una posición más baja que los desarrolladores ouna posición más baja que los desarrolladores o
arquitectos.arquitectos.
7. 77
ConclusiónConclusión
Los modelos ágiles dan mayor autonomíaLos modelos ágiles dan mayor autonomía
al desarrollador, y comunicación conal desarrollador, y comunicación con
cliente, plantea equipos autogestionados,cliente, plantea equipos autogestionados,
evita micromanagering y reduceevita micromanagering y reduce
documentación.documentación.