BizTalk Server 2006 & Test Driven Development [email protected] Kabel Sistemas S.L. .

25

Transcript of BizTalk Server 2006 & Test Driven Development [email protected] Kabel Sistemas S.L. .

Page 1: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .
Page 2: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

BizTalk Server 2006 & Test Driven Development

[email protected] Sistemas S.L.

www.kabel.es

Page 3: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

¿Quienes Somos?

Compañía especializada en Consultoría de TI ¿Qué hacemos?

Infraestructura de redes y sistemas Seguridad Desarrollo Gestión de proyectos y dirección estratégica Formación Aplicada IT OutSourcing

La calidad cómo objetivo fundamental de nuestros proyectos

Nuestra vocación es convertirnos en el socio tecnológico que toda empresa necesita

Page 4: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Agenda

Introducción Pruebas Conceptos TDD (Test Driven Development) TDD en proyectos de integración Demos, demos, demos….

Page 5: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

¿Por qué probamos?

Para verificar que: hemos terminado cumplimos los requerimientos modificaciones en el código no rompen el ya existente arreglamos los bugs

Para mitigar nuestro miedo Para saber que progresamos

Page 6: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Pruebas unitarias

Herramienta de desarrollo Escritas por desarrolladores Prueban una funcionalidad concreta y reducida Prueban el comportamiento externo Funcionan o no Repetibles Automatizables Código de producción

Page 7: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Anatomía de una prueba

Estructura AAA A Arrange (Fixture)

Preparar el contexto de la prueba (datos de prueba, inicializar objetos)

A Act: Ejecutar la funcionalidad a probar

A Assert: Verificar los resultados frente a lo esperado

Page 8: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Reglas

Funcionamiento independiente No asumir el estado del sistema No escribir pruebas que funciona a la primera Comenzar por el caso nulo Pruebas repetibles Promover el bajo acoplamiento Usar mock objects Escribir primero la prueba

Page 9: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Probar antes vs probar despuésProbar antes vs probar después

Después: Estructurar el código en

nuestra mente o usando documentos de diseño

Verificar esta estructura mentalmente

Pruebas automatizadas son difíciles de añadir porque el diseño no está pensado para ser probado

Las intenciones del código se almacenan separadas

Sólo malas noticias

Antes: La estructura se contruye

programando y se registra en forma de pruebas

Todo aspecto de la estructura se comprueba usando la máquina

El código está diseñado para ser probado

Las pruebas ofrecen ejemplos de las intenciones

Rojo Verde Avance!

Page 10: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Test Driven Development

Práctica de eXtreme Programming (XP) Forma de pensar en el desarrollo software

Las pruebas dirigen el desarrollo Escribir una prueba antes que el código Simplificar el diseño y desacoplar Escribir el código más simple que pueda funcionar

Objetivos: Menos errores, menos depuración Más confianza, más productividad Mejor diseño

Page 11: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Test Driven Development

Problema Cambios en el código crean defectos Miedo a realizar cambios, diseño deteriorado Un buen diseño OO es difícil a la primera Más tiempo probando que escribiendo código

Solución Establecer un proceso que permita:

Modificar cambios con confianza Mejorar el diseño incrementalmente

Page 12: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Ritmo TDD (Red - Green - Refactor)

1. Escribir una prueba2. Escribir el esqueleto del código3. Compilar4. Verificar que la prueba falla5. Escribir el código más sencillo para que la

prueba funcione6. Verificar que la prueba funciona7. Simplificar el código mediante “refactoring”8. Verificar que las pruebas funcionan9. Volver a 1

Page 13: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

TDD en proyectos de integración

A

B

C

A

B

C

G V

S

G V

G V

S

Layers

G = Data Generator V = Data Validator S = Stub (Mock)

Page 14: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

TDD en proyectos de integración

Security Metadata System Mgmt

Message Bus

Adapters Pipelines

Transformation

Business Process Mgmt

External Applications

CONTEXTO

Page 15: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

TDD en proyectos de integración

Security Metadata System Mgmt

Message Bus

Adapters Pipelines

Transformation

Business Process Mgmt

External Applications

CONTEXTO

Adapters Pipelines

Message Bus

G V

S2S1

Envio de un mensaje en el formato esperado por el adaptador

Page 16: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

TDD en proyectos de integración

Security Metadata System Mgmt

Message Bus

Adapters Pipelines

Transformation

Business Process Mgmt

External Applications

CONTEXTO

Transformation

G V

Page 17: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

TDD en proyectos de integración

Security Metadata System Mgmt

Message Bus

Adapters Pipelines

Transformation

Business Process Mgmt

External Applications

CONTEXTO

Business Process Mgmt

Message Bus

Message Bus

G V

S3S2S1

Page 18: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Testing Functoids

DEMO

Page 19: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Testing Maps

DEMO

Page 20: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Testing Pipelines

DEMO

Page 21: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Testing Orchestrations

DEMO

Page 22: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Más información Kabel Sistemas: http:// www.Kabel.es Dev Center: http://msdn.microsoft.com/biztalk/ Comunity: http://www.gotdotnet.com/team/wsservers

BizTalkGurus: http://www.biztalkgurus.com/biztalk-server-2004.aspx

NewsGroup: http://www.microsoft.com/technet/community/newsgroups

MSN Search: http://search.msn.com/

Page 23: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

Preguntas && Respuestas

?

Page 24: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Page 25: BizTalk Server 2006 & Test Driven Development JCGonzalez@Kabel.es Kabel Sistemas S.L. .

© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.