Cos'è il test basato sui dati? Impara a creare Framework

Test guidati dai dati

Test guidati dai dati è un metodo di test del software in cui i dati di test vengono archiviati in formato tabella o foglio di calcolo. Il test basato sui dati consente ai tester di inserire un singolo script di test in grado di eseguire test per tutti i dati di test da una tabella e aspettarsi l'output del test nella stessa tabella. Viene anche chiamato test guidato da tabelle o test parametrizzato.

Quadro basato sui dati

Quadro basato sui dati è un framework di test di automazione in cui i valori di input vengono letti da file di dati e archiviati in variabili negli script di test. Consente ai tester di creare casi di test sia positivi che negativi in ​​un unico test. I dati di input nel framework basato sui dati possono essere archiviati in origini dati singole o multiple come .xls, .xml, .csv e database.

Quadro basato sui dati

Perché i test basati sui dati?

Test guidati dai dati è importante perché i tester hanno spesso più set di dati per un singolo test e la creazione di test individuali per ciascun set di dati può richiedere molto tempo. I test basati sui dati aiutano a mantenere i dati separati dagli script di test e gli stessi script di test possono essere eseguiti per diverse combinazioni di dati di test di input e i risultati dei test possono essere generati in modo efficiente.

Esempio:

Ad esempio, vogliamo testare il sistema di accesso con più campi di input con 1000 set di dati diversi.

Per testarlo, puoi adottare i seguenti approcci diversi:

Approccio 1) Crea 1000 script uno per ciascun set di dati ed esegui ciascun test separatamente uno per uno.

Approccio 2) Modificare manualmente il valore nello script di test ed eseguirlo più volte.

Approccio 3) Importa i dati dal foglio Excel. Recupera i dati del test dalle righe Excel una per una ed esegui lo script.

Nei tre scenari indicati, i primi due sono laboriosi e richiedono molto tempo. Pertanto, l’ideale è seguire il terzo approccio.

Pertanto, il terzo approccio non è altro che un framework basato sui dati.

Come creare un framework di automazione basata sui dati

Framework di automazione basata sui dati

Considera di voler testare la funzionalità di accesso di un'applicazione.

Passo 1) Identificare i casi di test

  • Inserisci nome utente e password corretti: accesso riuscito
  • Inserisci nome utente errato e password corretta – Errore di accesso
  • Inserisci nome utente corretto e password errata – Errore di accesso

Passo 2) Crea passaggi di test dettagliati per i 3 casi di test sopra indicati

Caso di prova# RICHEDI PREVENTIVO Passaggi di prova Dati di test risultati aspettati
1 Controllare l'accesso per credenziali valide
  1. Avvia l'applicazione
  2. Inserisci la password del nome utente
  3. Fare clic su OK
  4. Controlla i risultati
Nome utente: password valida: valida Accesso riuscito
2 Controlla l'accesso per credenziali non valide
  1. Avvia l'applicazione
  2. Inserisci la password del nome utente
  3. Fare clic su OK
  4. Controlla i risultati
Nome utente: password non valida: valida Login fallito
3 Controlla l'accesso per credenziali non valide
  1. Avvia l'applicazione
  2. Inserisci la password del nome utente
  3. Fare clic su OK
  4. Controlla i risultati
Nome utente: password valida: non valida Login fallito

Passo 3) Crea script di prova

Se osservi che le fasi del test rimangono comuni attraverso le 3 fasi del test. È necessario creare uno script di test per eseguire questi passaggi

// This is Pseudo Code 

// Test Step 1: Launch Application 
driver.get("URL of the Application");  

// Test Step 2: Enter Username 
txtbox_username.sendKeys("valid"); 

// Test Step 3: Enter Password 
txtbox_password.sendKeys("invalid"); 

// Test Step 4: Check Results 
If (Next Screen) print success else Fail

Passo 4) Crea un file Excel/csv con i dati del test di input

Framework di automazione basata sui dati

Passo 5) Passaggio Modificare lo Scrip per eseguire il loop sui dati di test di input. Anche i comandi di input dovrebbero essere parametrizzati

// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
    // Read data from Excel and store into variables
    int input_1 = ReadExcel(i, 0);
    int input_2 = ReadExcel(i, 1);

    // Test Step 1: Launch Application
    driver.get("URL of the Application");

    // Test Step 2: Enter Username
    txtbox_username.sendKeys(input_1);
    // Test Step 3: Enter Password

    txtbox_password.sendKeys(input_2);
    // Test Step 4: Check Results
    If(Next Screen) print success
    else Fail
}

Sopra ci sono solo 3 casi di test. Lo script di test può essere utilizzato per eseguire un ciclo sui seguenti casi di test semplicemente aggiungendo i valori dei dati di test a Excel

  • Inserisci nome utente e password errati – Accesso fallito
  • Inserisci nome utente e password corretti vuoti – Accesso non riuscito
  • Inserisci nome utente e password vuoti: accesso non riuscito

E così via

migliori pratiche di test basati sui dati

Di seguito sono riportate le migliori pratiche di test per i test basati sui dati:

  • L'ideale è utilizzare informazioni realistiche durante il processo di test basato sui dati
  • La navigazione nel flusso di test deve essere codificata all'interno dello script di test
  • Promuovi le API virtuali con dati significativi
  • Utilizza i dati per promuovere asserzioni dinamiche
  • Testare risultati positivi e negativi
  • Riutilizzare i test funzionali basati sui dati per la sicurezza e le prestazioni

Vantaggi dei test basati sui dati

Data-Driven offre molti vantaggi, alcuni di essi sono:

  1. Consente di testare l'applicazione con più set di valori di dati durante il test di regressione
  2. I dati di test e i dati di verifica possono essere organizzati in un solo file ed è separato dalla logica del test case.
  3. In base allo strumento, è possibile avere gli script di test in un unico repository. Ciò rende i testi facili da comprendere, mantenere e gestire.
  4. Azioni e funzioni possono essere riutilizzate in diversi test.
  5. Alcuni strumenti generano automaticamente i dati di test. Ciò è utile quando sono necessari grandi volumi di dati di test casuali, il che aiuta a risparmiare tempo.
  6. Il test basato sui dati può eseguire qualsiasi fase dello sviluppo. Un test basato sui dati è generalmente unito in un singolo processo. Tuttavia, può essere utilizzato in più casi di test.
  7. Consente a sviluppatori e tester di avere una chiara separazione della logica dei loro casi/script di test dai dati di test.
  8. Gli stessi casi di test possono essere eseguiti più volte, il che aiuta a ridurre casi di test e script.
  9. Eventuali modifiche allo script di test non influiscono sui dati del test

Svantaggi dei test basati sui dati

Alcuni svantaggi del metodo di test di automazione basato sui dati sono:

  1. La qualità del test dipende dalle capacità di automazione del team di implementazione
  2. La convalida dei dati è un'attività che richiede molto tempo quando si testano grandi quantità di dati.
  3. La manutenzione è un grosso problema in quanto è necessaria una grande quantità di codifica per i test basati sui dati.
  4. Sono richieste competenze tecniche di alto livello. Un tester potrebbe dover imparare un linguaggio di scripting completamente nuovo.
  5. Ci sarà più documentazione. Principalmente correlato all'infrastruttura dei test di gestione degli script e ai risultati dei test.
  6. Per creare e gestire file di dati è necessario un editor di testo come Blocco note.

Conclusione

  • Data-driven è un framework di automazione dei test che memorizza i dati dei test in un formato tabella o foglio di calcolo.
  • Nel framework di automazione dei test basato sui dati, i dati di input possono essere archiviati in origini dati singole o multiple come xls, XML, CSV e database.
  • Creare un test individuale per ciascun set di dati è un processo lungo e dispendioso in termini di tempo. Il framework Data Driven Testing risolve questo problema mantenendo i dati separati dai test funzionali.
  • Nei test basati sui dati, è un'opzione ideale utilizzare informazioni realistiche
  • Consente di testare l'applicazione con più set di valori di dati durante Test di regressione
  • Lo svantaggio di questo metodo è che dipende dalle capacità di automazione del team di implementazione