Desarrollo de una herramienta de pruebas para aplicaciones basadas en eventos que usan RabbitMQ
Loading...
Date
2025
Authors
Director
Journal Title
Journal ISSN
Volume Title
Publisher
Pontificia Universidad Javeriana Cali
Share
Abstract
En los últimos años, las arquitecturas orientadas a eventos (Event-Driven Architectures, EDA) han sido ampliamente adoptadas en el desarrollo de sistemas distribuidos debido a su capacidad para procesar grandes volúmenes de información, facilitar la comunicación asíncrona y mejorar la escalabilidad. Entre las tecnologías utilizadas para su implementación se encuentra RabbitMQ, un intermediario de mensajes que soporta protocolos como AMQP y MQTT. Sin embargo, la naturaleza asíncrona y no determinista de estas arquitecturas plantea retos significativos en el aseguramiento de calidad, particularmente en la trazabilidad de eventos y en la detección de fallos intermitentes. En este contexto, se diseñó e implementó una herramienta de pruebas automatizadas para sistemas basados en eventos que emplean RabbitMQ, integrando mecanismos de monitoreo, validación y depuración. Se utilizó el enfoque Design Thinking como metodología, siguiendo un ciclo iterativo conformado por las fases de empatizar, definir, idear, prototipar y testear. Se conceptualizó la solución, se desarrolló un prototipo funcional y se validó en un entorno de pruebas controlado. Se ejecutaron seis escenarios de evaluación que cubren violaciones de contrato, eventos perdidos, mensajes duplicados, orden incorrecto, errores de configuración de infraestructura y detección de eventos huérfanos. Los resultados demostraron una tasa de detección del 100 % de las anomalías introducidas, con reportes de alta precisión diagnóstica y observabilidad completa mediante integración con Grafana Loki. La herramienta reduce significativamente el tiempo de depuración, mejora la confiabilidad del sistema y facilita la integración en flujos de trabajo DevOps. El proyecto contribuye tanto académicamente mediante documentación de buenas prácticas como profesionalmente al ofrecer una solución viable y escalable para la industria.