Test-Driven Development (Desarrollo dirigido por pruebas) Martín Salías.

Slides:



Advertisements
Presentaciones similares
Microsoft Solution Framework v.4 Agile (MSF)
Advertisements

Rogelio Ferreira Escutia Modelo Vista Controlador.
Programación de Dispositivos Móviles Estructura de un programa en J2ME Rogelio Ferreira Escutia.
CSS Rogelio Ferreira Escutia. 2 Hojas de estilo cascada, mayo 2010 Definición La hojas de estilo en cascada (en inglés.
“Planificación de Aplicaciones Web”
Caso de Éxito: Team System, CMMI, Metodologías Ágiles
Desarrollo de Software empleando el Microsoft Solutions Framework MSF
BizTalk Server 2006 & Test Driven Development Kabel Sistemas S.L.
Test-Driven Development
Refactoring – Visual Studio 2005 Hector Minaya, mcsd.net MR2 Solutions
Programa VSIP David Carmona División de Desarrolladores y Plataforma Microsoft Ibérica.
Cuestiones y problemas
Presentación del estado del arte
Scrum Master: Gabriel Bongianino
Metodologías ágiles.
Sprint Review Sprint Review 17/09/2012 Release N° 1 End of Sprint N° 3 Scrum Master: Denise Giusto Team: Romina Paganessi, Gabriel Bongianino, Hugo Damian.
Lecciones sobre ingeniería de software desde el Software Libre
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Diseñar un sistema que permita al usuario desde un teléfono móvil acceder a su computador personal (o servidor) a través de WAP para administrar algunos.
5. Ingeniería de Pruebas LS4128: Ingeniería del Software II
Desarrollo para Entorno Web
Por: Carlos Aucancela Tatiana Pozo
Proyecto de Ingeniería de Software 2010 Producto
UNIT TESTING pruebas unitarias pruebas unitarias.
Proyecto de Software Configuration Management
Índice 1. Introducción, objetivos y justificación del proyecto.
Pruebas de programas Java mediante JUnit
Perfiles asociados a MSDN & Visual Studio Equipo de Desarrollo Microsoft Otros Equipos de Desarrollo y Administradores de Sistemas usando plataforma Microsoft.
Desarrollo Con CALIDAD, con Visual Studio 2008
Visual Studio 2005 Gestión del Ciclo de Vida Jose Murillo Responsable programas técnicos para Fabricantes.
Entornos de programación
Presentación del estado del arte
Control de versiones usando PowerBuilder y Subversion
Bienvenidos.
¿Quién la hizo? Tienes que adivinar quién hizo cada obra de arte, basado en los apuntes que tomaste y las obras que vimos de los artistas.
Herramientas QA Morax.
Martin Alfonso Nieto Prada Ing. De Sistemas Ingeniería de software III Corporación Universitaria autónoma del cauca Agosto de 2012 Compendio de Programación.
PREVENCIÓN DE INCENDIOS Y USO DE EXTINTORES
Requerimientos No Funcionales
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Calidad en entornos ágiles Juan Gabardini Administración y Control de Proyectos Informáticos II Facultad de Ingeniería - UBA.
Ing. CIP Fabián Silva Alvarado
Yolanda Mejido González
Testing en eXtreme Programming Universidad de la República – Facultad de Ingeniería - InCo 30 de Mayo de 2006 [ Duración aproximada de la presentación:
Test Driven Development TDD
Test Driven Development
Introducción a TDD. Enfoque de la Charla Presentar un ejemplo de principio a fin de una funcionalidad de un proyecto. Sin profundizar en las herramientas.
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
F RAMEWORKS DE DESARROLLO JAVA,.NET Deisy Pérez Sánchez.
Características de la interfaz de desarrollo
Presentado por: Ing. Manuel Rodríguez Coria. Software Freedom Day 26 de Septiembre de 2009Ing. Manuel Rodríguez Coria Quien Soy? Ing.
Software Testing: “Tres enfoques para un mismo problema”
Algoritmos y programación III (75.07)
agile-tester-foundation- chapter-2-fundamental-agile-testing- principles-practices-and-processes-1-of-3-
Test-Driven Development Juan Carlos Olivares Rojas MSN:
Metodologías Ágiles en VFP de las Historias de Usuario al código
INFOPATH – CLAUDIO ALVARADO. QUE ES INFOPATH Microsoft InfoPath es una aplicación usada para desarrollar formularios de entrada de datos basados en XML.
Ingeniería de Software
METODOLOGÍAS DE DESARROLLO DE SOFTWARE MODERNAS
Juan Carlos Olivares Rojas
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Test Driven Development. ¿Que es Test Driven Development?
Actividades en el Proceso de desarrollo de Software
Test Driven Development
Visual Studio, productividad concentrada N Daniel Cazzulino Microsoft MVP | XML Clarius Consulting S.A. C.
Programación orientada a objetos Capítulo 7 Objetos con buen comportamiento.
Sobre el Proceso Racional Unificado RUP es un proceso para el desarrollo de un proyecto de un software que define claramente quien, cómo, cuándo y qué.
Metodologías de Desarrollo en Empresas que no Comercializan Software A.S. ADRIAN ESTEBAN MELESI UNIVERSIDAD DE PALERMO - TRABAJO FINAL DE GRADO TUTOR:
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Diseño de esquema de pruebas Analisis y Diseño 2 Segundo Semestre 2008 Victor Leonel Orozco
Transcripción de la presentación:

Test-Driven Development (Desarrollo dirigido por pruebas) Martín Salías

2 Arquitecto de Software  Latinoamérica, USA, Canadá, Australia y Escandinavia  Microsoft MVP  Universal Thread Magazine Editor en Jefe  Miembro de la Agile Alliance  Orador y colaborador de MSDN Cono Sur ¿Quién es este tipo?

3 Agenda  ¿Qué es TDD? –El proceso –Refactorización –Beneficios –Herramientas  FoxUnit –FoxUnit –FxuTestCase –Uso de FoxUnit –Extender y colaborar  Bibliografía

4 ¿Qué es TDD?  NO es un metodo de testing, sino de desarrollo  NO reemplaza a las pruebas de performance, rendimiento, ni usabilidad  El objetivo es: “Código limpio que funciona”  Escribir los tests antes que el código, y refactorizar incrementalmente

5 Rojo, Verde, Refactorizar 1.Escribimos la prueba, y la dejamos fallar. 2.Código pecaminoso para pasar (¡progreso!). 3.Implementación completa, pasando la prueba. 4.Refactorizamos.  Las pruebas son nuestro cinturón de seguridad.

6 Codificar - Refactorizar  Dos Sombreros: –Uno para codificar –Otro para refactorizar  Dos Objetivos: –Cuando codificamos, agregamos nueva funcionalidad –Cuando refactorizamos, sólo mejoramos el diseño del código. Cuando hacemos que la prueba pase, sólo codificamos.

7 Refactoring  Mejorar el código existente  Elevar la flexibilidad – tolerancia al cambio  Código Spaghetti vs. código Raviol  Entregar más rápido – menos depuración

8 Beneficios de TDD  No hay código sin pruebas asociadas  El código se origina y permanece sólido  Las pruebas perduran  Las pruebas son documentación  Efecto psicológico

9 Herramientas  xUnit Frameworks –jUnit para Java –nUnit/mbUnit para.NET –cppUnit para C++ –vbUnit para VB 6 –FoxUnit para Visual FoxPro

10 FoxUnit  Framework de Unit Testing para VFP  Implementación pragmática de xUnit  Requiere VFP 8+; VFP 9 recomendado  Gratuito - Fuente abierta  Comunidad:

11 FxuTestCase  Corazón de FoxUnit  SuperClass de todas las clases de prueba  Los métodos agregados son para pruebas  Métodos con prefijo “Test” se ejecutan (configurable).

12 FxuTestCase – Métodos principales  Control –Setup() –TearDown()  Aserciones –AssertTrue() –AssertEquals() –AssertNotNull()

13 Usando FoxUnit  Se instala en un único lugar (agregar path)  Carpeta para pruebas en cada proyecto  Aplicación independiente (Alt+Tab)  Integrado a la IDE de VFP

14 Extender y colaborar  Framework soportado por la comunidad  Foros en (incluyendo uno en español)  Se extiende por medio de: –FxuNewObject() –fxuClassFactory.dbf

15 FoxUnit Team  Autores (VisionPace): –Jim Erwin –Drew Speedie –Glenn Taylor –Dave Aring  Documentación: –Anthony Testi –Martín Salías –Andrew Mac Neill  Esta presentación está dedicada a la memoria de Drew y Brent Speedie

16 Bibliografía Kent Beck David Astels Martin Fowler

17 Preguntas ?    Universal Thread