configuration testing tutorial with examples
Introduzione al test della configurazione software:
Questo articolo è stato presentato per discutere di un tipo speciale di test del software che è molto importante per l'azienda.
Discuteremo le basi del test di configurazione, la sua necessità, importanza, obiettivi e tipi. Man mano che avanzeremo nell'articolo, impareremo in dettaglio come eseguire questo test.
Cominciamo!!
Questo tutorial ti darà una panoramica completa del test di configurazione e fungerà da guida perfetta per chiunque sia nuovo a questo concetto di test e rispolverà la conoscenza di coloro che hanno già esperienza in esso.
Cosa imparerai:
- Che cos'è il test di configurazione?
- Perché questo test?
- Preparazione per il test di configurazione
- Microsoft VSTS - Strumento di test della configurazione
- Obiettivi
- Tipi di test di configurazione
- Importanza di questo test per un'impresa
- Conclusione
- Lettura consigliata
Che cos'è il test di configurazione?
Il test di configurazione è un metodo per testare un sistema in fase di sviluppo su più macchine che hanno diverse combinazioni o configurazioni di hardware e software. Le prestazioni del sistema o di un'applicazione vengono verificate rispetto a ciascuna delle configurazioni hardware e software supportate.
Quando diciamo diverse configurazioni di hardware e software, viene attribuito a più versioni del sistema operativo, browser, driver supportati, dimensioni della memoria, tipi di disco rigido, CPU, ecc.

Perché questo test?
Come discusso in precedenza, questo test è una tecnica che valuta le prestazioni di un software, sistema / applicazione considerando le diverse configurazioni di sistema.
Questo test viene eseguito per determinare le configurazioni ottimali in base alle quali un sistema o un'applicazione può funzionare correttamente senza bug, problemi o difetti nelle prestazioni. Quindi, la configurazione più efficace che fornirà le caratteristiche prestazionali richieste viene individuata con l'aiuto di questo test.
implementando una lista collegata in java
La seconda ragione principale per questo test è verificare la compatibilità del sistema con l'altro software o apparecchiatura indicata nella SRS (specifica dei requisiti software).
Un esempio
Consideriamo che la tua azienda ha sviluppato un'applicazione desktop in linguaggio C # e questa app è basata sul framework .NET.
E questa app si basa su un'architettura a 3 livelli che ha tre livelli: front-end (client), livello dell'applicazione (server) e livello del database. Ciascuno dei livelli supporterà determinate piattaforme di conseguenza.
Supponiamo che ogni livello supporti le piattaforme seguenti:
Cliente - Sistema operativo Windows 10, Windows 7, Windows XP, sistema operativo Linux.
server - Ubuntu Server, Windows Server 2016 , Novell Open Enterprise Server .
Banca dati - Microsoft SQL Server, IBM DB2, MySQL.

Ora, come tester del software, dovrai testare l'applicazione in ciascuna delle varie combinazioni delle piattaforme client, server e database di cui sopra per assicurarti che l'applicazione funzioni bene con ciascuna delle possibili configurazioni.
Per esempio , controllerai come funziona l'applicazione con la combinazione di sistema operativo Windows 10, Windows Server 2016 e database MySQL, quindi eseguirai un altro test per verificare come funziona l'applicazione con la combinazione di sistema operativo Windows 10, Windows Server 2016 e database IBM DB2.
E così via fino a testare tutte le possibili configurazioni.
I nostri test non sarebbero limitati solo al software, ma copriranno anche l'hardware, dove dovremo controllare ciascuna delle combinazioni di vari dispositivi hardware. Pertanto, a volte questo test viene indicato anche come test della configurazione hardware.
Preparazione per il test di configurazione
Questo test ha alcuni prerequisiti che devono essere soddisfatti prima di eseguire i test di configurazione.
Di seguito i prerequisiti:
# 1) Preparazione della matrice di copertura
A causa di un numero enorme di possibili configurazioni hardware e software, diventa molto dispendioso in termini di tempo e quasi impossibile testare ciascuna delle configurazioni in modo efficace.
Per esempio , nell'esempio che abbiamo discusso sopra, avremo un totale di 3 * 3 * 3, ovvero 27 configurazioni software. E supponiamo di avere 5 diversi dischi rigidi e 6 diverse dimensioni di memoria. Quindi, il conteggio andrà a 27 * 5 * 9, ovvero 810 configurazioni ora.
Questo continuerà ad aumentare se aggiungiamo più componenti all'immagine. Quindi, diventa cruciale fare la pianificazione per lo sforzo di test del software e identificare chiaramente quali piattaforme saranno supportate.
Quindi, dobbiamo elaborare una matrice di copertura che conterrà le varie combinazioni delle configurazioni hardware e software. A volte, questa matrice di copertura è anche nota come BCM (Basic Configuration Matrix).

La figura sopra mostra una matrice schematica di esempio delle configurazioni che si desidera testare.
# 2) Priorità alle configurazioni
Una volta preparata la matrice di configurazione, il passaggio successivo consiste nell'assegnare la priorità alle configurazioni.
Questo passaggio è necessario perché è impossibile testare l'intera vasta gamma di configurazioni. Quindi, in base al feedback del cliente, vengono elencate le configurazioni più critiche e devono essere prima testate a fondo.
Una volta terminati i due passaggi precedenti, possiamo procedere con il test delle varie configurazioni in base alla loro priorità.
Microsoft VSTS - Strumento di test della configurazione
Microsoft Visual Studio Team Services (VSTS) è uno strumento che aiuta notevolmente a testare la tua app in varie configurazioni in base al tuo piano di test.
È necessario disporre di un piano di test per decidere quali test eseguire e su quali configurazioni. È necessario assicurarsi di disporre del giusto ambiente impostato per le configurazioni richieste. Una volta ottenuta la matrice delle combinazioni, è necessario testarla.
È possibile seguire i passaggi seguenti per eseguire questo test:
# 1) Imposta le configurazioni e crea le variabili. Una variabile è uno dei componenti nella configurazione.
Per esempio , può esserci una variabile 'Browser' che può avere più valori come Chrome, Firefox, IE10, ecc.
#Due) Assegna le configurazioni ai piani di test / suite di test o ai singoli casi di test.
software per scaricare video da You Tube
# 3) Eseguire i test su ciascuna configurazione.
# 4) Tieni traccia dei risultati del test per ciascuna delle configurazioni.
Una guida dettagliata passo passo per eseguire questo test con VSTS può essere visualizzata qui: VSTS: prova diverse configurazioni
Obiettivi
Di seguito sono riportati i vari obiettivi di questo test:
converti youtube in mp3 per più di 20 minuti
- Per determinare la configurazione ottimale dell'AUT (Application under Test).
- Per scoprire le vulnerabilità nascoste contenute dall'hardware.
- Per garantire la continuità aziendale rilevando e risolvendo i problemi prima che ostacolino le operazioni aziendali.
- Per eliminare una deriva della configurazione.
- Per ridurre al minimo il numero di errori dovuti a errori di configurazione dell'host.
- Convalidare l'applicazione per accertarsi che soddisfi la configurabilità.
- Per analizzare le prestazioni del sistema aggiungendo, rimuovendo o modificando i componenti hardware ( Per esempio . Variazione delle dimensioni della memoria, aggiunta di bilanciatori del carico, ecc.).
- Per verificare se il sistema funziona correttamente in un ambiente geograficamente distribuito (server e client si trovano in posizioni diverse).
- Verifica della facilità con cui i bug possono essere replicati indipendentemente dalle modifiche alla configurazione.
- Per verificare quanto siano tracciabili e gestibili gli elementi dell'applicazione.
Tipi di test di configurazione
Possiamo avere due linee differenti di divisioni per questo test.
Sul prima linea , può essere diviso in due parti:
- Test di configurazione software
- Test della configurazione hardware
Sul seconda linea , può essere nuovamente diviso in due parti: 1. Test a livello di client e 2. Test a livello di server
Per iniziare, vediamo la configurazione hardware e software.
# 1) Test della configurazione del software:
Questo test viene eseguito sull'AUT (applicazione sotto test) con più versioni del sistema operativo, aggiornamenti software, ecc. Si tratta di un test lungo poiché richiede molto tempo per installare e disinstallare i vari software che devono essere utilizzati per i test.
Un approccio per risparmiare tempo consiste nell'utilizzare macchine virtuali per testare la configurazione del software. Una VM simula le configurazioni in tempo reale e dà la stessa sensazione di una macchina fisica.
Quindi, invece di installare e disinstallare più software su una singola macchina fisica, possiamo avere più macchine virtuali che simulano ogni diversa configurazione rispetto alla quale dobbiamo fare il test.
Il test della configurazione del software inizia una volta che la build viene rilasciata dopo aver superato lo unit test e il test di integrazione.
# 2) Test della configurazione hardware:
Il test di configurazione hardware viene solitamente effettuato in laboratori, dove abbiamo macchine fisiche con vari hardware collegati ad esse.
Ogni volta che viene rilasciata una build, il software deve essere installato in tutte le macchine fisiche a cui è collegato l'hardware e la suite di test deve essere eseguita su ogni macchina per confermare che l'applicazione funziona correttamente.
Per eseguire l'attività sopra indicata, è necessario uno sforzo significativo per impostare il software su ciascuna macchina, connetterlo all'hardware e quindi eseguire manualmente le suite di test. Anche se automatizziamo questa attività ed eseguiamo la suite di test, anche in questo caso sarebbe necessario uno sforzo significativo.
Inoltre, come abbiamo già discusso nella prima parte di questo articolo, durante il test della configurazione hardware, spieghiamo il tipo di hardware da testare e ci sono numerosi hardware e periferiche per computer che rendono quasi impossibile eseguire tutte le test.
Quindi, un tester analizza l'hardware utilizzato principalmente dal cliente e quindi conduce il test in base alla priorità.
Ora parliamo del test di configurazione a livello di client e di server.
# 1) Test a livello di cliente : Ha qualcosa in comune con i test di usabilità e funzionalità. Questo test viene eseguito dal punto di vista degli interessi del suo utente diretto.
# 2) Test a livello di server : Questo tipo di test viene eseguito per esaminare l'interazione tra il software e l'ambiente esterno quando si prevede di integrarlo dopo il rilascio.
Importanza di questo test per un'impresa
Questo test è molto importante per un'azienda per creare e sostenere applicazioni ad alte prestazioni, scalabili e disponibili.
Questo test dovrebbe essere eseguito in modo continuo e preferibilmente automatizzato (altrimenti richiede molto tempo se eseguito manualmente) con l'intenzione di identificare e correggere rapidamente i fattori che contribuiscono alle inefficienze.
11 MIGLIORI strumenti di gestione della configurazione software (strumenti SCM nel 2020)
Conclusione
Il test della configurazione è importante quanto qualsiasi altro tipo di test del software in quanto scopre la configurazione ottimale del sistema in cui l'applicazione funziona al meglio. Inoltre, aiuta a identificare e correggere eventuali problemi di compatibilità.
In questo articolo abbiamo appreso cos'è il test di configurazione, perché eseguiamo questo test, quali sono i suoi obiettivi, quali sono i suoi tipi, quali sono i prerequisiti di questo test, come deve essere fatto, quanto è importante per un impresa, ecc. in modo dettagliato.
Spero che questo articolo sia stato informativo e ti avrebbe portato una buona idea sui test di configurazione.
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Test funzionale vs test non funzionale
- Esercitazione sul test di coppia o sul test di tutte le coppie con strumenti ed esempi
- Lavoro assistente QA test software
- Esercitazione sul test del volume: esempi e strumenti per il test del volume
- Tutorial sui test distruttivi e non distruttivi
- Tutorial approfonditi su Eclipse per principianti
- Che cos'è il test di resistenza nel test del software (esempi)