TDD en Python Javier Andrés Mansilla - Except Test Driven Development.

Slides:



Advertisements
Presentaciones similares
-go Verbs There is a small but very important group of verbs that we call the -go verbs. These verbs are: Hacer: to make/do Poner: to put Decir: to say.
Advertisements

Apuntes: SABER vs CONOCER. In Spanish, there are 2 verbs that mean to know but they can NOT be used interchangeably.
Por: Carlos Aucancela Tatiana Pozo
-go Verbs There is a small but very important group of verbs that we call the “-go” verbs. These verbs are: Hacer: to make/do Poner: to put Salir: to.
English Language Development Program PARENT INFORMATIONAL MEETING REUNIÓN INFORMATIVA PARA PADRES.
Software Testing: “Tres enfoques para un mismo problema”
Español II Negative Expressions. In English a sentence with 2 negative words is incorrect. – Ex. “I don’t know nothing.” is incorrect – Ex. “I don’t know.
Superlatives Page 400 Superlatives  In English, Superlatives are when we use adjectives with an “est” as a suffix.  For example, the fastest runner,
Quasimodo: Responder a las preguntas  ¿Quién en la clase lleva pantalones negros?  ¿Quién lleva una camiseta roja?  ¿Quién lleva las sandalias?
SABER VS. CONOCER TO KNOW. Saber and conocer can both be translated to the English verb: to know. But they are used in completely different situations.
TENER, ESTAR and ANDAR in the Preterite. The verbs tener, estar, and andar have similar stem changes in the Preterite tense. They all have “uv” in the.
Questions in Spanish.
MÉTODO CIENTÍFICO SCIENTIFIC METHOD. Observación Observation Scientists use observation skills to identify which problems they would like to solve Simply.
Objetivo: to identify phrases that express someone must do something. Ahora: List 3 adverbs and where are they placed in a sentence.
Tener que vs. Hay que Se prohíbe ….
Overclipping It’s very important as a trader that you understand your clip size and what positions this allows you to have. In addition it will help you.
Welcome to SAT Parent Night. What is the SAT? The SAT-10 is a district mandated assessment carried out to obtain District-wide data about student performance.
Calentamiento Hoy es viernes, el 22 de febrero What are comparatives and superlatives? Give an example. – She is taller than her brother. (comparative)
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Me llamo ____________ Clase 801 La fecha es el 13 de junio del 2016 Propósito # 87 ¿Cómo practicamos los verbos Saber y Conocer? L.O: to practice the verbs.
© 2000, Cisco Systems, Inc Modulo 12 Validar el Diseño de Red.
No es.... Mockito - Mockito es una librería Java para la creación de Mock Object. - Muy usados para el testeo unitario en Test Driven Development,
Pronouns after Prepositions. ¿Recuerdas?  Subject Pronouns Yo I Nosotros(as) We Tú You (informal) Vosotros(as) Y’all Él/Ella/ Usted He/ She/ You (formal)
Mock Objects. Problema Se tiene un administrador de salida de buses en una empresa la cual trabaja en transporte interdepartamental, este administrador.
INGLÉS BÁSICA PRIMARIA ASSESSMENT IN LANGUAGE TEACHING.
wShifts – Gestión de Turnos de Trabajo
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO ESCUELA SUPERIOR DE ZIMAPÁN
Me llamo _________ Clase 801 La fecha es el 8 de junio del 2016
Tema 4: Ingeniería del Software
Rafael Asprilla Universidad de Panamá ,
Unidad 2 Lección 1.
2.Metodología de Solución de Problemas
Proceso de Desarrollo de SW
Superlatives In English, Superlatives are when we use adjectives with an “est” as a suffix. For example, the fastest runner, the tallest girl, etc.
Desarrollo en el GES.
JUGAR to play a sport or a game
DAR and DECIR to give and to say/tell.
Cómo responder a las preguntas
Me llamo _________ Clase 702 La fecha es el 21 de enero del 2014
Autor: Diego Patricio Vásconez Chávez DIRECTOR: ING. MARIO RON
¿Qué haces en la escuela?
Lección 12 Relative Pronouns.
Proceso Unificado de Desarrollo de Software
Summer Professional Development 2015
[C] Notas: The Past Progressive
-AR Verbs ¿Hablas tú español? ¡Yo hablo español!
SABER and CONOCER Page 460 Realidades 1.
SABER and CONOCER Page 56 Realidades 2.
Superlatives.
Quasimodo: Get ready for the quiz! Make sure you know what kind of stem changer each word is!
Quasimodo: Tienes que hablar con un amigo en español sobre tu rutina diaria (daily routine). Debes usar las preguntas de ayer.
Adverbs of Frequency Adverbs of Frequency 1 Adverbs of frequency are used to say how often you do something or something happens. He always studies.
--To be pleasing to --Your likes & dislikes
“To be,” or “to be,” That is the question…
SABER and CONOCER Page 56 Realidades 2.
Superlatives Page 280 Realidades 1.
Vamonos Write a full sentence for each class, including one thing that you would need for that class. Ex. Math → Para la clase de matemáticas yo necesito.
Apuntes: Gustar Lección 4: La comida.
Tapas ¿Qué hora es? 2. ¿ Quieres beber un refresco?
Present perfect subjunctive mood
El subjuntivo – los irregulares
Superlatives Page 280 Realidades 1.
OBJETIVO DEL MAPEADO DE FLUJO DE VALOR
SABER and CONOCER Page 460 Realidades 1.
SABER vs CONOCER Sr. Portillo Español 1, 2 y 3.
Saying which is the best
CC1002- Introducción a la Programación
How to write my report. Checklist – what I need to include Cover page Contents page – with sections Introduction - aims of project - background information.
EVIDENCE-MY IDEAL SELF LINEIRA RUEDA. My ideal self usually gets up 5:30 am.
Título del Trabajo [Tipo título, Arial 40, negritas]
Transcripción de la presentación:

TDD en Python Javier Andrés Mansilla - Except Test Driven Development

Resumen de la charla Introducción PyUnit Procedimiento general TDD a través de un ejemplo Conceptos importantes Conclusiones

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

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

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)

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

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

Gráficamente...

TDD by example

self.assert_

self.assert_ (cont.) A lo que teníamos le agregamos:

self.assertEqual

self.assertEqual (cont.) A lo que teníamos le agregamos:

Adecuando el entorno

Redefiniendo código A lo que teníamos le agregamos:

self.assertRaises

self.assertRaises (cont.) Sigue siendo válido el código que teníamos:

Un poquito de robustez

Versión final de __init__

Agregando nuevas clases

Versión inicial de depositar

Agregando casos de prueba

Segunda versión de depositar

Método especial: setUp

Otro caso de prueba más...

Versión final de depositar A lo que teníamos le agregamos:

Duplicación de código

Superclase: OperacionCaja

Heredando...

test suite & test runner

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.

Preguntas? La última versión de esta presentación está disponible en: