Cos'è il test di carico? (Esempi)

Caricare i test

Cos'è il test di carico?

Caricare i test è un processo di test software non funzionale in cui le prestazioni dell'applicazione software vengono testate sotto uno specifico carico previsto. Determina il comportamento dell'applicazione software mentre più utenti vi accedono contemporaneamente. L'obiettivo del test di carico è migliorare i colli di bottiglia delle prestazioni e garantire stabilità e funzionamento regolare dell'applicazione software prima della distribuzione.

Questo test di solito identifica:

  • La capacità operativa massima di un'applicazione
  • Determinare se l'infrastruttura attuale è sufficiente per eseguire l'applicazione
  • Sostenibilità dell'applicazione rispetto al carico massimo di utenti
  • Numero di utenti simultanei che un'applicazione può supportare e scalabilità per consentire a più utenti di accedervi.

È un tipo di test non funzionale. Nell'ingegneria del software, il test di carico viene comunemente utilizzato per applicazioni client/server basate sul Web, sia Intranet che Internet.

Necessità di test di carico

Alcuni siti estremamente popolari hanno subito gravi tempi di inattività quando ottengono enormi volumi di traffico. I siti web di e-commerce investono molto nelle campagne pubblicitarie, ma non nei test di carico per garantire prestazioni ottimali del sistema, quando il marketing porta traffico.

Considerare i seguenti esempi di test di carico

  • Il famoso negozio di giocattoli Toysrus.com non è riuscito a gestire l'aumento del traffico generato dalla campagna pubblicitaria, con conseguente perdita sia di dollari di marketing che di potenziali vendite di giocattoli.
  • Il sito web di una compagnia aerea non è stato in grado di gestire più di 10000 utenti durante l'offerta di un festival.
  • L'Enciclopedia Britannica ha dichiarato l'accesso gratuito al suo database online come offerta promozionale. Non sono riusciti a tenere il passo con l'assalto del traffico per settimane.

Molti siti subiscono tempi di caricamento ritardati quando incontrano traffico intenso. Pochi fatti –

  • La maggior parte degli utenti fa clic dopo un ritardo di 8 secondi nel caricamento di una pagina
  • € 4.4 Billione Perso ogni anno a causa di scarse prestazioni

Perché eseguire i test di carico?

  • I test di carico danno fiducia nel sistema, nella sua affidabilità e prestazioni.
  • Il test di carico aiuta a identificare i colli di bottiglia nel sistema in scenari di stress intenso degli utenti prima che si verifichino in un ambiente di produzione.
  • I test di carico offrono un'eccellente protezione contro scarse prestazioni e consentono strategie complementari per la gestione delle prestazioni e il monitoraggio di un ambiente di produzione.

Obiettivi del test di carico

I test di caricamento identificano i seguenti problemi prima di spostare l'applicazione sul mercato o in produzione:

  • Tempo di risposta per ogni transazione
  • Prestazioni dei componenti del sistema sotto carichi diversi
  • Prestazioni dei componenti del database sotto carichi diversi
  • Ritardo di rete tra il client e il server
  • Problemi di progettazione del software
  • Problemi di configurazione del server come un server Web, un server delle applicazioni, un server di database ecc.
  • Problemi di limitazione hardware come massimizzazione della CPU, limitazioni di memoria, collo di bottiglia della rete, ecc.

Il test di carico determinerà se il sistema necessita di essere messo a punto o se è necessaria una modifica dell'hardware e del software per migliorare le prestazioni. Per condurre in modo efficace i test di carico, è possibile utilizzarne diversi strumenti di test delle prestazioni disponibili per aiutarti a identificare le aree di miglioramento.

Prerequisiti del test di carico

La metrica principale per il test di carico è il tempo di risposta. Prima di iniziare il test di carico, è necessario determinare:

  • Se il tempo di risposta è già misurato e confrontato – Quantitativo
  • Se il tempo di risposta è applicabile al processo aziendale – Rilevante
  • Se il tempo di risposta è giustificabile – Realistico
  • Se il tempo di risposta è realizzabile – Raggiungibile
  • Se il tempo di risposta è misurabile utilizzando uno strumento o un cronometro: misurabile

È necessario configurare un ambiente prima di iniziare il test di carico:

Piattaforma hardware Configurazione software
  • Macchine server
  • Processori
  • Memorie
  • Archiviazione su disco
  • Carica la configurazione delle macchine
  • Configurazione di rete
  • Operasistema di ting
  • Software server

Strategie di prova di carico

Esistono molti modi per eseguire test di carico. Di seguito sono riportate alcune strategie di test di carico:

Strategie di prova di carico

  • Test di carico manuale: Questa è una delle strategie per eseguire test di carico, ma non produce risultati ripetibili, non può fornire livelli misurabili di stress su un'applicazione ed è un processo impossibile da coordinare.
  • Strumenti di test di carico sviluppati internamente: Un'organizzazione, che comprende l'importanza dei test di carico, può creare i propri strumenti per eseguire test di carico.
  • Strumenti di test di carico open source: Sono disponibili diversi strumenti di test del carico come open source gratuiti. Potrebbero non essere sofisticati come le loro controparti a pagamento, ma se hai un budget limitato, sono la scelta migliore.
  • Strumenti per test di carico di classe enterprise: Di solito sono dotati di funzionalità di acquisizione/riproduzione. Supportano un gran numero di protocolli. Possono simulare un numero eccezionalmente elevato di utenti.

Come eseguire il test di carico

Il processo di test di carico può essere brevemente descritto come di seguito:

  1. Crea un file dedicato Ambiente di test per prove di carico
  2. Determinare quanto segue
  3. Scenari di test di carico
  4. Determinare le transazioni di test di carico per un'applicazione
    • Preparare i dati per ogni transazione
    • È necessario prevedere il numero di utenti che accedono al sistema
    • Determina la velocità di connessione. Alcuni utenti possono essere collegati tramite linee affittate mentre altri possono utilizzare la connessione remota
    • Determinare i diversi browser e sistemi operativi utilizzati dagli utenti 
    • Una configurazione di tutti i server come server Web, applicazioni e DB
  5. Esecuzione e monitoraggio dello scenario di test. Raccolta di vari parametri
  6. Analizzare i risultati. Formula raccomandazioni
  7. Ottimizzare il sistema
  8. Riprova

Linee guida per il test di carico

Linee guida per il test di carico

  1. Il test di carico dovrebbe essere pianificato una volta che l'applicazione diventa funzionalmente stabile.
  2. Nel pool di dati dovrebbe essere pronto un gran numero di dati univoci
  3. Il numero di utenti dovrebbe essere deciso per ogni scenario o script
  4. Evitare la creazione di log dettagliati per conservare lo spazio di I/O su disco
  5. Cerca di evitare il download di immagini nel sito
  6. Nel processo di esecuzione dei casi di test del test di carico, è necessario registrare la coerenza del tempo di risposta nel periodo trascorso e confrontarlo con varie esecuzioni di test.

Differenza tra test di carico e stress

Caricare i test Test di stress
Il test di carico identifica i colli di bottiglia nel sistema sotto vari carichi di lavoro e controlla come il sistema reagisce quando il carico viene gradualmente aumentato Test di stress determina il punto di rottura del sistema per rivelare il punto massimo oltre il quale si rompe.
Per riconoscere il limite superiore del sistema, imposta lo SLA dell'app e controlla come il sistema può gestire un carico pesante. Per verificare come si comporta il sistema sotto carichi estremi e come si riprende dopo un guasto.
Generare un carico maggiore su un'applicazione web è lo scopo principale del test di carico. Lo stress test mira a garantire che sotto un carico elevato improvviso per una durata considerevole i server non si blocchino.
Gli attributi che vengono controllati in un test di carico sono le prestazioni massime, la quantità di server e il tempo di risposta. Questo tipo di test verifica il tempo di risposta della stabilità, ecc.
Nel test di carico il limite di carico è una soglia di interruzione. Nello stress test il limite di carico è superiore alla soglia di rottura.

Differenza tra test funzionali e di carico

Test di funzionalità Caricare i test
I risultati dei test funzionali sono facilmente prevedibili poiché sono stati definiti passaggi e precondizioni adeguati I risultati dei test di carico sono imprevedibili
I risultati dei test funzionali variano leggermente I risultati del test di carico variano drasticamente
Frequenza di esecuzione Test di funzionalità sarà alto La frequenza di esecuzione dei test di carico sarà bassa
I risultati dei test funzionali dipendono dai dati del test Il test di carico dipende dal numero di utenti.

Strumenti di test di carico

Caricatore di carico:

Load Runner è uno strumento HP utilizzato per testare le applicazioni in condizioni di carico normale e di picco. Il load runner genera carico creando utenti virtuali che emulano il traffico di rete. Simula l'utilizzo in tempo reale come un ambiente di produzione e fornisce risultati grafici.

Ulteriori informazioni su Loadrunner qui.

Vantaggi e svantaggi del test di carico

Di seguito sono riportati i vantaggi del test di carico:

  • Identificazione dei colli di bottiglia delle prestazioni prima della produzione
  • Migliora la scalabilità del sistema
  • Ridurre al minimo i rischi legati ai tempi di inattività del sistema
  • Costi ridotti in caso di fallimento
  • Aumenta la soddisfazione del cliente

Svantaggi del test di carico:

  • Sono necessarie conoscenze di programmazione per utilizzare strumenti per condurre un test di carico nel contesto del test del software.
  • Gli strumenti possono essere costosi poiché i prezzi dipendono dal numero di utenti virtuali supportati.

Sintesi

  • Il test di carico è definito come un tipo di test del software che determina le prestazioni di un sistema in condizioni di carico reali.
  • I test di carico in genere migliorano i colli di bottiglia delle prestazioni, la scalabilità e la stabilità dell'applicazione prima che sia disponibile per la produzione.
  • Questo test aiuta a identificare la capacità operativa massima delle applicazioni nonché i colli di bottiglia del sistema.
  • Carica il test in test del software è importante perché se ignorato, può causare perdite finanziarie per un'organizzazione.