ElasTest: añadiendo observabilidad a tus tests
ElasTest es una plataforma enfocada a simplificar el testing de sistemas distribuidos, que ofrece acceso fácil y directo a los servicios más usados durante el testing y la capacidad de analizar los logs de los distintos componentes generados durante los tests. Además, es una herramienta muy sencilla de desplegar y configurar.
Contexto
La demanda de software cada vez más interconectado y complejo hace que este sea cada vez más difícil y costoso de testear. Los principales objetivos de ElasTest son mejorar la eficiencia y la efectividad del proceso de testing, mejorando así la calidad final del software y reduciendo los tiempos necesarios de testing.
El proyecto
ElasTest ha sido desarrollado por un consorcio europeo de universidades, centros de investigación y empresas -- entre ellas Naeva Tec -- financiado por la Comisión Europea dentro del programa marco de Horizonte 2020. Durante 3 años el consorcio dedicó tiempo y recursos a tener una herramienta de testing innovadora y completa, capaz de integrarse en los flujos de integración y validación continuas más usados actualmente.
Para alcanzar los objetivos del proyecto se definió una arquitectura de micro-servicios basados en contenedores, invocados por un cerebro central que provee una interfaz de usuario intuitiva y agradable.
Gestión de tests
Construye tu entorno de test con las herramientas que ofrece ElasTest. Conecta todos los componentes de tu aplicación a ElasTest y ejecuta los tests en unos pocos clics.
Monitorización de métricas
Obtén toda la información de tus componentes: cada test, navegador web, base de datos, aplicación... genera logs y métricas, y ElasTest los sincroniza en un solo sitio.
Navegadores web
Los testers saben lo difícil que es comprobar que las aplicaciones funcionan adecuadamente en cada navegador; ElasTest provee todos los navegadores para poder probar en ellos de forma automática.
Analizador de logs
Obtener los logs es solo la primera parte, y no tiene sentido si no se pueden explorar y analizar con una herramienta flexible, intuitiva y potente.
Integración con Jenkins
ElasTest ofrece un plugin de Jenkins para que puedas utilizarlo en tu entorno de CI, usando muchas de sus funcionalidades directamente desde tus jobs de Jenkins.
Tecnología

Nuestro papel
Dentro del proyecto ElasTest, en Naeva Tec hemos aportado nuestra experiencia para:
- Definir el entorno de desarrollo y validación de la herramienta.
- Montar y mantener ambos entornos, proveyendo soporte integral a todo el consorcio.
- Liderar el diseño, desarrollo y ejecución de un plan de pruebas por componente y de la herramienta como un todo.
- Validar las nuevas versiones de ElasTest haciendo uso de la última versión estable disponible de ella misma.
- Diseñar, desarrollar y ejecutar pruebas específicas para aplicaciones web de videoconferencia y tele-enseñanza.
Seguramente la parte más compleja ha sido usar ElasTest para testear ElasTest: nos hemos enfrentado a múltiples dificultades, pero si estamos desarrollando una herramienta de testing... ¡usémosla!
Conclusión y lecciones aprendidas
El trabajo en un consorcio de estas características ha sido especialmente enriquecedor: todos los partners han aportado sus puntos fuertes al proyecto, dando como resultado una herramienta 100% lista para ser usada en diferentes contextos, desde el testing de tecnologías 5G hasta webapps y aplicaciones de videoconferencia. Además, el trabajo de investigación necesario para reunir tantas funcionalidades en una sola herramienta ha resultado en un buen número de artículos de investigación publicados.
En Naeva Tec ya teníamos procesos de calidad que incluían validación automática de los desarrollos, pero desde nuestra participación en este proyecto los hemos mejorado añadiendo ElasTest, sobre todo para mejorar la observabilidad y reducir el tiempo necesario para detectar errores. Por ello ahora ponemos a disposición de nuestros clientes nuestra experiencia y conocimiento en calidad, testing y ElasTest.
Más sobre ElasTest
Si quieres saber más sobre ElasTest puedes visitar https://elastest.io.