Test-Driven Development

Slides:



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

Sesión 1: Servidores de Blogs y Editores de Páginas Web en línea
Rogelio Ferreira Escutia Modelo Vista Controlador.
Programación de Dispositivos Móviles Estructura de un programa en J2ME Rogelio Ferreira Escutia.
“XP Extreme Programming”
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”
Desarrollo de Software empleando el Microsoft Solutions Framework MSF
BizTalk Server 2006 & Test Driven Development Kabel Sistemas S.L.
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
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.
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
Innovaciones de Modelado en una Software Factory
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
Tema 1 Introducción a la programación (Lenguaje java).
Presentación del estado del arte
Test-Driven Development (Desarrollo dirigido por pruebas) Martín Salías.
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
ASEGURAR LA GRADUACIÓN DE NUESTROS ESTUDIANTES LISTOS PARA LA UNIVERSIDAD O UNA CARRERA VOCACIONAL CON UN DÍA ESCOLAR EXTENDIDO Deciembre 2011.
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 ◦
Scrum Images goes here …y prácticas ágiles para desarrollo de software.
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
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.
Transcripción de la presentación:

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

¿Quién es este tipo? Martín Salías 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

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

¿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

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

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.

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

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

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

FoxUnit Framework de Unit Testing para VFP Implementación pragmática de xUnit Requiere VFP 8+; VFP 9 recomendado Gratuito - Fuente abierta Comunidad: http://www.foxunit.org

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).

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

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

Extender y colaborar Framework soportado por la comunidad Foros en http://www.foxunit.org (incluyendo uno en español) Se extiende por medio de: FxuNewObject() fxuClassFactory.dbf

FoxUnit Team Autores (VisionPace): Documentación: 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

Bibliografía Kent Beck David Astels Martin Fowler

? Preguntas Universal Thread www.UniversalThread.com msalias@gmail.com www.Salias.com.ar Universal Thread www.UniversalThread.com