Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Ingeniería del software

Presentando Microusity: Una herramienta de pruebas para microservicios

Microusity simplifica las pruebas para microservicios, mejorando el seguimiento y reporte de errores.

― 6 minilectura


Microusity: HaciendoMicrousity: Haciendofácil las pruebas demicroserviciosMicrousity.microservicios de manera eficiente conPrueba y sigue los errores de
Tabla de contenidos

En el mundo del desarrollo de software, los Microservicios son una forma popular de crear aplicaciones. A diferencia del software tradicional que se construye como una unidad única, los microservicios dividen las aplicaciones en partes más pequeñas e independientes. Cada parte, o servicio, puede funcionar por su cuenta y modificarse sin afectar a toda la aplicación. Este enfoque facilita la gestión y escalado del software a medida que las empresas crecen.

Sin embargo, aunque los microservicios ofrecen muchos beneficios, también pueden introducir nuevos riesgos de seguridad. Cada servicio tiene que comunicarse con otros, y pueden surgir problemas durante estas interacciones. Cuando ocurren problemas, como errores o brechas de seguridad, puede ser difícil averiguar de dónde vienen.

¿Qué es Microusity?

Microusity es una herramienta diseñada para ayudar a los desarrolladores a probar sus microservicios, específicamente un patrón conocido como "backend para frontend" (BFF). El patrón BFF crea una interfaz especial entre el cliente, como una app móvil o una página web, y los servicios backend que contienen los datos reales. Esta configuración permite que diferentes clientes trabajen mejor con los datos que necesitan.

El objetivo principal de Microusity es facilitar la búsqueda y solución de errores que ocurren en estos sistemas de microservicios. Al rastrear las solicitudes y respuestas de la API, la herramienta puede identificar qué servicio backend causó un problema y ofrecer informes útiles a los desarrolladores.

La Importancia de Probar

Probar es un paso crucial en el desarrollo de software. Una herramienta como Microusity ayuda a probar las interacciones entre diferentes partes de un sistema de microservicios para asegurarse de que funcionen juntas correctamente. Cuando ocurre un error, Microusity puede rastrear la solicitud desde el cliente a través del BFF y hacia los servicios backend.

Sin pruebas adecuadas, los desarrolladores pueden encontrarse gastando tiempo extra tratando de identificar problemas. Pueden enfrentarse a situaciones donde un mensaje de error no indica claramente dónde está el problema. Esto puede llevar a perder tiempo y aumentar la frustración.

Cómo Funciona Microusity

Microusity tiene dos componentes principales: el motor de pruebas y el sistema de monitoreo. La herramienta utiliza un motor de pruebas automatizado que genera varias solicitudes a las APIs de los microservicios. Monitorea cómo fluyen estas solicitudes a través del sistema y verifica errores en las respuestas.

El motor de pruebas envía diferentes entradas al BFF y observa los resultados. Si ocurre un error, la herramienta revisa qué servicio backend fue llamado y ayuda a localizar la fuente del problema. Esta información es valiosa para los desarrolladores que necesitan depurar su código.

Además, Microusity genera dos tipos de informes: un informe de errores y un informe gráfico.

Informes de Errores

El informe de errores proporciona un resumen claro de lo que salió mal durante la prueba. Incluye:

  1. Resumen General de Pruebas: Esta sección muestra cuántas solicitudes se enviaron, el número de respuestas recibidas y los códigos de estado HTTP para esas respuestas. Ayuda a los desarrolladores a ver el panorama general del rendimiento de su API.

  2. Errores del BFF y Servicios Backend: Esta parte detalla cuántos errores ocurrieron y si vinieron del BFF o de los servicios backend.

  3. Secuencia de Solicitudes con Problemas: Aquí, el informe agrupa las solicitudes según los tipos de errores que encontraron. Por ejemplo, puede mostrar si una respuesta de error filtró información sensible o si un servicio devolvió un error de servidor.

Al proporcionar esta información, el informe de errores apoya a los desarrolladores en la identificación y solución rápida de problemas.

Informes Gráficos

Además de los informes de errores, Microusity ofrece informes gráficos que representan visualmente las relaciones entre las solicitudes. Estos informes pueden ayudar a los desarrolladores a entender cómo se mueven las solicitudes de los clientes a través del sistema.

El gráfico muestra la solicitud principal del cliente y todas las sub-solicitudes realizadas por el BFF a los servicios backend. Cada nodo representa una solicitud, y las flechas indican el flujo de datos. Si ocurre un error, las solicitudes relevantes se destacan, facilitando a los desarrolladores rastrear el problema.

Pruebas de Usuario y Retroalimentación

Para evaluar qué tan bien funciona Microusity, verdaderos desarrolladores de software probaron la herramienta. Proporcionaron sus opiniones sobre su usabilidad y efectividad. En general, los usuarios encontraron a Microusity útil y fácil de usar. Apreciaron los claros informes de errores y la representación gráfica de las solicitudes.

Muchos usuarios informaron que Microusity les ahorró tiempo. En lugar de rastrear manualmente problemas, podían confiar en los informes de la herramienta para identificar problemas rápidamente. Esta eficiencia es crucial para los desarrolladores que trabajan con sistemas de microservicios complejos.

Sin embargo, algunos usuarios indicaron áreas de mejora. Sugerieron que unas mejores instrucciones para comenzar serían útiles, ya que algunos encontraron la curva de aprendizaje empinada. Otros notaron que la herramienta requiere configuraciones específicas y conocimientos sobre los sistemas subyacentes. Abordar estos problemas será importante para futuras versiones de Microusity.

Conclusión

Microusity representa una herramienta valiosa para los desarrolladores que trabajan con sistemas de microservicios BFF. Al automatizar las pruebas y proporcionar informes claros, mejora la capacidad de encontrar y solucionar errores. En un panorama donde los microservicios están siendo cada vez más comunes, herramientas como Microusity pueden simplificar el proceso de desarrollo y mejorar la calidad del software.

La retroalimentación de los usuarios sugiere que Microusity es efectiva, pero hay oportunidades para hacerla aún más fácil de usar. A medida que los desarrolladores continúen adoptando microservicios, la necesidad de herramientas de prueba robustas solo crecerá. Microusity se destaca como una solución prometedora en este entorno en evolución.

En resumen, el enfoque de Microusity hacia las pruebas automatizadas ayuda a abordar muchos desafíos que vienen con la gestión de arquitecturas de microservicios. Al rastrear efectivamente las solicitudes y generar informes útiles, asiste a los desarrolladores en mantener la integridad y seguridad de sus sistemas. Esta herramienta ofrece tanto un valor inmediato como potencial para futuras mejoras, convirtiéndola en un activo significativo en el ámbito del desarrollo de software.

Fuente original

Título: Microusity: A testing tool for Backends for Frontends (BFF) Microservice Systems

Resumen: The microservice software architecture is more scalable and efficient than its monolithic predecessor. Despite its increasing adoption, microservices might expose security concerns and issues that are distinct from those associated with monolithic designs. We propose Microusity, a tool that performs RESTful API testing on a specific type of microservice pattern called back end for front end (BFF). We design a novel approach to trace BFF requests using the port mapping between requests to BFF and the sub-requests sent to back-end microservices. Furthermore, our tool can pinpoint which of the back end service causing the internal server error, which may lead to unhandled errors or vulnerabilities. Microusity provides an error report and a graph visualization that reveal the source of the error and supports developers in comprehension and debugging of the errors. The evaluation of eight software practitioners shows that Microusity and its security test reports are useful for investigating and understanding problems in BFF systems. The prototype tool and the video demo of the tool can be found at https://github.com/MUICT-SERU/MICROUSITY.

Autores: Pattarakrit Rattanukul, Chansida Makaranond, Pumipat Watanakulcharus, Chaiyong Ragkhitwetsagul, Tanapol Nearunchorn, Vasaka Visoottiviseth, Morakot Choetkiertikul, Thanwadee Sunetnanta

Última actualización: 2023-02-22 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2302.11150

Fuente PDF: https://arxiv.org/pdf/2302.11150

Licencia: https://creativecommons.org/licenses/by/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares