Collaborative Projects: Experiencias y Testimonios
Agenda
Experiencias Personales - Armin
GXUNIT - Alejandro y Uruguay
Summarized By Pattern – Enrique y Marcos
ForumSR
Collaborative Projects
Documentación y ejemplos de Web Services
Líder: Iván Padilla (Ecuador)
Armin Bachmann (Uy)
La Historia…
Cómo se dio
Motivaciones/beneficios
Comunicaciones
Testimonio de Iván
“Que todas las personas que deseen compartir su conocimiento y experiencias lo hagan ya, así tendremos un crecimiento y unidad mas acelerado, rompamos las barreras de la distancia y unámonos más.
COLABORANDO DECIDIDAMENTE, CRECEMOS TODOS !!”
Iván Padilla, Quito-Ecuador.
Proyecto Colaborativo GxUnit
Enrique Almeida - [email protected]
Alejandro Araújo – [email protected]
Uruguay Larre Borges – [email protected]
GxUnit: Agenda
• ¿Qué es?
• ¿Por qué?
• ¿Cómo?
• Algunas reflexiones
Antecedentes: Hubo una vez una propuesta …
GxUnit
Propuesta de Enrique Almeida (XIV Encuentro de Usuarios GeneXus)
Integrar las pruebas unitarias a GeneXus
Escribir las pruebas en Genexus
Genexus facilitando la escritura de las pruebas
Marco para ejecutarlas
Registro y publicación de resultados
Conseguir adeptos para el desarrollo
¿Qué es?
GxUnit: Nace como CP
Inicio: Agosto 2006
Objetivo: Concepción de un marco de trabajo para pruebas unitarias automatizadas.
Inicialización y borrado
Ejecución individual y agrupada
Resultados comparados con los esperados
Escritura de las pruebas en
Genexus
GxUnitGeneración de procedimientos
de prueba
¿Qué es?
GxUnit
• ¿Qué es?
• ¿Por qué?
• ¿Cómo?
• Algunas reflexiones
La importancia del “testing” en la calidad
Verificación: ¿Se está construyendo el producto correctamente?
Validación: ¿Se está construyendo el producto correcto?
El “testing” es una actividad desarrollada para evaluar la calidad de un producto, por la vía de identificar defectos (IEEE-Swebok)
GxUnit: Motivaciones
¿Por qué?
GxUnit: Motivaciones
La participación del “testing” en el tiempo y costo total
Testing
50%50%
Tiempo Costo
(Beizer)
¿Por qué?
50-75%
25-50%Testing
(Hailpern & Santhanam)
(G. Tassey NIST 2002)
GxUnit: Motivaciones
La integración temprana del “testing” al ciclo de vida
El esfuerzo de corregir errores crece a medida que avanzamos en el ciclo de vida
¿Por qué?
(G. Tassey NIST 2002)
GxUnit: Motivaciones
La automatización de las pruebas
Automatizar implicar probar v validar automáticamente los resultados (Hunt & Thomas)
(Nunit)
¿Por qué?
GxUnit: Motivaciones
Aspectos metodológicos
Aplicación de buenas prácticas
Automatizar pruebas + integración continua + regresión
Métricas
Test First Programming
¿Por qué?
GxUnit
• ¿Qué es?
• ¿Porqué?
• ¿Cómo?
• Algunas reflexiones
GxUnit: Investigación
Búsqueda de proyectos complementarios
Desarrollo del motor y marco de trabajo
Integración al IDE de Genexus (¿Rocha?)
Estado de la base de datos
¿Cómo?
GxUnit: Investigación
Patrones
Nuevos tipos de objetos (¿Rocha?)
¿Cómo escribir las pruebas?
Sentencias Try/Catch – Assert
¿Otras posibilidades?
¿Cómo?
GxUnit
• ¿Qué es?
• ¿Porqué?
• ¿Cómo?
• Algunas Reflexiones
GxUnit: Algunas reflexiones
Integración con otros Proyectos
FullGx
FIT(W.Cunningham) para Genexus
Tiempo
Sub proyectosGxUnit procedures
Concepción
Construcción
Recursos (¡Humanos!)
La experiencia
GxUnit: Sitios de interés
La experiencia
http://www.gxopen.com/forumsr/servlet/hsrmain
Collaborative ProjectsSummarizedBy Pattern
Marcos Crispino – [email protected]
Enrique Almeida – [email protected]
Participantes
Enrique Almeida (Concepto, Uruguay)
Marcos Crispino (Concepto, Uruguay)
Nicolas Jodal (Artech, Uruguay)
Federico Dominioni (GX Consulting, Uruguay)
Daniel Coellar (Etapa Telecom, Ecuador)
Gabriel Medina (GXSoft, Argentina)
Motivación
Pantalla de resumen en aplicaciones web
Siempre son similares
Se identifica claramente un patrón
Ejemplo (1)
Ejemplo (2)
Etapas
Marzo/2005 – Surge la idea y se registra en el Wiki
Junio/2006 – Se decide implementar como Collaborative Project
Julio/2006 – Ejemplo canónico
Agosto/2006 – Desarrollo
Setiembre/2006 – Liberación versión 1.0
Collaborative Projects
Experiencia nueva
Experiencia multi-diciplinaria
Proyecto “Difuso”
Comunicación humana
Plan inicial
Consejos para próximos CP
Definir claramente
Objetivo y Grupo de Trabajo
Intereses de los participantes
Etapas (y un líder para cada etapa)
Roles
Recursos
Mejoras para los CP
TO-DO Lists compartidas
GXOpen con “pedazos” de proyectos
Foros de Proyectos
Repositorio con versionado
Herramientas para facilitar pruebas
Cambio de logo
Charlas relacionadas
Conclusiones
Los Collaborative Projects sirven
Se implementó el Pattern
Desarrollo rápido (3 meses)
Implementar ideas “dormidas”
Compartir conocimientos y aprender
Conocer gente y otras realidades
Satisfacen necesidades de la comunidad
Experiencias en el desarrollo de Collaborative Projects
¿Preguntas?