Testing software: Differenze test di carico e stress test

Testing software: Differenze test di carico e stress test

Dopo che il sistema è stato completamente integrato e funzionate, è possibile iniziare con il processo di testing del software ed in particolar modo testarne le proprietà emergenti, come le prestazioni ed affidabilità.
I test di prestazione in genere riguardano il carico e si pianificano test in cui il carico viene incrementato progressivamente finché le prestazioni diventano inaccettabili. Il carico deve essere progettato in modo da rispecchiare le normali condizioni di utilizzo del cliente.

Questo articolo fornisce dunque una panoramica dei test delle prestazioni che si concentrano principalmente sui test delle prestazioni delle applicazioni presenti sul Web. I diversi tipi di test coinvolti sono test delle prestazioni, test di carico e test di stress. Apache jmeter è un’applicazione desktop molto utilizzata per simulare un carico pesante su un server, un gruppo di server, una rete o un oggetto per testarne la forza o analizzare le prestazioni complessive sotto diversi tipi di carico. Vediamo dunque la differenza principile tra le tre tipologie di test precedenti.

Testing software: Differenze test di carico e stress test

Test delle prestazioni (performance test)

Il test delle prestazione è un tipo di test non funzionale. Questo test viene utilizzato per accertare come si comportano i componenti di un sistema, in base a uno scenario particolare. Anche l’utilizzo delle risorse, la scalabilità e l’affidabilità del prodotto sono convalidati nell’ambito di questo test. Un test delle performance è dunque un tipo di test del software che viene condotto per comprendere il comportamento dell’applicazione al fine di capire se le performance soddisfano gli utilizzatori finali.

Test di carico (load test)

Il test del carico è una parte del test delle prestazioni. Il test del carico è utilizzato per testare il sistema aumentando costantemente il carico sul sistema, fino al momento in cui raggiunge il limite di soglia. In altre parole, questo test rappresenta il processo di richiesta di un sistema e misurazione della sua risposta.

Esempi di test di carico includono

  • Download di una serie di file di grandi dimensioni da Internet
  • Esecuzione di più applicazioni su un computer o server contemporaneamente
  • Assegnazione di molti lavori a una stampante in una coda
  • Sottoporre un server a una grande quantità di traffico
  • Scrittura e lettura continua di dati da e su un disco rigido.

Il test di carico è molto importante in quanto durante il test del sito Web o di un’app sotto carico, il tester sta effettivamente simulando il suo rendimento quando centinaia, migliaia o persino milioni di utenti lo visitano in tempo reale. L’applicazione potrebbe funzionare bene per un utente durante i test funzionali, ma le sue prestazioni potrebbero ridursi quando molti utenti tentano di accedervi contemporaneamente durante i test di carico a causa della mancanza di risorse di sistema. Pertanto è meglio eseguire sempre i test di carico per comprendere, analizzare e correggere i bug prima che si verifichino effettivamente in tempo reale.

Test di stress (stress test)

Le prove di stress sono incentrate sulla determinazione o sulla convalida delle caratteristiche di prestazione del sistema o dell’applicazione in prova quando sono soggette a condizioni oltre quelle previste durante le operazioni di produzione. L’eventuale fallimento dovrebbe essere “leggero” e non produrre effetti catastrofici. Si deve controllare che non ci siano perdite inaccettabili di servizio e di dati. Lo Stress testing è particolarmente rilevante per sistemi distribuiti che possono mostrare severe degradazioni delle prestazioni quando la rete è sommersa di richieste.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: lavecchia.vi[email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *