Tipologie di testing software: Il Test del flusso di dati

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.

Tipologie di testing software: Il Test del flusso di dati

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.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *