Linea guida: Modello di analisi del carico di lavoro
Il Modello di analisi del carico di lavoro identifica le variabili che influiscono sulle prestazioni del sistema e sul modo in cui misurarne gli effetti. Questa linea guida spiega come svilupparne uno.
Relazioni
Descrizione principale

Panoramica

La qualità del software viene valutata insieme a dimensioni diverse, incluso l'affidabilità, la funzione e la prestazione (consultare Concetto: Dimensioni della qualità). Il Modello di analisi del carico di lavoro (consultare Prodotto di lavoro: Modello di analisi del carico di lavoro) viene creato per identificare e per definire le differenti variabili che influiscono o influenzano un'applicazione o la prestazione del sistema e le misurazioni richiese per valutare le prestazioni. I profili del carico di lavoro che costituiscono il modello rappresentano i candidati per condizioni ad essere simulati rispetto agli Elementi del test di destinazione sotto uno o più configurazioni dell'ambiente di test. Il Modello di analisi del carico di lavoro viene utilizzato dai seguenti ruoli:

  • analista di test (see Ruolo: Analista di test) utilizza il modello di analisi del carico di lavoro per identificare le diverse idee e per definire gli scenario di test per i differenti test
  • progettista di test (consultare Ruolo: Progettista di test) utilizza il modello di analisi del carico di lavoro per definire l'approccio di test appropriato ed identificare le necessità di verificabilità per i diversi test
  • tester (consultare Ruolo: Tester) utilizza il modello di analisi del carico di lavoro per comprendere meglio gli obiettivi del test per implementare, eseguire ed analizzare correttamente la sua esecuzione.
  • rappresentante dell'utente (consultare Ruolo: Portatore d'interesse) utilizza il modello di analisi del carico di lavoro per valutare la l'appropriatezza del carico di lavoro e i test richiesti per valutare efficacemente il comportamento del sistema rispetto al modello di analisi del carico di lavoro.

Le informazioni incluse nel modello di analisi del carico di lavoro focalizzano l'attenzione sulle caratteristiche e sugli attributi nelle seguenti aree principali:

I test dovrebbero essere considerati strumenti per valutare e misurare le caratteristiche e i comportamenti degli obiettivi del test quando funzionano sotto differenti carichi di lavoro. La corretta progettazione, implementazione ed esecuzione di questi test richiede l'identificazione di dati tanto realistici quanto eccezionali per questi profili di carico di lavoro.

Casi d'uso e Attributi del caso d'uso

Due sono gli aspetti dei casi d'uso considerati per la selezione degli scenari per questi tipi di test:

  • Casi d'uso critici contengono gli scenari dei casi d'uso da misurare e valutare nei test
  • Casi d'uso significativi contiene uno scenario di casi d'uso che possono avere un impatto sul comportamento di scenari critici di casi d'uso

Casi d'uso critici

Non tutti gli scenari dei casi d'uso implementati negli obiettivi del test possono essere necessari per quei test. I casi d'uso critici contengono quegli scenari del caso d'uso che saranno il punto focale del test - cioè i loro comportamenti verranno misurati e valutati.

Per identificare i casi d'uso critici, identificare quegli scenari di caso d'uso che rispondono ad uno o più dei seguenti criteri:

  • richieste di misure e valutazione basate sul profilo del carico di lavoro
  • quanto frequentemente vengono eseguite da uno o più utenti finali (istanze di attore)
  • che rappresentano un'alta percentuale di uso del sistema
  • che consumano significative risorse di sistema

Elencare i casi d'uso critici per l'inclusione nei test. Appena vengono identificati, deve essere analizzato il flusso del caso d'uso degli eventi. Iniziare ad identificare la sequenza specifica di eventi tra l'attore (tipo) e il sistema quando viene eseguito lo scenario del caso d'uso.

In aggiunta, identificare (o verificare) le seguenti informazioni:

  • Condizioni antecedenti per i casi d'uso, come lo stato dei dati (quali dati devono/non devono esistere) e lo stato dell'obiettivo del test
  • Dati che possono essere costanti (gli stessi) o che devono differire da uno scenario di caso d'uso al successivo
  • Relazione tra il caso d'uso ed un altro caso d'uso, come la sequenza con la quale devono essere eseguiti i casi d'uso.
  • La frequenza di esecuzione dello scenario del caso d'uso, incluse le caratteristiche come il numero di istanze simultanee del caso d'uso e la percentuale del carico totale che ogni scenario pone nel sistema.

Casi d'uso significativi

Diversamente dagli scenari critici dei casi d'uso, che sono il fulcro del test, scenari significativi di caso d'uso sono quelli che possono influire sui comportamenti delle prestazioni di scenari critici del caso d'uso. Sono inclusi quelli che rispondono ad uno o più dei seguenti criteri:

  • devono essere eseguiti prima o dopo l'esecuzione di un caso d'uso critico (una condizione antecedente o successiva)
  • vengono eseguiti frequentemente da uno o più istanze di attore
  • rappresentano un'alta percentuale di uso del sistema
  • richiedono significative risorse di sistema
  • verranno eseguiti ripetutamente sul sistema distribuito mentre vengono eseguiti gli scenari critici di caso d'uso, come e-mail o stampa in background

Quando vengono identificati ed elencati gli scenari significativi di caso d'uso, analizzare il flusso di eventi del caso d'uso e le informazioni aggiuntive, come è stato fatto precedentemente per gli scenari critici del caso d'uso.

Attore e Attributi di attore

I test riusciti sulle prestazioni richiedono l'identificazione non solo degli attori che eseguono scenari significativi e critici di caso d'uso, ma devono anche simulare/emulare il comportamento dell'attore. Cioè, una istanza di un attore può interagire differentemente con l'obiettivo del test (metterci più tempo a rispondere alle richieste comando, immettere differenti valori di dati ecc.) durante l'esecuzione dello stesso scenario di caso d'uso come un'altra istanza dell'attore. Considerare il caso d'uso semplice di seguito riportato:

Diagramma descritto nella figura.

Attore e casi d'uso in una macchina Bancomat.

La prima istanza dell'attore "Cliente" che esegue uno scenario di caso d'uso potrebbe essere un utente Bancomat con esperienza, mentre un'altra istanza dell'attore "Cliente" potrebbe non avere esperienza dell'uso del Bancomat. Il cliente esperto esplora rapidamente le interfacce utente del Bancomat e utilizza poco tempo per leggere ciascuna richiesta comando premendo i pulsanti a ripetizione. Il cliente non esperto legge ogni richiesta comando ed impiega ulteriore tempo ad interpretare le informazioni prima di rispondere. I profili realistici del carico di lavoro riflettono questa differenza per assicurare la valutazione accurata dei comportamenti dell'obiettivo del test.

Iniziare identificando gli attori per ogni scenario di caso d'uso identificato precedentemente. Poi, identificare i differenti profili di attore che possono eseguire lo scenario del caso d'uso. Nel precedente esempio del Bancomat, sono stati riportati i seguenti stereotipi di attore:

  • Utente esperto di Bancomat
  • Utente non esperto di Bancomat
  • L'account utente del Bancomat è all'"interno" della rete della banca del Bancomat (l'account utente è con la banca che possiede il Bancomat)
  • L'account utente del Bancomat è al di fuori della rete della banca del Bancomat (banca di competenza)

Per ogni profili dell'attore, identificare i differenti attributi ed i loro valori come:

  • Tempo di attesa - il periodo di tempo impiegato dall'attore per rispondere alle richieste comando individuali dell'obiettivo del test.
  • Frequenza di digitazione - la velocità con cui l'attore interagisce con l'interfaccia
  • Andamento della richiesta - la velocità con cui l'attore fa le richieste dell'obiettivo del test
  • Fattore di ripetizione - il numero di volte che un caso d'uso o una richiesta viene ripetuta in sequenza
  • Metodo di interazione - Il metodo di interazione utilizzato dall'attore, come l'utilizzo della tastiera per inserire i valori, passare da un campo all'altro, utilizzare i tasti di accelerazione ecc., oppure usando il mouse per "puntare e cliccare", "copiare e incollare" ecc.

Inoltre, per ogni profilo di attore, identificare il profilo del carico di lavoro specificando tutti gli scenari dei casi d'uso che essi eseguono e la percentuale di tempo o proporzione di impegno impiegato dall'attore che esegue questi scenari. L'identificazione di queste informazioni viene utilizzata per identificare e creare un carico realistico (consultare Carico e Attributi del carico qui di seguito)

Attributi del sistema e variabili Vai a inizio pagina

Anche gli attributi specifici e le variabili della Configurazione dell'ambiente di test che identificano in modo univoco l'ambiente devono essere identificate, in quanto tali attributi influenzano la misura e la valutazione del comportamento. Questi attributi comprendono:

  • L'hardware fisico (velocità CPU, memoria, cache del disco ecc.)
  • L'architettura di distribuzione (numero di server, distribuzione dell'elaborazione ecc)
  • Gli attributi di rete
  • Altro software (e casi d'uso) che possono essere installati ed eseguiti simultaneamente sull'obiettivo del test

Identificare ed elencare gli attributi del sistema e le variabili che devono essere considerate per l'inclusione nei test. Queste informazioni possono essere ottenute da diverse origini, tra cui:

Profili dei carichi di lavoro Vai a inizio pagina

Come precedentemente affermato, il carico di lavoro è un fattore importante che influisce sul comportamento dell'obiettivo del test. L'identificazione esatta del profilo del carico di lavoro che verrà utilizzato per valutare il comportamento degli obiettivi è un aspetto cruciale. Tipicamente, il test che coinvolge il carico di lavoro vengono eseguiti molte volte usando profili differenti di carico di lavoro, ognuno dei quali rappresenta una variazione degli attributi descritti di seguito:

  • Il numero di istanze simultanee dell'attore che interagisce con l'obiettivo del test
  • Il profilo dell'attore che interagisce con l'obiettivo del test
  • Lo scenario del caso d'uso eseguito da ciascuna istanza dell'attore
  • La frequenza di esecuzione di ogni scenario critico del caso d'uso

Per ciascun profilo del carico di lavoro usato per valutare le prestazioni dell'obiettivo del test, identificare i valori per ognuna delle precedenti variabili. I valori utilizzati per ciascuna variabile nei differenti carichi può essere ricavata osservando o intervistando gli attori o dal Modello del caso d'uso del business  se ne è disponibile uno. E' usuale per uno o più dei seguenti profili del carico di lavoro essere definito:

  • Ottimale - un profilo del carico di lavoro che riflette le migliori condizioni possibili di distribuzione, come un numero minimo di istanze di attori che interagiscono con il sistema, eseguendo solo scenari critici di caso d'uso, con un minimo di software aggiuntivo e di carico di lavoro in esecuzione durante il test.
  • Nella media (AKA Normal) - un profilo del carico di lavoro che riflette le condizioni medie di utilizzo anticipate o attuali.
  • Picco istantaneo - un profilo di carico di lavoro che riflette le condizioni istantanee di utilizzo massiccio attuali o anticipate che si verificano per brevi periodi durante una normale operazione.
  • Picco - un profilo del carico di lavoro che riflette le condizioni di utilizzo massiccio attuali o anticipate, come un numero massimo di istanze di attori, eseguendo grandi volumi di scenari di caso d'uso, con molto software aggiuntivo ed esecuzione del carico di lavoro durante il test.

Quando la verifica del carico di lavoro include la verifica dello stress (consultare Concetto: Test della prestazione e Tecnica: Tipi di test), devono essere identificati svariati carichi aggiuntivi, ognuno indirizzato ad aspetti specifici del sistema in stati anomali o non previsti oltre alla normale capacità del sistema di sviluppo.

Misure e criteri della prestazione Vai a inizio pagina

La verifica sul carico di lavoro condotta con esito positivo può solo essere archiviata se vengono misurati i test e se vengono valutati i comportamenti del carico di lavoro. Nell'identificazione delle misure del carico di lavoro e dei criteri, bisogna tener presente i seguenti fattori:

  • Quali misure devono essere fatte
  • Dove / quali sono i punti critici di misura nell'esecuzione del caso d'uso/dell'obiettivo del test
  • Quali sono i criteri da utilizzare per determinare un comportamento accettabile della prestazione

Misure della prestazione

Esistono molte e differenti misure che possono essere fatte durante l'esecuzione del test. Identificare le misure significative da fare e giustificare il motivo per il quale queste sono le più significative.

Di seguito sono elencati i comportamenti più comuni delle prestazioni controllati o catturati:

  • Condizione o stato dello script di test - una descrizione grafica dello stato, condizione, o dello stato di avanzamento del test
  • Tempo di risposta / Produttività - misura (o calcolo) dei tempi di risposta o produttività (di solito fissato in transazioni al secondo).
  • Tracce - cattura dei messaggi / conversazioni tra attori (script di test) e obiettivo del test, o flusso di dati e /o flusso de processo durante l'esecuzione.

Consultare Tecnica: Misure chiave del test per ulteriori informazioni

Punti critici di misura della prestazione

Nella precedente sezione Casi d'uso e Attributi del caso d'uso era stato notato che non tutti i casi d'uso ed i loro scenari vengono eseguiti per verificare la prestazione. In modo analogo, non tutte le misurazioni delle prestazioni vengono effettuate per ogni scenario eseguito del caso d'uso. Tipicamente vengono destinati alla misurazione solo gli scenari del caso d'uso specifico oppure può esserci una sequenza specifica di eventi all'interno di uno scenario specifico di caso d'uso che verrà misurato per valutare il comportamento della prestazione. Bisogna porre attenzione nel selezionare i "punti" di inizio e di fine più significativi per la misurazione dei comportamenti della prestazione. I più significativi sono di solito quelli con le sequenze di eventi più visibili o quelle che possono aver effetto direttamente attraverso le modifiche nel software o nell'hardware.

Ad esempio, nel caso d'uso Bancomat - Prelievo di cassa identificato prima, è possibile misurare le caratteristiche di misurazione dell'intera istanza del caso d'uso, dal punto in cui l'Attore inizia il prelievo fino al punto in cui il caso d'uso termina - cioè, l'Attore riceve la carta ed il Bancomat è pronto ad accettare un'altra carta, come mostrato dalla riga nera "Totale tempo trascorso" nel diagramma di seguito riportato:

Il diagramma è descritto nel contenuto.

Notare tuttavia che ci sono molte sequenze di eventi che contribuiscono al tempo totale trascorso, qualcosa su cui si ha il controllo (come le informazioni in lettura della carta, verifica del tipo di carta, inizio delle comunicazioni con un sistema di banca, ecc., voce B D ed E di cui sopra), ma ci sono altre sequenze su cui non c'è controllo (come l'attore che inserisce il PIN o che legge le richieste comandi prima di immettere l'ammontare del prelievo, voci A, C ed F). Nel precedente esempio, oltre a misurare il tempo totale trascorso, si può voler misurare il tempo di risposta per le sequenze B, D ed E, poiché questi eventi sono i tempi di risposta più visibili per l'attore (ed è possibile influenzarli tramite il software/hardware per la distribuzione).

Criteri di misura della prestazione

Una volta che le misurazioni critiche della prestazione ed i punti di misura sono stati identificati, analizzare il criterio della prestazione. I criteri della prestazione vengono dichiarati nelle Specifiche supplementari (consultare Prodotto di lavoro: Specifiche supplementari). Se necessario, revisionare i criteri.

Questi sono alcuni dei criteri spesso utilizzati per la misura della prestazione:

  • tempo di risposta (risposta AKA on-line)
  • tasso di produttività
  • percentuale di risposta

Tempo di risposta on-line, misurato in secondi, o percentuale di produttività della transazione, misurata dal numero di transazioni (o messaggi)rappresenta il criterio principale.

Ad esempio, utilizzando il caso d'uso del prelievo di cassa, il criterio viene dichiarato come "ogni evento B, D ed E (consultare il precedente diagramma) devono deve verificarsi in meno di 3 secondi (per un totale unificato di 9 secondi)". Se durante la verifica si nota che nessuno degli eventi identificato come B, D, o E impiegano di più di 3 secondi, si noterà un errore).

Le misure in percentuale sono unificate ai tempi di risposta e/o alle percentuali di produttività e vengono usate per "ignorare statisticamente" le misure che sono al di fuori dei criteri dichiarati. Ad esempio, il criterio della prestazione per il caso d'uso ora afferma "per il 90%, gli eventi B, D ed E devono verificarsi al di sotto dei 3 secondi ...". Durante l'esecuzione del test, se si misura il 90 percento di tutte le misure delle prestazioni verificatesi all'interno del criterio dichiarato, non si notano errori.