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.
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
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.
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.
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:
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)
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:
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.
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:
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.
|