In qualità di tester, potresti pensare che "Progettare casi di test è già abbastanza impegnativo, allora perché preoccuparsi di qualcosa di così banale come i dati di test". Lo scopo di questo tutorial è farti conoscere i dati di test, la loro importanza e fornire suggerimenti e trucchi pratici per generare rapidamente i dati di test. Quindi, iniziamo!
Cosa sono i dati del test nel test del software?
I dati del test nel test del software sono l'input fornito a un programma software durante l'esecuzione del test. Rappresenta i dati che influenzano o influenzano l'esecuzione del software durante il test. I dati dei test vengono utilizzati sia per i test positivi per verificare che le funzioni producano risultati attesi per determinati input, sia per i test negativi per testare la capacità del software di gestire input insoliti, eccezionali o imprevisti.
Dati di test mal progettati potrebbero non testare tutti i possibili scenari di test che ostacoleranno la qualità del software.
Cos'è la generazione dei dati di test? Perché i dati del test dovrebbero essere creati prima dell'esecuzione del test?
Tutti sanno che il test è un processo che produce e consuma grandi quantità di dati. I dati utilizzati nel test descrivono le condizioni iniziali per un test e rappresentano il mezzo attraverso il quale il tester influenza il software. È una parte cruciale della maggior parte dei test funzionali.
A seconda dell'ambiente di test, potrebbe essere necessario CREARE i dati di test (la maggior parte delle volte) o almeno identificare i dati di test adatti per i casi di test (se i dati di test sono già stati creati).
In genere i dati di test vengono creati in sincronia con lo scenario di test per cui devono essere utilizzati.
È possibile generare dati di test -
- Manualmente
- Copia di massa dei dati dall'ambiente di produzione all'ambiente di test
- Copia di massa dei dati di test da sistemi client legacy
- Strumenti di generazione automatica dei dati di test
In genere, i dati di esempio dovrebbero essere generati prima di iniziare l'esecuzione del test perché altrimenti è difficile gestire la gestione dei dati del test. Poiché in molti ambienti di test la creazione di dati di test richiede più passaggi preliminari o configurazioni dell'ambiente di test che richiedono molto tempo. . Inoltre, se la generazione dei dati di test viene eseguita mentre sei in fase di esecuzione del test, potresti superare la scadenza del test.
Di seguito sono descritti diversi tipi di test insieme ad alcuni suggerimenti riguardanti le loro esigenze di dati di test.
Dati di test per il test White Box
In White Box Testing, la gestione dei dati di test è derivata dall'esame diretto del codice da testare. I dati del test possono essere selezionati tenendo conto delle seguenti cose:
- È auspicabile coprire il maggior numero di rami possibile; i dati di test possono essere generati in modo tale che tutti i rami nel codice sorgente del programma vengano testati almeno una volta
- Test del percorso: tutti i percorsi nel codice sorgente del programma vengono testati almeno una volta: la preparazione dei dati di test può essere eseguita per coprire il maggior numero di casi possibile
- Test API negativo:
- I dati di test possono contenere tipi di parametri non validi utilizzati per chiamare metodi diversi
- I dati di test possono consistere in combinazioni di argomenti non valide che vengono utilizzate per chiamare i metodi del programma
Dati di test per il test delle prestazioni
Il test delle prestazioni è il tipo di test che viene eseguito per determinare la velocità con cui il sistema risponde a un particolare carico di lavoro. L'obiettivo di questo tipo di test non è trovare bug, ma eliminare i colli di bottiglia. Un aspetto importante del test delle prestazioni è che il set di dati campione utilizzato deve essere molto vicino ai dati "reali" o "in tempo reale" utilizzati in produzione. Sorge la seguente domanda: "Ok, è bene eseguire il test con dati reali, ma come ottengo questi dati?" La risposta è piuttosto semplice: dalle persone che conoscono il meglio: i clienti . Potrebbero essere in grado di fornire alcuni dati che già possiedono o, se non dispongono di un set di dati esistente, potrebbero aiutarti fornendo feedback su come potrebbero apparire i dati del mondo reale. Nel caso in cui ti trovi in un fileprogetto di test di manutenzione è possibile copiare i dati dall'ambiente di produzione al banco di prova. È buona norma rendere anonimi (codificare) i dati sensibili dei clienti come il numero di previdenza sociale, i numeri di carta di credito, i dettagli bancari, ecc. Durante la copia.
Dati di test per test di sicurezza
Il test di sicurezza è il processo che determina se un sistema informativo protegge i dati da intenti dannosi. L'insieme di dati che devono essere progettati per testare completamente una sicurezza del software deve coprire i seguenti argomenti:
- Riservatezza: tutte le informazioni fornite dai clienti sono tenute con la massima riservatezza e non sono condivise con parti esterne. Ad esempio, se un'applicazione utilizza SSL, è possibile progettare una serie di dati di prova che verifichino che la crittografia sia eseguita correttamente.
- Integrità: determina che le informazioni fornite dal sistema sono corrette. Per progettare dati di test adeguati è possibile iniziare dando uno sguardo approfondito al design, al codice, ai database e alle strutture dei file.
- Autenticazione: rappresenta il processo per stabilire l'identità di un utente. I dati di test possono essere progettati come una diversa combinazione di nomi utente e password e il suo scopo è controllare che solo le persone autorizzate siano in grado di accedere al sistema software.
- Autorizzazione: indica quali sono i diritti di un utente specifico. I dati di test possono contenere una diversa combinazione di utenti, ruoli e operazioni al fine di verificare che solo gli utenti con privilegi sufficienti siano in grado di eseguire una particolare operazione.
Dati di test per il test Black Box
In Black Box Testing il codice non è visibile al tester. I tuoi casi di test funzionali possono avere dati di test che soddisfano i seguenti criteri:
- Nessun dato : controlla la risposta del sistema quando non vengono inviati dati
- Dati validi : controlla la risposta del sistema quando vengono inviati dati di prova validi
- Dati non validi : controlla la risposta del sistema quando vengono inviati i dati del test InValid
- Formato dati illegale : controlla la risposta del sistema quando i dati del test sono in un formato non valido
- Set di dati delle condizioni al contorno: verifica che i dati soddisfino le condizioni dei valori limite
- Set di dati della partizione di equivalenza : testare i dati che qualificano le partizioni di equivalenza.
- Set di dati della tabella decisionale : dati di test che qualificano la strategia di test della tabella decisionale
- Set di dati del test di transizione di stato: dati di test che soddisfano la strategia di test di transizione di stato
- Dati di test dei casi di utilizzo: i dati di test sono sincronizzati con i casi di utilizzo.
Nota : a seconda dell'applicazione software da testare, è possibile utilizzare alcuni o tutti i suddetti dati per la creazione di test
Strumenti di generazione automatica dei dati di test
Per generare vari set di dati, è possibile utilizzare una gamma di strumenti di generazione automatica dei dati di test. Di seguito sono riportati alcuni esempi di tali strumenti:
DTM Test Data generator, è un'utilità completamente personalizzabile che genera dati, tabelle (viste, procedure, ecc.) Per il test del database (test delle prestazioni, test QA, test di carico o test di usabilità).
Datatect è un generatore di dati SQL di Banner Software, genera una varietà di dati di test realistici in file flat ASCII o genera direttamente dati di test per RDBMS inclusi Oracle, Sybase, SQL Server e Informix.
Conclusione
In conclusione, dati di test ben progettati consentono di identificare e correggere gravi difetti di funzionalità. La scelta dei dati di prova selezionati deve essere rivalutata in ogni fase di un ciclo di sviluppo prodotto multifase. Quindi, tienilo sempre d'occhio.