L'esecuzione di test guidato dai dati utilizza i dati da un file esterno, un pool di dati, come immissione per un test. Un pool di dati è una raccolta di record dei dati correlati che fornisce i valori dei dati alle variabili in uno script del test durante la riproduzione dello script del test.
Poiché i dati sono separati dallo script di test, è possibile eseguire quanto riportato di seguito:
Il diagramma nella parte sinistra mostra uno script di test, che utilizza i dati con riferimenti letterali hard-coded nello script di test. Il diagramma nella parte destra mostra uno script di test guidato dai dati che utilizza i dati da un file esterno, un pool di dati.
Script di test hard-coded con riferimenti letterali Script di test guidato dai dati con un pool di dati
Sono qui di seguito riportati degli esempi di problemi che vengono risolti guidando in base ai dati il test:
Problema: durante la registrazione, si crea un file del personale per un nuovo impiegato, utilizzando il numero di codice fiscale univoco dell'impiegato. Ogni volta che viene eseguito il test, viene fatto un tentativo di creare lo stesso file di personale e fornire lo stesso numero di codice fiscale. L'applicazione rifiuta le richieste duplicate.
Soluzione: è possibile guidare in base ai dati lo script di test per inviare dati sull'impiegato differenti, compresi i numeri di codice fiscale, al server ogni volta che viene eseguito il test.
Problema: si elimina un record durante la registrazione. Quando si esegue il test, Functional Tester prova ad eliminare lo stesso record e questo determina il verificarsi di errori che indicano che è impossibile trovare il record.
Soluzione: è possibile guidare in base ai dati lo script di test per fare riferimento ad un record differente nella richiesta di eliminazione ogni volta che viene riprodotto lo script.
Problema: si esegue l'eliminazione di un record durante la registrazione. Durante la riproduzione, ogni transazione prova ad eliminare lo stesso record e questo causa la restituzione di errori che indicano che è impossibile trovare il record. Soluzione: è possibile utilizzare un pool di dati per fare riferimento ad un record differente nella richiesta di eliminazione ogni volta che viene ripetuta la transazione.