Simple Science

Ciência de ponta explicada de forma simples

# Informática# Engenharia de software

Apresentando o Microusity: Uma Ferramenta para Teste de Microserviços

Microusity simplifica os testes para microserviços, melhorando o rastreamento e a geração de relatórios de erros.

― 6 min ler


Microusity: TestandoMicrousity: TestandoMicroserviços SemComplicaçãoMicrousity.microserviços de forma eficiente com aTeste e acompanhe erros de
Índice

No mundo do desenvolvimento de software, Microserviços são um jeito popular de criar aplicações. Diferente do software tradicional, que é feito como uma única unidade, microserviços dividem as aplicações em partes menores e independentes. Cada parte, ou serviço, pode funcionar sozinha e ser alterada sem mexer no resto da aplicação. Esse jeito de fazer as coisas facilita a gestão e a escalabilidade do software à medida que as empresas crescem.

Mas, embora microserviços ofereçam várias vantagens, eles também podem trazer novos riscos de segurança. Cada serviço precisa se comunicar com os outros, e problemas podem surgir nessas interações. Quando rolam problemas, como erros ou falhas de segurança, pode ser complicado descobrir de onde eles vêm.

O que é o Microusity?

Microusity é uma ferramenta feita para ajudar os desenvolvedores a testarem seus microserviços, especialmente um padrão conhecido como "back end para front end" (BFF). O padrão BFF cria uma interface especial entre o cliente, como um app mobile ou site, e os serviços de back-end que têm os dados de verdade. Com isso, diferentes clientes conseguem trabalhar melhor com os dados que precisam.

O principal objetivo do Microusity é facilitar a identificação e correção de erros que acontecem nesses sistemas de microserviços. Ao monitorar requisições e respostas da API, a ferramenta consegue identificar qual serviço de back-end causou um problema e fornecer relatórios úteis para os desenvolvedores.

A Importância dos Testes

Testar é uma etapa crucial no desenvolvimento de software. Uma ferramenta como o Microusity ajuda a testar as interações entre diferentes partes de um sistema de microserviços para garantir que tudo funcione direitinho. Quando ocorre um erro, o Microusity consegue rastrear a requisição do cliente através do BFF até os serviços de back-end.

Sem testes adequados, os desenvolvedores podem acabar gastando muito tempo tentando descobrir problemas. Eles podem enfrentar situações em que uma mensagem de erro não deixa claro onde está o problema. Isso pode resultar em perda de tempo e frustração.

Como o Microusity Funciona

O Microusity tem dois componentes principais: o motor de testes e o sistema de monitoramento. A ferramenta usa um motor de testes automatizado que gera várias requisições para as APIs dos microserviços. Ela monitora como essas requisições fluem pelo sistema e verifica se há erros nas respostas.

O motor de testes manda diferentes entradas para o BFF e observa os resultados. Se acontecer um erro, a ferramenta verifica qual serviço de back-end foi chamado e ajuda a identificar a fonte do problema. Essas informações são valiosas para os desenvolvedores que precisam depurar seu código.

Além disso, o Microusity gera dois tipos de relatórios: um relatório de erro e um relatório gráfico.

Relatórios de Erros

O relatório de erros dá um resumo claro do que deu errado durante os testes. Ele inclui:

  1. Resumo Geral do Teste: Esta seção mostra quantas requisições foram enviadas, o número de respostas recebidas e os códigos de status HTTP dessas respostas. Ajuda os desenvolvedores a verem o panorama geral do desempenho da API.

  2. Erros do BFF e Serviços de Back-End: Essa parte detalha quantos erros ocorreram e se eles vieram do BFF ou dos serviços de back-end.

  3. Sequência de Requisições com Problemas: Aqui, o relatório agrupa as requisições com base nos tipos de erros que encontraram. Por exemplo, pode mostrar se uma resposta de erro vazou informações sensíveis ou se um serviço retornou um erro de servidor.

Ao fornecer essas informações, o relatório de erros ajuda os desenvolvedores a identificar e corrigir problemas rapidamente.

Relatórios Gráficos

Além dos relatórios de erro, o Microusity oferece relatórios gráficos que representam visualmente as relações entre as requisições. Esses relatórios podem ajudar os desenvolvedores a entender como as requisições dos clientes se movem pelo sistema.

O gráfico mostra a requisição principal do cliente e todas as sub-requisições feitas pelo BFF para os serviços de back-end. Cada nó representa uma requisição, e setas indicam o fluxo dos dados. Se ocorrer um erro, as requisições relevantes são destacadas, facilitando para os desenvolvedores rastrearem o problema.

Testes de Usuário e Feedback

Para avaliar como o Microusity funciona, desenvolvedores de software reais testaram a ferramenta. Eles deram feedback sobre a usabilidade e eficácia. No geral, os usuários acharam o Microusity útil e fácil de usar. Eles valorizaram os relatórios de erro claros e a representação gráfica das requisições.

Muitos usuários relataram que o Microusity economizou tempo pra eles. Em vez de ficar caçando problemas manualmente, eles podiam confiar nos relatórios da ferramenta para identificar problemas rapidamente. Essa eficiência é crucial para desenvolvedores que lidam com sistemas de microserviços complexos.

No entanto, alguns usuários apontaram áreas para melhorar. Eles sugeriram que instruções melhores para começar seriam úteis, já que alguns sentiram que a curva de aprendizado era íngreme. Outros notaram que a ferramenta exige configurações específicas e conhecimento sobre os sistemas subjacentes. Resolver essas questões será importante para versões futuras do Microusity.

Conclusão

O Microusity é uma ferramenta valiosa para desenvolvedores que trabalham com sistemas de microserviços BFF. Ao automatizar testes e fornecer relatórios claros, ele melhora a capacidade de encontrar e corrigir erros. Em um cenário onde microserviços estão se tornando cada vez mais comuns, ferramentas como o Microusity podem simplificar o processo de desenvolvimento e melhorar a qualidade do software.

O feedback dos usuários sugere que o Microusity é eficaz, mas há oportunidades para torná-lo ainda mais amigável. À medida que os desenvolvedores continuam a adotar microserviços, a necessidade de ferramentas de teste robustas só vai crescer. O Microusity se destaca como uma solução promissora nesse ambiente em evolução.

Resumindo, a abordagem do Microusity para testes automatizados ajuda a enfrentar muitos desafios que vêm com a gestão de arquiteturas de microserviços. Ao rastrear eficazmente requisições e gerar relatórios úteis, ele auxilia os desenvolvedores a manter a integridade e a segurança de seus sistemas. Essa ferramenta oferece valor imediato e potencial para futuras melhorias, tornando-se um ativo significativo no mundo do desenvolvimento de software.

Fonte original

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

Resumo: 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 atualização: 2023-02-22 00:00:00

Idioma: English

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

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

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes