Tipologie di testing software: Il Test del flusso di dati
Il test del flusso di dati o Data Flow Testing è una delle strategie di test, che si concentra sulle variabili dei dati e sui loro valori, utilizzati nella logica di programmazione del prodotto software, utilizzando il grafico del flusso di controllo. Il test del flusso di dati è la forma del white box testing e del test di tipo strutturale, che generalmente mantiene il controllo nei punti in cui i valori dei dati vengono ricevuti dalle variabili e nei punti in cui è chiamato per l’uso. Viene utilizzato per colmare il divario tra il test del percorso e il test del ramo (in inglese path testing and branch testing).
L’idea di base alla base di questa forma di test è rivelare gli errori di codifica e gli errori, che possono risultare in un’implementazione e un utilizzo improprio delle variabili dei dati o dei valori dei dati nel codice di programmazione, ad esempio anomalie dei dati,
- Tutte le variabili di dati, presenti nel codice di programmazione sono state inizializzate o meno,
- Variabili di dati che vengono utilizzate, sono state, precedentemente inizializzate o meno,
- Se le variabili di dati inizializzate, sono state utilizzate, almeno una volta, nel codice di programmazione.
Come vengono utilizzati i dati nel codice di programmazione
In genere, gli oggetti di dati che si verificano nel ciclo di vita della programmazione attraversano 3 fasi
- Definizione: le variabili di dati vengono definite, create e inizializzate, insieme all’allocazione della memoria a quel particolare oggetto dati.
- Utilizzo: le variabili di dati dichiarate possono essere utilizzate nel codice di programmazione, in due forme
- Come parte del predicato (P), come “If (A> B)”
- Nella forma computazionale (C), quando gli elementi di dati sono coinvolti nei calcoli per fornire un output.
- Eliminazione o eliminazione: la memoria allocata alle variabili viene liberata e utilizzata per altri usi.
Tipi di test del flusso di dati
Il processo di verifica del flusso di dati può essere eseguito attraverso due diversi approcci o metodologie.
Test statico del flusso di dati
Nei test statici, lo studio e l’analisi del codice vengono eseguiti senza eseguire l’effettiva esecuzione del codice, ad esempio l’uso di file di intestazione o di libreria errati o errori di sintassi. Generalmente, durante questo tipo di test, il pattern duk, ovvero la definizione, l’utilizzo e il pattern kill delle variabili dei dati viene monitorato e osservato con l’aiuto del grafico del flusso di controllo.
Test dinamico del flusso di dati
Implica l’esecuzione del codice, per monitorare e osservare i risultati intermedi. Fondamentalmente, si occupa della copertura delle proprietà del flusso di dati. Questo tipo di test può comprendere le seguenti attività:
- Identificazione di tutte le coppie du, ovvero definizione e utilizzo nel codice.
- Rilevamento del percorso fattibile tra ogni definizione e coppia di utilizzo.
- Progettazione e creazione di set di casi di test per ogni percorso.
Copertura del test del flusso di dati
La copertura del flusso di dati in termini di “sottopercorsi” e “percorso completo” può essere classificata nei seguenti tipi:
- Copertura di tutte le definizioni: copre i “sottopercorsi” da ciascuna definizione ad alcuni dei rispettivi usi.
- Copertura dell’uso di tutte le definizioni C: “sottopercorsi” da ciascuna definizione a tutti i rispettivi usi C.
- Copertura dell’uso di tutte le definizioni P: “sottopercorsi” da ciascuna definizione a tutti i rispettivi usi P.
- Copertura per tutti gli usi: copertura dei “sottopercorsi” da ciascuna definizione a ogni rispettivo utilizzo, indipendentemente dai tipi.
- Copertura dell’uso di tutte le definizioni: copertura di “sottopercorsi semplici” da ciascuna definizione a ogni rispettivo utilizzo.
Limitazioni del test del flusso di dati
Con i vantaggi dell’utilizzo del test esplorativo nell’ambiente agile, sono associate anche alcune limitazioni come:
- I tester devono avere una conoscenza sufficiente della programmazione.
- Processo lungo e costoso.