Test della prestazione

Un test delle prestazioni è un test il cui obiettivo è determinare le prestazioni di un sistema informatico .

Il significato più comune di questo termine è quello in cui questi test software mireranno a misurare i tempi di risposta di un sistema applicativo in base alla sua richiesta. Questa definizione è quindi molto vicina a quella del test di carico dove il comportamento di un sistema viene misurato in funzione del carico di utenti simultanei. Solo i test di carico possono convalidare correttamente un'applicazione o un sistema prima della distribuzione, sia in termini di qualità del servizio che di consumo di risorse.

Tipi di test

Questi test possono essere di diversi tipi, tra cui:

Resta inteso che in linea di principio un tipo di test corrisponde a un tipo di obiettivo, e che in una matrice di copertura del test i risultati necessariamente si sovrappongono, è raro (e costoso) eseguire tutti questi test per una data applicazione.

Se l'applicazione è già in produzione, o in fase pilota, è anche possibile, per conoscere le prestazioni del sistema, effettuare una metrologia , qualificata come monitoraggio della produzione , che consentirà di osservare nel dettaglio il funzionamento del sistema sulla base delle effettive azioni dell'utente. I risultati di tale campagna metrologica che consentono di conoscere le funzionalità effettivamente utilizzate, e la loro frequenza di utilizzo, possono poi servire come base per orientare i test da effettuare in future simulazioni, o servire come base per un soluzione di monitoraggio della produzione .

Definizione del piano di test

Il piano di test è l'espressione della necessità della campagna di test ed è il primo deliverable nel processo di test. Contiene la presentazione del progetto (sintesi, architettura tecnica e software), gli obiettivi, il modello di carico, la tipologia di test da effettuare, gli scenari funzionali (o casi d'uso) da testare accompagnati dai set di dati necessari, e un programma di esecuzione per questi test. Questo documento include elementi degli input al processo di testing, in particolare le specifiche per i test stabilite dal “cliente” (in generale, un MOE) a cui è allegato il Documento di Architettura Tecnica. Ovviamente, il successo del processo è direttamente collegato all'accuratezza e alla completezza delle informazioni fornite come input.

I set di dati consentono di simulare la realtà il più fedelmente possibile. Un data set può, ad esempio, essere costituito da n login en password, rendendo così possibile simulare diversi utenti che si connettono all'applicazione.

Il modello di carico consiste, da un modello di utilizzo dell'applicazione (numero di utenti simultanei, numero di processi aziendali svolti, periodi di utilizzo, ore di punta, ecc.) Nella modellazione del carico che deve essere simulato e che dovrebbe essere rappresentativo l'attività reale o attesa dell'applicazione di punta, generalmente durante uno stress test, tenendo conto dell'ambiente di test. Questa modellazione contiene quindi un numero di utenti da simulare, la loro distribuzione sui vari script (scenari funzionali), le rispettive velocità di esecuzione. Per inciso, il modello può tenere conto dei profili di aumento o diminuzione del carico dei gruppi di utenti, se questo è di particolare importanza (ad esempio quando si vogliono simulare "burst" di transazioni), sapendo che in linea di principio le prestazioni sotto carico target devono essere indipendente dall'aumento del carico (dopo la stabilizzazione).

Presentazione dei risultati e rapporto di prova

Il Test Report, un deliverable obbligatorio ed essenziale del processo di test, fornisce i risultati ottenuti durante i test effettuati, possibilmente un avviso di rilascio, ma anche raccomandazioni sull'applicazione o sul sistema per risolvere i problemi di prestazioni.

Correlato al Piano di Prova, consente di validare che i risultati ottenuti siano conformi agli obiettivi attesi, in un preciso contesto tecnico (produzione, preproduzione, dedicato, modellato, ecc.), Possibilmente ottimizzato, con ipotesi di carico chiaramente identificate e definite dal MOA e / o dal MOE e / o dalla Produzione.

In quanto tale, restituisce i risultati in base a tre visualizzazioni:

Tutti i dati restituiti nel report danno quindi un livello di qualità del servizio per l'applicazione, sotto carico, che dovrebbe essere confrontato con le aspettative predefinite nel Piano di Test. Deve consentire ai team di produzione di anticipare le risorse da mettere a disposizione, nonché le impostazioni da implementare.

Metodologia

Il test delle prestazioni dovrebbe essere implementato ed eseguito per tutto il ciclo di sviluppo il prima possibile. Un risultato più o meno preciso ora è meglio di un risultato molto preciso successivo.

Fase 1: Analisi di base (l'analisi preliminare consiste nel registrare uno o più scenari (o casi d'uso) per comprendere meglio l'applicazione e l'ambito del test).

Passaggio 2: test preliminari.

Passaggio 3: test di carico su larga scala

Strumenti richiesti

Poiché generalmente si tratta di simulare un gran numero di utenti, è necessario automatizzare questi test. L'automazione dei test, che si tratti di test delle prestazioni o meno, richiede di affrontare due problemi:

Prendiamo ad esempio il caso del test delle prestazioni di un portale eCommerce in cui affronteremo più in particolare la funzione di costituzione di un carrello della spesa. Deve essere presente un meccanismo per automatizzare le azioni di selezione degli articoli, convalida degli ordini, ecc. Ma è anche necessario potenziare queste azioni donando gli articoli che verranno effettivamente ordinati dagli utenti virtuali (simulati) come parte del test di performance. Tuttavia, la natura e il numero di questi articoli possono variare a seconda del contenuto del database degli articoli dell'applicazione, del profilo del consumatore dell'utente simulato o anche del periodo dell'anno che simuliamo nel test.

In genere, una piattaforma di test delle prestazioni sarà composta da:

Le soluzioni di test delle prestazioni web semplificheranno e automatizzeranno i test: creazione più o meno automatizzata di scenari di test, configurazione di scenari con o senza script, simulazione di utenti virtuali con raccolta di misurazioni (e generazione automatica di report), ecc.

È utile ricordare che gli strumenti di test delle prestazioni possono generare effetti sonda e pertanto devono essere utilizzati o configurati in modo tale da ridurre questo rischio.

Attori e strumenti del mercato

Diversi strumenti consentono di eseguire test delle prestazioni; ciò che li contraddistingue sono in particolare:

Secondo diverse società di analisi come IDC o Gartner Group , i leader si distinguono nel mercato, ma esistono anche una serie di prodotti Open Source oa prezzi ridotti, soprattutto per le applicazioni Web. Le soluzioni più rappresentative nel settore sono:

Test di gestione dei dati

Esistono due tipi principali di giocatori nella gestione dei dati dei test. C'è chi si affida ai dati di produzione e offre strumenti per estrarre e trasformare i dati di produzione e chi si affida a meccanismi di generazione per produrre giochi da zero (o quasi) di dati di test.

Gli strumenti basati sull'estrazione sono particolarmente importanti per la creazione di database di test di benchmark come i cataloghi dei prodotti. Inoltre, qualsiasi strumento di estrazione del database dovrebbe essere in grado di fare il trucco. Tuttavia, IBM con Optim e Micro Focus (ex-Compuware) con FileAid si sono posizionati in questo mercato con strumenti che, originariamente, vengono utilizzati per duplicare database (per affrontare problemi di archiviazione di vecchi dati, ad esempio).

Una soluzione basata sulla generazione automatica è quasi essenziale per produrre le varie transazioni (costituzione di un carrello per esempio) che verranno utilizzate per valutare gli script di test. Se la variabilità del comportamento degli utenti virtuali è un criterio di rilevanza per la campagna di test, allora ciascuna delle transazioni iniettate in una campagna di test deve essere originale e nel complesso tutte le transazioni devono essere coerenti con gli obiettivi dei test. Nel mercato degli strumenti per la generazione di dati ci sono meno giocatori, ma possiamo notare Grid-Tools, una società inglese che pubblica DataMaker e GenieLog che pubblica il workshop sulla produzione di set di dati di GEDIS Studio.

Organizzazioni di settore

Articoli Correlati

Note e riferimenti

  1. IDC Corporate USA
  2. HP LoadRunner / Performance Center .
  3. RadView WebLOAD .
  4. Oracle Application Testing Suite .
  5. "  Prestazioni di soddisfazione degli utenti: oltre il test di carico  " (accesso 18 gennaio 2021 )
  6. IBM Rational Performance Tester .
  7. "  Prestazioni di soddisfazione degli utenti: oltre il test di carico  " (accesso 18 gennaio 2021 )
  8. Borland Silk Performer .
  9. Quotium QTest .
  10. Neotys NeoLoad .
  11. Apache JMeter .
  12. Gatling .
  13. Protocolli di test TPC .
  14. Classifica TPC in base al rapporto costi / prestazioni .
  15. Misurazioni della potenza della CPU da parte di SPEC .

link esterno