European Commission logo
italiano italiano
CORDIS - Risultati della ricerca dell’UE
CORDIS

ElasTest: an elastic platform for testing complex distributed large software systems

Article Category

Article available in the following languages:

Una nuova piattaforma per testare complessi sistemi software distribuiti

Esiste un nuovo strumento che non solo riesce a domare la complessità delle verifiche nei confronti di sistemi distribuiti su larga scala, ma che riesce a farlo in modo da ridurre i costi senza sacrificare la qualità.

Economia digitale icon Economia digitale

Il potenziale per sistemi software distribuiti su larga scala è immenso. Tramite la condivisione di componenti software su più computer, questi sistemi promettono di essere resistenti ai guasti, flessibili nonché economicamente vantaggiosi. Di conseguenza, potrebbero migliorare in modo considerevole l’efficienza e le prestazioni di una vasta gamma di operazioni di calcolo. Eppure, nonostante questo potenziale, la disponibilità di questo tipo di grandi sistemi interconnessi rimane ben al di sotto della domanda. Ciò è dovuto al fatto che per molti sviluppatori, i costi per la validazione di questi sistemi software risulta troppo elevato e richiede processi di verifica complessi. «Ogni volta che gli sviluppatori intendono convalidare caratteristiche non funzionali, devono in primo luogo creare architetture di verifica complesse, che comprendono la personalizzazione dei meccanismi di orchestrazione del cloud e la gestione della scalabilità delle verifiche», afferma Francisco Gortázar Bellas, professore presso l’Università Rey Juan Carlos. «E se ciò non fosse già di per sé abbastanza difficile, tutto si complica ulteriormente a causa della necessità di dover riprodurre le condizioni operative presenti nel mondo reale». Con l’obiettivo di semplificare e ottimizzare il processo di convalida, il progetto ELASTEST, finanziato dall’UE, si è adoperato per fornire ai team di sviluppo gli strumenti necessari per ottenere software privi di difetti.

Ridurre e semplificare

Lo strumento ElasTest è stato concepito non solo per domare la complessità delle verifiche nei confronti di sistemi distribuiti su larga scala, ma anche per riuscire a farlo in modo da ridurre i costi e al contempo sostenere il livello qualitativo. Per raggiungere questo scopo, i ricercatori hanno concentrato la loro attenzione su tre obiettivi cardine: riduzione dei tempi di commercializzazione, riduzione del tempo di localizzazione dei bug e semplificazione del processo di verifica. Per quanto riguarda la riduzione dei tempi di commercializzazione, lo strumento ElasTest offre un numero di servizi pronti all’uso tramite interfacce di programmazione di un’applicazione (API, Application Programming Interface) con architetture software REST (REpresentational State Transfer) ben documentate. È possibile utilizzare questi servizi singolarmente o tramite varie combinazioni. Tutti questi offrono strumenti su richiesta che possono essere sfruttati dal codice di verifica. Essi comprendono browser, dispositivi provvisti di internet delle cose (IoT, Internet of Things), controlli di sicurezza, monitoraggio e analisi dei dati. Per ridurre i tempi di localizzazione dei bug, questo strumento fornisce all’utente strumenti di visualizzazione nonché analitici. «Sulla base di analisi dei registri, la notifica incentrata sulle operazioni e il confronto dei registri, questa funzione aiuta l’utente a trovare il cosiddetto ago nel pagliaio», spiega Gortázar. Lo strumento ElasTest può inoltre contribuire a semplificare il processo di configurazione ed esecuzione delle verifiche. A tale scopo, utilizza un linguaggio specifico del dominio conforme al server di integrazione continua Jenkins, uno dei modelli di server di integrazione continua più diffusi sul mercato. «In un mondo in cui il cloud sta diventando una merce e i servizi sono distribuiti per natura, uno strumento come ElasTest può fare una grande differenza nella valutazione di applicazioni complesse», aggiunge Gortázar. Lo strumento è stato validato in diversi ambiti di utilizzo, inclusi web, 5G, comunicazione in tempo reale e internet delle cose.

Un’attenzione scrupolosa

Sebbene il progetto abbia dovuto apportare diverse modifiche lungo il suo percorso, tra cui fornire soluzioni per verifiche sia automatiche che manuali, non si è mai discostato dal suo obiettivo principale: incorporare diversi componenti adoperando le migliori pratiche nel corso di una costante integrazione e consegna. «La nostra attenzione scrupolosa ci ha permesso di progredire a un ritmo costante e, allo stesso tempo, di ridurre al minimo i rischi», afferma Gortázar. «È proprio questo il segreto del nostro successo, un successo ben documentato dalle nostre considerevoli attività divulgative». Le attività divulgative riguardano la pubblicazione di 15 versioni software dello strumento ElasTest nonché una serie di articoli e presentazioni in 34 diverse riviste e conferenze, tra cui spicca la prestigiosa conferenza internazionale sull’ingegneria del software (ICSE, International Conference on Software Engineering). Il progetto ha inoltre preso parte ad alcune delle più importanti conferenze del settore in materia di verifiche.

Parole chiave

ELASTEST, server di integrazione continua Jenkins, sistemi software distribuiti, software, elaborazione, internet delle cose, IoT, 5G

Scopri altri articoli nello stesso settore di applicazione