Skip to main content

Article Category

Article available in the folowing languages:

Una plataforma nueva para comprobar sistemas de «software» distribuidos complejos

Una herramienta nueva logra reducir la complejidad de probar sistemas distribuidos de gran envergadura y, además, a un coste menor sin menoscabo para la calidad.

Economía digital

El potencial de los sistemas de «software» distribuidos de gran tamaño es inmenso y logran una considerable tolerancia a fallos, elasticidad y rentabilidad gracias a que comparten componentes de «software» en distintos ordenadores. De este modo, podrían aumentar considerablemente la eficacia y el rendimiento de una amplia gama de labores de computación. No obstante, y a pesar de su potencial, hay muy poca oferta de este tipo de sistemas grandes e interconectados. En parte porque el coste de validación de este tipo de sistemas de «software» es demasiado elevado para muchos desarrolladores y, además, cuenta con procesos de comprobación de gran complejidad. «Cuando los desarrolladores quieren validar capacidades no funcionales, deben primero crear arquitecturas de pruebas complejas que incluyen la personalización de los mecanismos de orquestación en la nube y la gestión de la escalabilidad de las pruebas» afirma Francisco Gortázar Bellas, profesor de la Universidad Rey Juan Carlos. «Por si fuera poco, las complicaciones se multiplican al tratar de reproducir las condiciones operativas que se dan en un entorno real». Para simplificar y racionalizar los procesos de validación, el proyecto financiado con fondos europeos ELASTEST se propuso ofrecer a los equipos de desarrollo las herramientas necesarias para crear «software» rápidamente y sin defectos.

Reducir y simplificar

La herramienta de ElasTest se diseñó no solo para reducir la complejidad de las pruebas de los sistemas distribuidos de gran envergadura, sino para hacerlo de forma que se redujesen los costes sin que se viese afectada la calidad. Para lograrlo, los investigadores trabajaron con la vista puesta en tres objetivos: reducir el tiempo necesario para la comercialización, reducir el tiempo de localización de errores de código y simplificar el proceso de pruebas. En relación con el primer objetivo, ElasTest ofrece varios servicios que pueden utilizarse sin modificaciones adicionales a través de API de REST bien documentadas. Estos servicios pueden utilizarse por separado o en combinación. Todos ofrecen herramientas bajo demanda que pueden aprovecharse a partir del código de prueba, como navegadores, dispositivos del internet de las cosas (IdC), comprobaciones de seguridad, vigilancia y análisis de datos. Para reducir el tiempo que se precisa para descubrir un error, la herramienta ofrece al usuario visualizaciones y herramientas analíticas. «Gracias a los análisis de registros, la información dedicada a tareas y la comparación de registros, esta función ayuda a los usuarios a dar con la aguja en el pajar», explica Gortázar. ElasTest es capaz, además, de simplificar el proceso de crear y ejecutar pruebas mediante un lenguaje específico de dominio que compila con el servidor de integración continua de Jenkins, uno de los modelos de servidor de integración continua más populares del mercado. «En un mundo en el que la nube se está convirtiendo en producto y los servicios son de naturaleza distribuida, una herramienta como ElasTest puede marcar un antes y un después en la evaluación de aplicaciones complejas», añade Gortázar. La herramienta se validó en distintos dominios, como web, 5G, comunicación en tiempo real e internet de las cosas.

Un enfoque exclusivo

Si bien el proyecto debió de ajustarse en varias ocasiones, como para ofrecer capacidades de comprobación manual y automática, nunca dejó de lado su objetivo principal: integrar distintos componentes mediante buenas prácticas de integración y creación continuas. «Nuestra dedicación fue lo que nos permitió avanzar con paso seguro y minimizar riesgos —afirma Gortázar—. Es el secreto de nuestro éxito, un éxito bien documentado por nuestras múltiples actividades de difusión». Estas actividades de difusión incluyeron la publicación de quince versiones de «software» de ElasTest y varios artículos publicados y presentados en treinta y cuatro revistas y congresos, entre ellos el prestigioso Congreso Internacional sobre Ingeniería de Software (ICSE, por sus siglas en inglés). Los responsables del proyecto también participaron en algunos de los congresos más importantes de la industria dedicados a la comprobación de «software».

Palabras clave

ELASTEST, servidor de integración continua Jenkins, sistemas de software distribuidos, software, informática, internet de las cosas, IdC, 5G

Descubra otros artículos del mismo campo de aplicación