Performance testing, cos’è e perché andrebbe fatto

Home PA Digitale Servizi Digitali Performance testing, cos’è e perché andrebbe fatto

Sviluppare servizi digitali user-centered richiede alla PA di verificare e ottimizzare le performance dell’applicazione software, lungo l’intero ciclo di vita. Le prestazioni di software e a piattaforme sono infatti un prerequisito fondamentale per l’usabilità e un’esperienza multi-canale del cittadino

27 Febbraio 2023

F

Redazione FPA

Foto di Desola Lanre-Ologun su Unsplash - https://unsplash.com/it/foto/IgUR1iX0mqM

A gennaio 2023 è stato pubblicato l’aggiornamento 2022 – 2024 del Piano Triennale AgID, che costituisce l’evoluzione delle due precedenti edizioni, e in modo ancor più evidente, attribuisce uno spazio più rilevante al PNRR. Per questo si ribadisce che la trasformazione digitale della PA debba avvenire in modalità “user-centric, data driven e agile: le amministrazioni sviluppano i servizi digitali, prevedendo modalità agili di miglioramento continuo, partendo dall’esperienza dell’utente e basandosi sulla continua misurazione di prestazioni e utilizzo”.

Oltre alIe macro-fasi di sviluppo di ogni applicazione software (individuazione delle esigenze della PA, progettazione del servizio digitale, sviluppo, verifica funzionale ed erogazione), quindi, vi sono nuove attività che si stanno rivelando fondamentali nell’ottica del principio di “centralità del cittadino” appena citato: tra queste, in primo luogo, il performance testing.

Cosa è un performance testing

In breve, si tratta di un processo di collaudo che va oltre il consueto test di funzionalità del software, e che verifica la capacità di piattaforme e applicazioni di fornire prestazioni che il cittadino possa percepire come soddisfacenti. La qualità di un software, infatti, non può più essere interpretata solo come assenza di difetti del codice, ossia di bug, e carenze funzionali; allo stesso modo, è possibile affermare che un servizio non possa essere progettato sui bisogni organizzativi della PA: la qualità dei servizi digitali, in quest’era, va di pari passo con la citizen-experience e la citizen-satisfaction.

Ogni amministrazione, dunque, dovrebbe mettere a punto una strategia di testing per verificare la velocità nei tempi di risposta; l’efficienza nell’uso della memoria; la stabilità dell’applicazione in occasione di grossi incrementi di carichi di lavoro e/ picchi di traffico, eccetera. Allineare le prestazioni dei servizi pubblici a quelle delle più comuni piattaforme private è, oggi, un’attività che la PA deve prendere in carico perché ormai tutti noi cittadini ci aspettiamo quelli standard di velocità e semplicità d’uso.

Come funziona il performance testing e perché serve

Il performance testing è, di fatto, un test di carico, un vero e proprio stress test dell’applicazione software in determinate condizioni reali (simulate dal tool). Questa forma di collaudo delle prestazioni ed è importantissima anche alla luce del fatto che ogni organizzazione pubblica o privata ha ridotto i tempi di rilascio di nuove applicazioni. In una recente ricerca, IDC ha messo in evidenza che, dal 2020, il 90,5% delle realtà intervistate ha accelerato del 26% la velocità di deployment di nuove applicazioni e ne rilascia una ogni 2 settimane-un mese. Tali servizi andrebbero monitorati con attenzione, anche e soprattutto a livello di prestazioni. Dall’errore di valutazione all’erogazione del servizio in aree geografiche prive di una buona connessione, dai picco di traffico all’utilizzo dell’intelligenza artificiale, sono molti i motivi per i quali si rende necessario verificare costantemente che le performance dell’applicazione siano proprio come sono state pensate.

Proviamo a dare conto delle esigenze della PA rispetto allo sviluppo di servizi digitali:

  • raggiungere la citizen satisfaction
  • predisporre un’app tenendo conto dell’omnicanalità dei cittadini;
  • contenere i rischi che derivano:
    • dall’incremento di velocità di deployment
    • dall’automazione del deployment;
    • dallo sviluppo low-code e no-code da parte di professionalità prive di skill specifiche nelle attività di testing;
  • il bisogno di implementare applicazioni sicure in ambienti misti, dal web ai dispositivi mobili, al cloud

Nonostante queste evidenze, la pratica di performance testing di una applicazione software è ancora sottostimata.

La società di ricerca Forrester, per esempio, ha rilevato che oltre la metà degli sviluppatori dedica meno di un’ora al giorno a questo genere di attività e lo fa solo alla fine del ciclo di sviluppo, rischiando ingenti perdite di tempo e denaro per porre rimedio a performance inadeguate. Ecco perché, secondo la già citata survey di IDC, il 72,5% dei team DevOps mostra interesse per i performance test capaci di operare in modalità continua e sicura, con ogni protocollo e tipologia di applicazione software e, soprattutto, in qualsiasi ambiente di sviluppo.

Come si fa un Performance testing

Per identificare le anomalie, raggiungere corrette performance ed elaborare rapporti dettagliati occorre innanzitutto scegliere le metriche di valutazione delle performance. Successivamente, occorre implementare uno strumento capace di istaurare un processo continuo di testing, monitoraggio e ottimizzazione delle performance. Solo in questo modo sarà possibile analizzare le performance anche in funzione della user experience, di come la influenzano e la migliorano.

Strumenti di performance testing: come orientarsi nel procurement

In commercio, vi sono soluzioni di performance testing:

  • Saas – disponibili solo nel cloud. Questi strumenti sono distribuiti e gestiti dal fornitore di servizi, che gestisce il sistema, i suoi aggiornamenti e i patch;
  • Customer-managed che supportano implementazioni sia on-premise che nel cloud, e consentono di creare soluzioni ibride o multicloud. Questi tool sono molto flessibili, ma più impegnativi da gestire.

Le amministrazioni interessate ad implementare una soluzione di Performance testing, hanno la possibilità di collaborare con i vendor più attivi e quotati del settore. Tra questi, Micro Focus oggi Open Text.

Su questo tema FPA in collaborazione con Micro Focus (oggi OpenText), organizza il 1° marzo ore 11.00 un webinar di approfondimento. Partendo dall’esperienza di Inail con il “Bando Isi INAIL”, i cui fondi vengono assegnati alle imprese in occasione del “il click day”, verrà mostrata la metodologia che permette di testare l’affidabilità e il funzionamento dell’intero sistema.

La proposta di Micro Focus (oggi Open Text)

LoadRunner di Micro Focus è una delle soluzioni più avanzate nel settore degli strumenti di Performance testing: è in grado di supportare una vasta gamma di protocolli e di simulare traffico di rete in scenari realistici, per l’analisi delle prestazioni di siti web e applicazioni legacy o mobile. Inoltre, LoadRunner integra strumenti analitici intelligenti, tool DevOps e APM (application performance monitoring), utili per ottimizzare le prestazioni del software fin dalle fasi iniziali dello sviluppo. Un esempio di applicazione pratica può aiutare le amministrazioni a comprendere meglio le potenzialità di LoadRunner.

Testhouse, società di Quality Assurance (QA), testing software e DevOps, aveva l’esigenza di testare un’importante applicazione software sviluppata per un cliente. Micro Focus, chiamata a supporto, ha creato in soli tre giorni una piattaforma operativa di testing basata su SaaS, utilizzando LoadRunner Cloud, una soluzione di test di carico e prestazioni, estremamente scalabile.

Grazie a LoadRunner Cloud è stato possibile simulare 100mila utenti da regioni cloud globali e scalare senza che Techhouse possedesse, distribuisse e configurasse generatori di carico in locale. Uno degli utilizzi di LoadRunner Cloud più interessanti per la PA è la verifica delle performance e della tenuta del servizio digitale in occasione di picchi di utilizzo, situazione auspicabile per qualsiasi applicazione sviluppata per i cittadini.

Oltre ad assicurarsi che il servizio funzioni durante i picchi di utilizzo, il modello “pay as you need”, che caratterizza LoadRunner Cloud, consente di:

  • semplificare la pianificazione, l’esecuzione e la scalabilità dei test per il Web e le app mobile;
  • simulare qualsiasi tipo di rete con l’emulazione di rete incorporata;
  • scalare fino a oltre cinque milioni di utenti virtuali;
  • creare report dettagliati.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!