Test di percorso e test di base del percorso nel software con esempi
⚡ Riepilogo intelligente
Il Basis Path Testing è una tecnica white box che deriva i casi di test dai percorsi logici all'interno di un programma, utilizzando un grafo di flusso di controllo e la complessità ciclomica per trovare l'insieme minimo di percorsi indipendenti.

Cos'è il Path Testing nel test del software?
Il path testing è un metodo di test strutturale che prevede l'utilizzo del codice sorgente di un programma per trovare ogni possibile percorso eseguibile. Aiuta a determinare tutti i difetti che si trovano all'interno di un pezzo di codice. Questo metodo è progettato per eseguire tutto o il percorso selezionato tramite un programma per computer.
Qualsiasi programma non banale contiene molti possibili percorsi di esecuzione. Testarli tutti è difficile e richiede molto tempo, e la maggior parte di essi si sovrappone. Il test dei percorsi di base riduce questa ridondanza identificando il più piccolo insieme di percorsi che esegue comunque ogni istruzione e ogni ramo almeno una volta.
Test del percorso di base nell'ingegneria del software
Test del percorso di base in ingegneria del software è a Bianco Box Collaudo metodo in cui i casi di test vengono definiti in base a flussi o percorsi logici che possono essere intrapresi attraverso il programma. L'obiettivo del testing del percorso di base è definire il numero di percorsi indipendenti, in modo che il numero di casi di test necessari possa essere definito esplicitamente per massimizzare la copertura del test.
In Ingegneria del software, Il test del percorso base prevede l'esecuzione di tutti i possibili blocchi in un programma e raggiunge la massima copertura del percorso con il minor numero di casi di test. È un metodo ibrido di test dei rami e metodi di test del percorso.
Un semplice esempio rende il concetto concreto.
Il diagramma di flusso sopra riportato contiene istruzioni condizionali, pertanto il controllo può raggiungere l'uscita attraverso più di un percorso. Sono necessari tre percorsi indipendenti per coprirlo:
- percorso 1: 1,2,3,5,6, 7
- percorso 2: 1,2,4,5,6, 7
- percorso 3: 1, 6, 7
Come disegnare un diagramma di flusso di controllo
Ogni fase del test del percorso di base dipende dal diagramma di flusso di controllo, quindi è importante essere precisi su come viene costruito.
- Nodo: Una sequenza di istruzioni che vengono sempre eseguite insieme, rappresentata da un cerchio. Una sequenza di istruzioni senza diramazioni si riduce a un singolo nodo.
- bordo: Un trasferimento di controllo da un nodo all'altro, rappresentato da una freccia. Gli archi sono l'unico modo in cui si sposta il controllo.
- Nodo predicativo: un nodo contenente una condizione, con due o più archi uscenti da esso. Questi determinano il conteggio della complessità.
- Regione: un'area delimitata da spigoli e nodi. Il numero di regioni più uno è anche uguale alla complessità ciclomica.
Consideriamo un breve modulo con due decisioni:
if (a > b) { // node 1, predicate max = a; // node 2 } else { max = b; // node 3 } if (max > limit) { // node 4, predicate alert(); // node 5 } return max; // node 6
Il grafo ha 6 nodi e 6 archi, quindi V(G) = 6 – 6 + 2 = 2 secondo la formula degli archi. Il conteggio dei predicati fornisce la stessa risposta più rapidamente: 2 decisioni più 1 equivalgono a 3 percorsi indipendenti attraverso i due rami considerati insieme. Utilizza la forma che puoi calcolare in modo affidabile e confrontala con l'altra.
Due regole che prevengono la maggior parte degli errori. In primo luogo, una condizione composta come se (x > 0 e y > 0) conta come due nodi predicativi, non uno, perché il cortocircuito crea una seconda decisione. In secondo luogo, un ciclo contribuisce con un nodo predicativo indipendentemente da quante volte si ripete.
Passaggi per il test del percorso di base
I passaggi fondamentali coinvolti nel test del percorso di base includono
- Disegna un grafico di controllo (per determinare diversi percorsi di programma)
- Calcola Complessità ciclomatica (metriche per determinare il numero di percorsi indipendenti)
- Trova un insieme base di percorsi
- Generare casi test per esercitare ogni percorso
Vantaggi e limiti del test del percorso di base
Vantaggi del test del percorso di base
- Aiuta a ridurre i test ridondanti
- Focalizza l'attenzione sulla logica del programma
- Sostituisce la selezione arbitraria dei casi di test con una base analitica
- I casi di test che esercitano il set di base eseguiranno ogni istruzione in un programma almeno una volta
Limitazioni del test del percorso di base
- Non riesce a trovare il codice mancante. Un requisito che non è mai stato implementato non ha un percorso, quindi non verrà generato alcun test per esso. Il test del percorso di base deve essere abbinato al test basato sui requisiti.
- Il numero di percorsi cresce rapidamente. Cicli annidati e condizioni composte aumentano rapidamente la complessità, e un modulo con V(G) superiore a 20 diventa impraticabile da coprire in questo modo.
- La copertura non è sinonimo di correttezza. L'esecuzione di un percorso dimostra che il codice funziona, non che produca la risposta corretta. Ogni test necessita comunque di un'asserzione significativa.
- Percorsi dipendenti dai dati. Alcuni percorsi sono raggiungibili solo con specifiche combinazioni di input che possono essere difficili o impossibili da realizzare.

