Browsing by Subject "Continuous integration"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item Diseño de procesos de Integración Continua mediante la organización de pruebas automatizadas para lograr una retroalimentación oportuna(Pontificia Universidad Javeriana Cali, 2026) Burbano Castillo, Andrés Felipe; Chavarriaga Lozano, Jaime AlbertoEn la actualidad, muchas organizaciones dependen de pruebas automatizadas y procesos de integración continua para asegurar la calidad de sus productos de software. Sin embargo, en estos entornos, suele ocurrir que la ejecución completa de todas las pruebas requiere tiempos prolongados, incluso cuando se hacen cambios pequeños o triviales en el código. Esto genera desmotivación en los desarrolladores, quienes tienden a evitar la ejecución frecuente del pipeline o incluso la creación de nuevas pruebas, por temor a incrementar aún más los tiempos de integración. Esta situación afecta directamente la oportunidad de la retroalimentación, un factor determinante para mantener la calidad y velocidad en ciclos ágiles de desarrollo. Este proyecto plantea una alternativa a esta problemática mediante un modelo de ejecución segmentada de pruebas automatizadas, en el cual no es necesario ejecutar la totalidad de las pruebas en cada evento del flujo de desarrollo. La propuesta parte de un análisis de los diferentes “momentos” del proceso, por ejemplo, la creación de Pull Requests hacia ramas de características (feature), la integración hacia ramas de liberación (release) y la construcción nocturna (nightly build), y define las necesidades de retroalimentación asociadas a cada uno de ellos. A partir de este análisis se clasifican las pruebas automatizadas y se diseñan distintos flujos de integración continua que ejecutan únicamente las pruebas más relevantes para cada etapa, reduciendo así la redundancia y el consumo innecesario de tiempo y recursos. Como resultado de este proceso se construyó una matriz que relaciona fases del desarrollo, tipos de prueba y tiempos esperados de respuesta, lo cual permitió formalizar un criterio consistente de selección de pruebas. Esta matriz sirvió como base para implementar un conjunto de pipelines YAML parametrizado en Azure DevOps, capaces de seleccionar dinámicamente las pruebas según la rama, el tipo de cambio o el módulo afectado. La propuesta se evalúo en una empresa de desarrollo que construye aplicaciones que se comercializan a nivel mundial y cuyas pruebas pueden tomar varias horas. En esta empresa, en los escenarios donde solo se modificaba un módulo específico, la ejecución focalizada de pruebas mostró una reducción significativa en los tiempos de retroalimentación durante la validación de Pull Requests, sin afectar la calidad de los entregables ni la cobertura esperada de validación. La evaluación cualitativa, realizada con el jefe del área de DevOps, permitió validar los beneficios percibidos y, a la vez, identificar nuevas oportunidades de mejora. Aunque el filtrado por módulo reduce el tiempo de ejecución de pruebas, se observó que, cuando varios módulos con pipelines independientes se modifican simultáneamente, cada pipeline replica el proceso completo de infraestructura, generando ejecuciones en cascada que incrementan el tiempo total de integración. Este hallazgo destaca la necesidad de evolucionar hacia enfoques basados en orquestadores o infraestructuras compartidas que permitan mantener la segmentación sin incrementar los costos de construcción. Entre las lecciones aprendidas se destaca la importancia de definir métricas claras de retroalimentación desde el inicio, mantener consistencia en las ramas y disparadores, y minimizar configuraciones manuales para evitar errores humanos. Finalmente, se concluye que la percepción del equipo respecto a la utilidad y fluidez del pipeline es tan relevante como las métricas técnicas al evaluar la efectividad de un proceso de integración continua, especialmente en entornos colaborativos y de alta frecuencia de entrega.Item Propuesta de implementación de Integración Continua (CI) y Despliegue Continuo (CD) en aplicaciones legacy de la Pontificia Universidad Javeriana Cali(Pontificia Universidad Javeriana Cali, 2025) Morales Agredo, Andersson; Rincón Pérez, Luisa FernandaEste proyecto de grado propuso una solución de integración y entrega continua (CI/CD) orientada a mejorar los procesos de desarrollo y despliegue de software en aplicaciones heredadas de la Pontificia Universidad Javeriana Cali. La propuesta se fundamentó en el aprovechamiento de herramientas ya disponibles en el entorno institucional y tuvo como objetivo diseñar e implementar una solución técnica adaptada al contexto de sistemas legados, con énfasis en la automatización, la trazabilidad y la eficiencia operativa. La solución se implementó y evaluó en un entorno controlado, mediante pruebas de concepto realizadas sobre aplicaciones funcionales institucionales. Esta implementación permitió verificar la viabilidad técnica de la propuesta, así como evidenciar su impacto positivo en la reducción de errores post-despliegue, en el fortalecimiento de la calidad del software entregado y en la mejora significativa de los tiempos de entrega. El proyecto definió y aplicó métricas para comparar el desempeño del pipeline automatizado frente a los procesos manuales previamente utilizados. Los resultados obtenidos reflejaron mejoras tangibles en trazabilidad, seguridad y eficiencia. Además, se identificaron oportunidades de mejora y se documentaron recomendaciones técnicas para una adopción escalable de la solución. Finalmente, esta experiencia puede servir como referente replicable para otras organizaciones académicas que enfrenten desafíos similares en la modernización de sus procesos de entrega de software.