Criterio di n-copertura dei cicli
Un test T soddisfa il criterio di n-copertura se e solo se ogni cammino del grafo contenente al massimo un numero d’iterazioni di ogni ciclo non superiore a n viene percorso per almeno un caso di test t∈T.
La definizione sopra non significa che il test deve eseguire n volte un ciclo, ma che per ogni numero k compreso tra 0 e n deve esistere un caso di test che esegue tale ciclo k volte.
Si sta quindi limitando il numero massimo di percorrenze dei cicli.
Di conseguenza, al crescere di n il numero di test aumenta molto rapidamente.
Inoltre, fissare n a livello di programma può non essere un’azione così semplice: il numero d’iterazioni che necessita un ciclo per essere testato a fondo può essere molto differente a seconda del caso.
Per cercare di minimizzare il numero di test spesso il criterio applicato è quello di 2-copertura dei cicli. Si tratta infatti del numero minimo che permette comunque di testare tutte le casistiche principali:
- zero iterazioni;
- una iterazione;
- più di una iterazione.
Il caso n=2 è cioè il minimo per considerare casistiche non banali: dando uno sguardo all’esempio sopra, infatti, con n=1 il ciclo (while
) sarebbe stato indistinguibile da una semplice selezione (if
); testando due iterazioni si incominciano a testare le vere caratteristiche del ciclo.
Esso permette cioè di testare non solo i comandi che compongono il ciclo, ma anche sue le pre/post-condizioni ed eventuali invarianti.
A differenza del criterio di copertura dei cammini, il criterio di n-copertura è considerato applicabile a programmi reali.