Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porVirginia Calderón Núñez Modificado hace 8 años
1
TDD en Python Javier Andrés Mansilla - javier@except.com.arjavier@except.com.ar Except Test Driven Development
2
Resumen de la charla Introducción PyUnit Procedimiento general TDD a través de un ejemplo Conceptos importantes Conclusiones
3
Introducción Porqué testear? ✔ Los programadores somos humanos, y cometemos errores Porqué testear unidades mínimas? ✔ Garantizar el correcto funcionamiento de un soft (como un todo), es tarea muy difícil, casi imposible ✔ Solución: construir el programa como la unión de unidades mínimas (atómicas) de las cuales es inmediato asegurar corrección
4
Introducción (cont.) Software testing vs. TDD ✔ Software testing is a process used to help identify the correctness, completeness and quality of developed computer software. With that in mind, testing can never completely establish the correctness of computer software. 1 ✔ It is good to emphasize the fact that TDD is not a method of testing, but a method of designing software. 2 1 http://en.wikipedia.org/wiki/Software_testing http://en.wikipedia.org/wiki/Software_testing 2 http://en.wikipedia.org/wiki/Test_driven_development http://en.wikipedia.org/wiki/Test_driven_development
5
Introducción (cont.) Con TDD podemos asegurar: ✔ que se genera sólo la porción de código necesaria para satisfacer el objetivo ✔ que todo el código está testeado (cubierto por tests) ✔ rápida retroalimentación sobre la corrección del programa (por ejemplo, al momento de refactorizar código)
6
Es un framework de testeo para Python Deriva de JUnit, Smalltalk-Unit Provee: ✔ Automatización ✔ Código compartido para inicialización/finalización ✔ Agrupación en colecciones PyUnit
7
Procedimiento general ● Preparar el entorno para el/las prueba/s ● Crear el caso de prueba ● Chequear el resultado de la corrida de ese caso de prueba ● Si hubo falla/s, generar/corregir el código necesario para satisfacer el caso de prueba ● Si no, agregar más casos de prueba
8
Gráficamente...
9
TDD by example
10
self.assert_
11
self.assert_ (cont.) A lo que teníamos...... le agregamos:
12
self.assertEqual
13
self.assertEqual (cont.) A lo que teníamos...... le agregamos:
14
Adecuando el entorno
15
Redefiniendo código A lo que teníamos...... le agregamos:
16
self.assertRaises
17
self.assertRaises (cont.) Sigue siendo válido el código que teníamos:
18
Un poquito de robustez
19
Versión final de __init__
20
Agregando nuevas clases
21
Versión inicial de depositar
22
Agregando casos de prueba
23
Segunda versión de depositar
24
Método especial: setUp
25
Otro caso de prueba más...
26
Versión final de depositar A lo que teníamos...... le agregamos:
27
Duplicación de código
28
Superclase: OperacionCaja
29
Heredando...
30
test suite & test runner
31
Consideraciones finales TDD es una herramienta fundamental para desarrollo ágil. TDD es especialmente útil cuando se debe resolver un problema que no está totalmente definido, o cuando el cliente no sabe exactamente lo que quiere. Por ende, su utilización es ideal en ambientes de desarrollo iterativo.
32
Preguntas? La última versión de esta presentación está disponible en: http://www.except.com.ar
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.