Cos'è il test di configurazione? Casi di test di esempio
⚡ Riepilogo intelligente
I test di configurazione eseguono un'applicazione su diverse combinazioni di software e hardware, consentendo al team di verificare che i requisiti funzionali siano soddisfatti ovunque e di identificare la configurazione ottimale per il rilascio.
Test di configurazione
Test di configurazione È una tecnica di test del software in cui l'applicazione viene testata con molteplici combinazioni di software e hardware, al fine di valutare i requisiti funzionali e trovare le configurazioni ottimali in base alle quali l'applicazione funziona senza difetti o malfunzionamenti.
Una configurazione è qualsiasi combinazione che il prodotto deve supportare: una versione del sistema operativo, un browser, una versione del database, un driver, una dimensione della memoria o una periferica collegata. Vale la pena separare questo da test di compatibilitàche chiede se il prodotto coesiste con altri software e piattaforme. Il test di configurazione pone una domanda più specifica: la stessa build si comporta ancora correttamente quando cambia la sua configurazione supportata?
Esempio di test di configurazione
Consideriamo un'applicazione desktop come esempio pratico.
Le applicazioni desktop sono generalmente costruite in forma a 2 o 3 livelli. Prendiamo un'applicazione desktop a 3 livelli sviluppata in ASP.NET, costituito da un Client, un Business Logic Server e un Database Server, dove ogni componente supporta le piattaforme elencate di seguito.
- Piattaforma client – Windows XP, Windows 7, Windows 8, e così via
- Piattaforma server – Windows Server 2008, Windows server 2008 R2, Windows Server 2012 R2
- Banca dati - SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 e così via.
Il tester deve testare contemporaneamente client, server e database su tutte le piattaforme e versioni di database supportate, per confermare che l'applicazione funzioni correttamente e non presenti errori in nessuna combinazione supportata.
Il test di configurazione non si limita al software. Si applica anche all'hardware, motivo per cui la parte hardware viene definita test di configurazione hardware: stampanti, scanner, webcam e dispositivi simili che l'applicazione in fase di test deve supportare. La matrice seguente mostra come vengono disposte queste combinazioni prima dell'inizio dell'esecuzione del test.
Prerequisiti per il test di configurazione
Prima di iniziare il test di configurazione di qualsiasi progetto, è necessario che siano soddisfatti tre prerequisiti.
- Creazione di una matrice che elenchi le varie combinazioni di configurazioni software e hardware.
- Dare priorità a queste configurazioni, perché testarle tutte non è realistico.
- Testare ciascuna configurazione nell'ordine stabilito da tale prioritizzazione
Obiettivi del test di configurazione
Il test di configurazione si propone di raggiungere i seguenti obiettivi.
- Convalidare l'applicazione rispetto ai requisiti di configurabilità.
- Provocare deliberatamente guasti per far emergere difetti che i test ordinari non rilevano, ad esempio modificando le impostazioni regionali come il fuso orario, la lingua o il formato della data.
- Determinare la configurazione ottimale dell'applicazione in fase di test
- Analizzare le prestazioni del sistema al variare delle risorse hardware, ad esempio aggiungendo bilanciatori di carico, aumentando o riducendo la memoria o collegando diversi modelli di stampante.
- Analizzare l'efficienza del sistema rispetto alla prioritizzazione, valutando in che misura i test hanno utilizzato le risorse disponibili per raggiungere la configurazione ottimale.
- Verificare il sistema in un ambiente geograficamente distribuito, ad esempio con il server in una posizione e i client in un'altra, dove il sistema dovrebbe funzionare indipendentemente dalle impostazioni del sistema locale.
- Verificare con quale facilità i difetti si riproducono al variare della configurazione.
- Conferma che gli elementi dell'applicazione rimangono tracrendibile attraverso una documentazione adeguata e registrazioni di versione chiaramente identificabili
- Confermare che gli elementi dell'applicazione rimangono gestibili durante tutto il ciclo di vita dello sviluppo del software
Come eseguire il test di configurazione
La strategia dipende da quale dei due tipi di test di configurazione è incluso nell'ambito del test.
- Test di configurazione del software
- Test di configurazione hardware
Test di configurazione del software
Il test di configurazione del software esegue l'applicazione in fase di test su diversi sistemi operativi, aggiornamenti software e versioni delle dipendenze. È un processo che richiede molto tempo, perché ogni ciclo prevede l'installazione e la disinstallazione del software coinvolto.
Un modo comune per ridurre quel costo è testare su macchine virtualiUna macchina virtuale è un ambiente installato in un software che si comporta come un hardware fisico, consentendo al tester di lavorare come se si trovasse su una macchina reale, mentre la configurazione stessa è temporanea. Le macchine virtuali simulano le configurazioni reali in modo sufficientemente fedele per la maggior parte dei controlli funzionali.
Anziché installare e disinstallare l'applicazione su diverse macchine fisiche, questa viene installata su una macchina virtuale e i test proseguono da lì. L'esecuzione in parallelo di diverse macchine virtuali, ciascuna ripristinata da uno snapshot, semplifica notevolmente il lavoro.
Il test della configurazione del software può in genere iniziare quando
- I requisiti di configurabilità da testare sono specificati
- Migliori ambiente di test è pronto
- Il team di collaudo è specializzato nel collaudo della configurazione.
- La versione rilasciata ha superato i test unitari e di integrazione.
L'altezza tipica strategia di prova Una strategia consiste nell'eseguire la suite di test funzionali su ogni configurazione software e verificare che l'applicazione si comporti come previsto, senza difetti o errori. Una seconda strategia consiste nel far fallire deliberatamente i casi di test e verificare con quale efficienza il sistema gestisce la situazione.
Esempio:
Prendiamo un'applicazione bancaria che deve essere testata su più browser. Ospitata in un ambiente in cui sono presenti tutti i prerequisiti, potrebbe superare i test unitari e test d'integrazione nel laboratorio di prova.
Installata presso la sede di un cliente, la stessa applicazione potrebbe non funzionare correttamente perché i computer in questione non dispongono di aggiornamenti software o delle versioni delle dipendenze da cui l'applicazione dipende, direttamente o indirettamente. Far fallire deliberatamente i test, rimuovendo alcuni requisiti di configurazione e ripetendoli, è il modo migliore per individuare questo tipo di difetto prima che il cliente se ne accorga. La schermata seguente mostra la riproduzione di un errore dipendente dalla configurazione in un ambiente controllato.
Test di configurazione hardware
I test di configurazione hardware vengono generalmente eseguiti in un laboratorio che ospita macchine fisiche con diversi componenti hardware collegati.
Ogni volta che viene rilasciata una nuova build, il software viene installato su ciascuna di queste macchine e la suite di test viene eseguita su ognuna di esse, per confermare che l'applicazione funzioni con il dispositivo collegato.
Questo compito richiede uno sforzo considerevole: installare il software su ogni macchina, collegare l'hardware e quindi eseguire la suite manualmente o automatizzandola.
È inoltre necessario specificare il tipo di hardware da testare. L'hardware e le periferiche dei computer sono così vari che è impossibile coprirli tutti; pertanto, il tester analizza quali dispositivi sono effettivamente utilizzati dagli utenti e li testa in base a tale priorità.
Casi di test campione
Consideriamo uno scenario bancario testato per la compatibilità hardware. Un'applicazione bancaria collegata a una macchina contabanconote deve funzionare con diversi modelli, come Rolex, Strob, Maxsell e StoK.
Campione casi test per la macchina contabanconote includere quanto segue.
- Verificare la connessione tra l'applicazione e il modello Rolex quando i prerequisiti NON sono installati
- Verificare la connessione tra l'applicazione e il modello Rolex una volta installati i prerequisiti.
- Verificare che il sistema conti correttamente le note.
- Verificare come il sistema segnala un errore di conteggio
- Verificare la gestione delle banconote manomesse.
- Verifica i tempi di risposta
- Verificare che le banconote false vengano rilevate
Questi casi riguardano un singolo modello, e ogni altro modello presente sul mercato deve essere configurato in un laboratorio di prova e testato allo stesso modo, cosa raramente fattibile internamente. Affidare i test di configurazione hardware a un'organizzazione specializzata è spesso l'opzione più realistica.


