Cos'è il test di configurazione? Casi di test di esempio

Test di configurazione

Test di configurazione è una tecnica di test del software in cui l'applicazione software viene testata con molteplici combinazioni di software e hardware al fine di valutare i requisiti funzionali e scoprire configurazioni ottimali in cui l'applicazione software funziona senza difetti o difetti.

Come discusso in precedenza, il test di configurazione è un test del software in cui l'applicazione in prova deve essere testata utilizzando più combinazioni di software e hardware.

Esempio di test di configurazione

Capiamolo con un esempio di un'applicazione desktop:

Generalmente, le applicazioni desktop saranno di 2 o 3 livelli, qui considereremo un'applicazione desktop a 3 livelli sviluppata utilizzando Asp.Net ed è costituito da client, server di logica aziendale e server database in cui ciascun componente supporta le piattaforme indicate di seguito.

  • Piattaforma cliente – Windows XP, sistema operativo Window7, sistema operativo Windows 8, ecc.
  • Piattaforma server – Windows server 2008 R2,Windows server 2008 R2, Windows Server2012R2
  • Database – SQL Server 2008, SQL Server 2008R2, SQL Server 2012, ecc.

Un tester deve testare la combinazione di client, server e database con le combinazioni delle piattaforme e delle versioni del database sopra menzionate per garantire che l'applicazione funzioni correttamente e non fallisca.

Il test di configurazione non è limitato solo al software ma è applicabile anche all'hardware, motivo per cui viene chiamato anche test di configurazione hardware, in cui testiamo diversi dispositivi hardware come stampanti, scanner, webcam, ecc. che supportano l'applicazione in prova.

Test di configurazione

Prerequisiti per il test di configurazione

Per qualsiasi progetto prima di iniziare con il test di configurazione, dobbiamo seguire alcuni prerequisiti

  • Creazione di una matrice composta da varie combinazioni di configurazioni software e hardware
  • Dare priorità alle configurazioni poiché è difficile testare tutte le configurazioni
  • Testare ogni configurazione in base alla priorità.

Obiettivi del test di configurazione

L'obiettivo del test di configurazione è quello di

  • Convalidare l'applicazione per determinare se soddisfa i requisiti di configurabilità
  • Causare manualmente errori che aiutano a identificare i difetti che non vengono rilevati in modo efficiente durante i test (es: modifica delle impostazioni regionali del sistema come fuso orario, lingua, formati data e ora, ecc.)
  • Determinare una configurazione ottimale dell'applicazione sotto test.
  • Analizzare le prestazioni del sistema aggiungendo o modificando le risorse hardware come Load Balancer, aumento o diminuzione della dimensione della memoria, collegamento di vari modelli di stampante, ecc.
  • Analisi dell'efficienza del sistema in base alla definizione delle priorità, all'efficienza con cui sono stati eseguiti i test con le risorse disponibili per ottenere la configurazione ottimale del sistema.
  • Verifica del sistema in un ambiente geograficamente distribuito per verificare l'efficacia delle prestazioni del sistema. Ad esempio: server in una posizione diversa e client in una posizione diversa, il sistema dovrebbe funzionare correttamente indipendentemente dalle impostazioni di sistema.
  • Verificare la facilità con cui i bug sono riproducibili indipendentemente dalle modifiche alla configurazione.
  • Garantire la tracciabilità degli elementi dell'applicazione documentando e mantenendo adeguatamente le versioni facilmente identificabili.
  • Verificare la gestibilità degli elementi dell'applicazione in tutto il ciclo di vita dello sviluppo del software.

Come eseguire il test di configurazione

In questa sezione discuteremo la strategia che deve essere seguita per i tipi di test di configurazione e ci sono due tipi di test di configurazione, come menzionato di seguito

  • Test di configurazione del software
  • Test di configurazione hardware

Test di configurazione del software

Il test di configurazione del software consiste nel testare l'applicazione sottoposta a test con più sistemi operativi, diversi aggiornamenti software, ecc. Il test di configurazione del software richiede molto tempo in quanto è necessario tempo per installare e disinstallare i diversi software utilizzati per il test.

Uno degli approcci seguiti per testare la configurazione del software è testare su macchine virtuali. La macchina virtuale è un ambiente installato sul software e agisce come un hardware fisico e gli utenti avranno la stessa sensazione di una macchina fisica. Virtual Machines simula configurazioni in tempo reale.

Invece di installare e disinstallare il software su più macchine fisiche, cosa che richiede molto tempo, è sempre meglio installare l'applicazione/il software nella macchina virtuale e continuare il test. Questo processo può essere eseguito avendo più macchine virtuali, che semplifica il lavoro di un tester

Il test della configurazione del software può in genere iniziare quando

  • Sono specificati i requisiti di configurabilità da testare
  • L'ambiente di test è pronto
  • Il team di test è ben addestrato nei test di configurazione
  • La build rilasciata è un'unità e il test di integrazione è stato superato

Tipico Strategia di prova La procedura seguita per testare il test di configurazione del software consiste nell'eseguire la suite di test funzionali su più configurazioni software per verificare se l'applicazione sotto test funziona come desiderato senza difetti o errori.

Un'altra strategia consiste nel garantire che il sistema funzioni correttamente fallendo manualmente i casi di test e verificandone l'efficienza.

Esempio:

Supponiamo che ci sia un'applicazione bancaria, che deve essere testata per la sua compatibilità su più browser quando l'applicazione è ospitata in un ambiente in cui sono presenti tutti i prerequisiti, potrebbe superare l'unità e Test d'integrazione nel laboratorio di prova.

Ma se la stessa applicazione è installata in una posizione client e sulle macchine mancano alcuni aggiornamenti del software o versioni da cui l'applicazione dipende direttamente o indirettamente, è possibile che l'applicazione possa fallire. Per evitare questo tipo di situazione, è sempre consigliabile fallire manualmente i test rimuovendo alcuni requisiti di configurabilità e quindi procedere con il test.

Test di configurazione

Test di configurazione hardware

I test di configurazione hardware vengono generalmente eseguiti nei laboratori, dove troviamo macchine fisiche a cui sono collegati hardware diversi.

Ogni volta che viene rilasciata una build, il software deve essere installato su tutte le macchine fisiche a cui è collegato l'hardware e la suite di test deve essere eseguita su ciascuna macchina per garantire che l'applicazione funzioni correttamente.

Per eseguire l'attività di cui sopra è necessario uno sforzo significativo per installare il software su ciascuna macchina, collegare l'hardware ed eseguirlo manualmente o anche per automatizzare il suddetto processo ed eseguire la suite di test.

Inoltre, durante l'esecuzione del test di configurazione hardware, specifichiamo il tipo di hardware da testare e ci sono molti hardware e periferiche del computer che rendono praticamente impossibile eseguirli tutti. Diventa quindi compito del tester analizzare quale hardware viene maggiormente utilizzato dagli utenti e provare a effettuare i test in base alla priorità.

Casi di test campione

Considera uno scenario bancario per verificare la compatibilità hardware. Un'applicazione bancaria collegata alla macchina per il conteggio delle banconote deve essere testata con diversi modelli come Rolex, Strob, Maxsell, StoK, ecc.

Prendiamo alcuni casi di test di esempio per testare la macchina per il conteggio delle banconote

  • Verifica della connessione dell'applicazione con il modello Rolex quando i prerequisiti NON sono installati
  • Verifica della connessione dell'applicazione con il modello Rolex una volta installati i prerequisiti
  • Verificare se il sistema sta contando le banconote correttamente
  • Verificare se il sistema sta contando le banconote in modo errato
  • Verifica delle banconote manomesse
  • Verifica dei tempi di risposta
  • Verificare se le note false vengono rilevate e così via

I casi di test di cui sopra si riferiscono a un modello e lo stesso deve essere testato con tutti i modelli disponibili sul mercato impostandoli in un laboratorio di prova, il che è difficile. Pertanto, è consigliabile esternalizzare i test di configurazione hardware a organizzazioni specializzate.

Sommario

Nell'ingegneria del software, i test di configurazione dovrebbero avere la stessa importanza degli altri tipi di test. Senza eseguire test di configurazione è difficile analizzare le prestazioni ottimali del sistema e anche il software potrebbe riscontrare problemi di compatibilità su cui dovrebbe essere eseguito.