Prestazioni vs test di carico
Nel contesto dell'ingegneria del software, vengono eseguiti test delle prestazioni per individuare i colli di bottiglia di un sistema. I test delle prestazioni possono anche essere utilizzati per verificare attributi quali affidabilità, utilizzo delle risorse e scalabilità e stabilire una base per le prestazioni di un sistema. Il test del carico è uno dei sottogeneri del test delle prestazioni. Viene eseguito per misurare il comportamento di un sistema con un carico di lavoro specificato. Il test di carico è più rilevante per i sistemi multiutente basati sul modello client-server, ma altri sistemi software come word processor o editor grafici possono essere testati sul carico.
Test delle prestazioni
Come accennato in precedenza, i test delle prestazioni vengono eseguiti per determinare ed eliminare i colli di bottiglia di un sistema software e stabilire una linea di base delle sue prestazioni che sarebbe utile per ulteriori test. I test delle prestazioni includono test quali test di carico, test di resistenza (prove di immersione), test di picco, test di configurazione e test di isolamento. Il test delle prestazioni richiede un set di misurazioni del sistema attentamente controllato. Per ottenere i migliori risultati dai test delle prestazioni, dovrebbe essere ben pianificato e dovrebbe essere fatto su un sistema stabile in cui il processo di test possa procedere senza intoppi. È importante capire chiaramente cosa si vuole misurare in termini di prestazioni del sistema quando si eseguono test delle prestazioni. Ad esempio, se si sta testando le prestazioni di un'applicazione Web, è possibile conoscere il tempo di risposta accettabile e il numero di utenti simultanei che possono essere gestiti dal sistema. Tenendo presenti questi due aspetti, è possibile iniziare il test aumentando costantemente il numero di utenti e identificando il collo di bottiglia.
Caricare i test
Come accennato in precedenza, il test di carico è parte del test delle prestazioni e viene spesso eseguito aumentando il carico su un sistema software utilizzando strumenti automatici. Il test del carico è talvolta noto come test del volume. Alcuni esempi di test di caricamento consistono nel testare un server di posta con un numero elevato di cassette postali degli utenti o testare la modifica di un documento molto grande utilizzando un elaboratore di testi. I test di carico vengono eseguiti utilizzando un livello di carico predefinito che di solito utilizza il carico massimo che il sistema può gestire senza crash. Di solito, il test di carico mira a esporre bug che non sono esposti a test ordinari quali problemi di gestione della memoria, perdite di memoria, overflow del buffer, ecc. Il test di carico serve anche a garantire che il sistema soddisfi la linea di base delle prestazioni stabilita durante il test delle prestazioni.
Differenza tra prestazioni e carico test
Anche se i termini test delle prestazioni e test del carico sono usati in modo intercambiabile, il test del carico è solo un aspetto del test delle prestazioni. Anche gli obiettivi dei due test sono diversi. Il test delle prestazioni utilizza tecniche di test del carico allo scopo di ottenere misurazioni e benchmarking e utilizza diversi livelli di carico. Ma il test di carico funziona su un singolo livello di carico predefinito, di solito il carico massimo che il sistema può gestire senza crash. In pratica, i test delle prestazioni vengono eseguiti con l'intento di individuare i colli di bottiglia del sistema e di eliminarli. E quando il sistema non può più essere ottimizzato, viene avviato il test di carico, per determinare cosa è necessario aggiungere al sistema (spesso estensioni hardware come numero di server Web o server di database) per soddisfare i requisiti predefiniti dal cliente.