Test delle prestazioni e del carico
Nel contesto dell'ingegneria del software, i test delle prestazioni vengono eseguiti per scoprire i colli di bottiglia di un sistema. I test delle prestazioni possono essere utilizzati anche per verificare attributi quali affidabilità, utilizzo delle risorse e scalabilità e stabilire una linea di base per le prestazioni di un sistema. Il test di carico è uno dei sottogeneri dei test delle prestazioni. Viene eseguito per misurare il comportamento di un sistema in un carico di lavoro specifico. Il test di carico è più rilevante per i sistemi multiutente basati sul modello client-server, ma possono essere testati anche altri sistemi software come word processor o editor grafici.
Test delle prestazioni
Come accennato in precedenza, il test delle prestazioni viene eseguito 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 come test di carico, test di resistenza (test di sospensione), test di picco, test di configurazione e test di isolamento. Il test delle prestazioni richiede l'ottenimento di una serie di misurazioni del sistema attentamente controllata. Per ottenere i migliori risultati dai test delle prestazioni, dovrebbe essere ben pianificato e dovrebbe essere eseguito su un sistema stabile in cui il processo di test possa procedere senza intoppi. È importante comprendere chiaramente cosa si desidera effettivamente misurare in termini di prestazioni del sistema quando si esegue il test delle prestazioni. Ad esempio, se stai testando le prestazioni di un'applicazione Web, potresti voler conoscere il tempo di risposta accettabile e il numero di utenti simultanei che possono essere gestiti dal sistema. Tenendo presenti questi due aspetti, puoi iniziare il test aumentando costantemente il numero di utenti e individuando il collo di bottiglia.
Test di carico
Come accennato in precedenza, il test di carico fa parte del test delle prestazioni e viene spesso eseguito aumentando il carico su un sistema software utilizzando strumenti automatizzati. Il test di carico è talvolta noto come test di volume. Alcuni esempi di test di carico potrebbero essere testare un server di posta con un numero elevato di cassette postali utente 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, solitamente utilizzando il carico massimo che il sistema può gestire senza arresti anomali. Di solito, il test di carico mira a esporre i bug che non sono esposti nei test ordinari come problemi di gestione della memoria, perdite di memoria, overflow del buffer, ecc. Il test di carico serve anche come mezzo per garantire che il sistema soddisfi la linea di base delle prestazioni stabilita durante il test delle prestazioni.
Differenza tra prestazioni e test di carico
Anche se i termini test delle prestazioni e test del carico sono usati in modo intercambiabile, il test del carico è solo un singolo aspetto del test delle prestazioni. Anche gli obiettivi delle due prove sono diversi. Il test delle prestazioni utilizza tecniche di test di carico allo scopo di ottenere misurazioni e benchmarking e utilizza diversi livelli di carico. Ma il test di carico opera su un unico livello di carico predefinito, in genere il carico più alto che il sistema può gestire senza andare in crash. In pratica, i test delle prestazioni vengono eseguiti con l'intento di trovare i colli di bottiglia del sistema ed eliminarli. E quando il sistema non può più essere ottimizzato, viene avviato il test di carico, per determinare cosa è necessario aggiungere al sistema (il più delle volte estensioni hardware come il numero di server Web o server di database) per sostenere i requisiti predefiniti dal cliente.