Lead
Il software necessita di essere sviluppato con garanzie di corretto funzionamento e buona performance nonostante sia aggiornato continuamente. In questo progetto identifichiamo soluzioni innovative che permettano di integrare il test di performance del software nei moderni processi di sviluppo, caratterizzati da release molto frequenti, e per moderne architetture software a microservizi.

Lay summary
Soggetto e obiettivo

Il nostro obiettivo primario è di offrire un linguaggio dichiarativo ed eseguibile, che permetta alle diverse figure professionali coinvolte nel processo di sviluppo del software di automatizzare l'esecuzione di test delle performance in diversi momenti del processo di sviluppo, e di accedere ai risultati in ogni momento per poter valutare al meglio come procedere con lo sviluppo. 
Ci prefissiamo inoltre l'obiettivo di investigare e sviluppare techniche che permettano di ridurre il tempo necessario all'esecuzione dei test di performance, grazie al riutilizzo di informazioni generate in passato e ancora valide. 

Contesto socio-scientifico

La sempre maggiore velocità con cui gli utenti finali si aspettano che nuove funzionalità siano disponibili ha portato a dei grandi cambiamenti nel processo di sviluppo del software, che ora è divenuto agile ed iterativo, con rilasci molto frequenti e con il coinvolgimento di esperti con conoscenze eterogenee all'interno dei team di sviluppo. Questi aspetti riguardano anche i processi di valutazione e verifica delle performance di questi software.  Risulta infatti sempre più rischioso rilasciare software che non risponde in maniera sufficientemente veloce alle richieste degli utenti per via della sempre maggiore presenza di concorrenti sul mercato, d'altro canto si ha sempre meno tempo per potersi accertare che il software funzioni come atteso.