A cura di Jerome Thomas, Digital and Application Performance Sales Engineer di Dynatrace
I test di carico oggi sono una pratica comune nel mondo dell’IT, molto spesso, però, rischiano di non essere pertinenti perché vengono limitati a un ambito di utilizzo ristretto e non tengono conto di scenari considerati eccezionali o troppo imprevedibili per essere significativi.
Non sorprende, quindi, che un’applicazione, per quanto sia stata accuratamente testata in condizioni di carico prima di essere messa in produzione, una volta in esecuzione presento problemi prestazionali nei periodi di picco di traffico.
Questi periodi di grande traffico (saldi, festività di fine anno, promozioni speciali, ecc.) rappresentano una criticità per molte aziende che operano online: dalle buone prestazioni delle loro applicazioni non dipende soltanto una quota significativa del fatturato (che nel periodo dei saldi può generare fino al 30% delle entrate annuali delle aziende di e-commerce), ma anche la loro reputazione e il grado di fidelizzazione dei clienti. I consumatori iperconnessi oggi sono molto esigenti per quanto riguarda la qualità dell’interazione con i brand e non si mostrano affatto tolleranti in caso di rallentamenti o, peggio, se il sistema si blocca. Se si spazientiscono, non ci mettono più di tanto ad andare a bussare alla porta del vicino.
È quindi essenziale per il business che l’IT affini quanto più possibile i test di carico, prendendo in considerazione in modo particolare la complessità che caratterizza sempre più le applicazioni, allo scopo di offrire ai clienti la migliore esperienza possibile qualunque sia il contesto, il dispositivo, il luogo e il momento dell’interazione. Ecco come fare attraverso 7 importanti passaggi:
1. Pensare come un utente
Al di là dei test funzionali e del monitoraggio del backend, è indispensabile progettare i test di carico in funzione del comportamento e dell’esperienza degli utenti reali. La priorità è garantire una buona user experience dei clienti nei periodi di grande traffico.
Chi sono i vostri utenti? Che dispositivi utilizzano? Quali sono le loro preferenze in termini di acquisto (prodotti, modalità di pagamento, modalità di consegna, .etc.)?
Per offrire ai clienti la migliore esperienza possibile, bisogna conoscerli bene. L’abbinamento di strumenti di web analytics e di misurazione dell’esperienza degli utenti reali (User Experience Management – UEM) può essere un valido aiuto, in particolare per individuare le criticità su cui concentrare i test successivi.
2. Individuare gli obiettivi giusti
Grazie alla possibilità di valutare l’esperienza di ciascun cliente in qualunque condizione, i dati sulla performance di tipo UEM offrono una visione precisa dell’impatto delle prestazioni sui tassi di conversione, per ciascuna fase di ciascuna transazione.
Questo permette di stabilire gli obiettivi pertinenti dei test, allo scopo di raggiungere i risultati di conversione desiderati, e di rafforzare la credibilità dell’IT nei confronti degli altri team aziendali:
Interpretare i risultati dei test in termini di fatturato significa parlare la stessa lingua e di condividere obiettivi comprensibili per tutti in azienda.
3. Considerare TUTTI i comportamenti
Gli utenti di un sito non si comportano tutti allo stesso modo, seguendo meccanicamente ogni fase di un processo d’acquisto. Alcuni esplorano il sito senza scegliere alcun prodotto, altri mettono qualche prodotto nel carrello e poi abbandonano quando arrivano alla fase della consegna. Sono pochi quelli che arrivano alla fine del processo: il pagamento.
L’insieme di questi comportamenti, sebbene non vengano presi tutti in considerazione nel calcolo del tasso di conversione, assorbono comunque delle risorse preziose.
I comportamenti devono essere tutti considerati nel contesto dei test di performance in quanto contribuiscono a formare il carico che il sito o l’applicazione deve sostenere.
4. Effettuare i test anche in produzione
Se i test su scala ridotta, realizzati in segreto nei laboratori IT, sono sufficienti per trovare i problemi più evidenti, in generale non consentono di isolare quelli meno appariscenti, che si presenteranno comunque quando l’applicazione diventa operativa.
Sono molti coloro che recalcitrano all’idea di testare le applicazioni in un ambiente di produzione in quanto temono di creare problemi per gli utenti o di influenzare negativamente le metriche di produzione.
Tuttavia, è essenziale individuare i problemi prima che lo facciano gli utenti, identificando i colli di bottiglia a livello di firewall, load balancer o acceleratori SSL, testando le dipendenze di terze parti (idealmente in un contesto reale) e testando le CDN (Content Delivery Networks).
5. Non trascurare alcuna fase
Se, in genere, gli utenti tollerano un rallentamento nelle ultime fasi di un ordine, un processo di convalida di un ordine decisamente troppo lento o che li avvicina alla scadenza dell’acquisto può avere serie conseguenze in termini di fatturato e di immagine. Progettare dei test per l’intero processo d’ordine fino alla fase del pagamento richiede tempo e può perfino rendere necessario mettere il sito in manutenzione per qualche ora, ma il gioco vale la candela.
È necessario richiedere al fornitore delle soluzioni di pagamento di poter passare in modalità test in modo da mantenere tutte le fasi del processo di pagamento attive, senza tuttavia manipolare denaro reale e prevedete anche un modo per annullare le spedizioni. In generale le piattaforme di e-commerce offrono questo tipo di opzioni.
6. Collaborare con il marketing
Le performance di un’applicazione sono una questione tecnica, tuttavia sono strettamente legate agli obiettivi di marketing: volume di traffico atteso, landing page visitate o anche codici promozionali. Questi ultimi, per esempio, possono influenzare le risorse del sistema a seconda della loro natura (generico o specifico) e del loro campo di applicazione (riduzione del costo dell’importo del carrello, riduzione delle spese di spedizione, ecc.).
Per questi motivi è importante comunicare con il marketing e tenere in considerazione l’insieme degli obiettivi prefissati, delle strategie ipotizzate e delle potenziali conseguenze sulle prestazioni dell’applicazione. Non si tratta semplicemente di realizzare dei test sulla base di un carico leggermente superiore a quello dell’anno precedente, quanto piuttosto di immaginare quella che potrebbe essere la crescita nei due o tre anni a venire, in modo da esser pronti per ogni evenienza.
7. Test, test e ancora test…il prima possibile!
Infine, il consiglio più importate è quello di non aspettate l’ultimo momento per eseguire i test di carico. Idealmente i test andrebbero condotti durante tutto il processo di sviluppo. Se ciò non avviene, bisogna cercare di prevedere almeno una quantità di tempo sufficiente (alcune settimane, se non alcuni mesi) prima di “andare in scena” per testare, correggere e ritestare l’applicazione. Soltanto in questo modo sarà possibile essere effettivamente pronti ad affrontare i picchi di traffico, qualunque sia la loro origine.
Se siete pronti, cominciate subito e testate sin d’ora, gratuitamente, la performance del vostro sito web o dell’applicazione mobile cliccando qui.