Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Ingegneria del software

Presentiamo Microusity: uno strumento per testare microservizi

Microusity semplifica i test per i microservizi, migliorando il tracciamento e la segnalazione degli errori.

― 5 leggere min


Microusity: Testare iMicrousity: Testare imicroservizi è un giocoda ragazziMicrousity.microservizi in modo efficiente conTesta e monitora gli errori dei
Indice

Nel mondo dello sviluppo software, i Microservizi sono un metodo popolare per creare applicazioni. A differenza dei software tradizionali che vengono realizzati come un'unica unità, i microservizi suddividono le applicazioni in parti più piccole e indipendenti. Ogni parte, o servizio, può funzionare da sola ed essere modificata senza influenzare l'intera applicazione. Questo approccio rende più facile gestire e scalare il software man mano che le aziende crescono.

Tuttavia, mentre i microservizi offrono molti vantaggi, possono anche introdurre nuovi rischi per la sicurezza. Ogni servizio deve comunicare con gli altri, e possono sorgere problemi durante queste interazioni. Quando ci sono problemi, come errori o violazioni della sicurezza, può essere difficile capire da dove arrivano.

Cos'è Microusity?

Microusity è uno strumento progettato per aiutare gli sviluppatori a testare i loro microservizi, specificamente un pattern noto come "back end for front end" (BFF). Il pattern BFF crea un'interfaccia speciale tra il client, come un'app mobile o un sito web, e i servizi di back-end che contengono i dati reali. Questa configurazione permette a diversi client di lavorare meglio con i dati di cui hanno bisogno.

L'obiettivo principale di Microusity è rendere più facile trovare e risolvere gli errori che si verificano in questi sistemi di microservizi. Monitorando le richieste e le risposte delle API, lo strumento può identificare quale servizio di back-end ha causato un problema e fornire report utili agli sviluppatori.

L'importanza del Testing

Il testing è un passo cruciale nello sviluppo software. Uno strumento come Microusity aiuta a testare le interazioni tra le diverse parti di un sistema di microservizi per assicurarsi che funzionino insieme correttamente. Quando si verifica un errore, Microusity può risalire la richiesta dal client attraverso il BFF fino ai servizi di back-end.

Senza un testing adeguato, gli sviluppatori potrebbero trovarsi a perdere tempo nel cercare di identificare problemi. Potrebbero trovarsi in situazioni in cui un messaggio di errore non indica chiaramente dove si trovi il problema. Questo può portare a tempo sprecato e maggiore frustrazione.

Come funziona Microusity

Microusity ha due componenti principali: il motore di testing e il sistema di monitoraggio. Lo strumento utilizza un motore di testing automatizzato che genera varie richieste alle API dei microservizi. Monitora come queste richieste fluiscono attraverso il sistema e controlla eventuali errori nelle risposte.

Il motore di testing invia diversi input al BFF e osserva i risultati. Se si verifica un errore, lo strumento guarda quale servizio di back-end è stato chiamato e aiuta a individuare la fonte del problema. Queste informazioni sono preziose per gli sviluppatori che devono fare il debug del loro codice.

In aggiunta, Microusity genera due tipi di report: un report sugli errori e un report grafico.

Report sugli Errori

Il report sugli errori fornisce un riepilogo chiaro di cosa è andato storto durante il testing. Include:

  1. Riepilogo Generale del Test: Questa sezione mostra quante richieste sono state inviate, il numero di risposte ricevute e i codici di stato HTTP per quelle risposte. Aiuta gli sviluppatori a vedere il quadro generale delle prestazioni delle loro API.

  2. Errori dal BFF e dai Servizi di Back-End: Questa parte dettaglia quanti errori si sono verificati e se provenivano dal BFF o dai servizi di back-end.

  3. Sequenza di Richieste con Problemi: Qui, il report raggruppa le richieste in base ai tipi di errori riscontrati. Ad esempio, può mostrare se una risposta di errore ha rivelato informazioni sensibili o se un servizio ha restituito un errore del server.

Fornendo queste informazioni, il report sugli errori supporta gli sviluppatori nell'identificare e risolvere rapidamente i problemi.

Report Grafici

Oltre ai report sugli errori, Microusity offre report grafici che rappresentano visivamente le relazioni tra le richieste. Questi report possono aiutare gli sviluppatori a capire come le richieste del client si muovono attraverso il sistema.

Il grafico mostra la richiesta principale dal client e tutte le sotto-richieste fatte dal BFF ai servizi di back-end. Ogni nodo rappresenta una richiesta, e le frecce indicano il flusso dei dati. Se si verifica un errore, le richieste pertinenti vengono evidenziate, rendendo più facile per gli sviluppatori rintracciare il problema.

Test e Feedback degli Utenti

Per valutare quanto bene funziona Microusity, veri sviluppatori software hanno testato lo strumento. Hanno fornito feedback sulla sua usabilità e efficacia. In generale, gli utenti hanno trovato Microusity utile e facile da usare. Hanno apprezzato i report sugli errori chiari e la rappresentazione grafica delle richieste.

Molti utenti hanno riportato che Microusity ha fatto risparmiare loro tempo. Invece di inseguire manualmente i problemi, potevano contare sui report dello strumento per identificare rapidamente i problemi. Questa efficienza è cruciale per gli sviluppatori che lavorano con sistemi complessi di microservizi.

Tuttavia, alcuni utenti hanno indicato aree di miglioramento. Hanno suggerito che istruzioni migliori per iniziare sarebbero utili, poiché alcuni hanno trovato ripida la curva di apprendimento. Altri hanno notato che lo strumento richiede configurazioni specifiche e conoscenze sui sistemi sottostanti. Affrontare queste problematiche sarà importante per le future versioni di Microusity.

Conclusione

Microusity rappresenta uno strumento prezioso per gli sviluppatori che lavorano con i sistemi di microservizi BFF. Automatizzando il testing e fornendo report chiari, migliora la capacità di trovare e risolvere gli errori. In un panorama in cui i microservizi diventano sempre più comuni, strumenti come Microusity possono semplificare il processo di sviluppo e migliorare la qualità del software.

Il feedback degli utenti suggerisce che Microusity è efficace, ma ci sono opportunità per renderlo ancora più user-friendly. Man mano che gli sviluppatori continuano ad abbracciare i microservizi, la necessità di strumenti di testing robusti crescerà solo. Microusity si distingue come una soluzione promettente in questo ambiente in evoluzione.

In sintesi, l'approccio di Microusity al testing automatizzato aiuta ad affrontare molte sfide che derivano dalla gestione delle architetture a microservizi. Monitorando efficacemente le richieste e generando report utili, assiste gli sviluppatori nel mantenere l'integrità e la sicurezza dei loro sistemi. Questo strumento offre sia un valore immediato che potenziale per futuri miglioramenti, rendendolo un asset significativo nel campo dello sviluppo software.

Fonte originale

Titolo: Microusity: A testing tool for Backends for Frontends (BFF) Microservice Systems

Estratto: 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.

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

Ultimo aggiornamento: 2023-02-22 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2302.11150

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

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

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Altro dagli autori

Articoli simili