Avrebbe senso contare la complessità ciclomatica per i diagrammi di progettazione?

0

So che CC è contato a livello di codice per determinare un insieme di percorsi di base (cioè percorsi indipendenti), i cui elementi possono quindi essere combinati per creare qualsiasi possibile percorso di esecuzione. Nel test del software, CC determina quindi il numero minimo di casi di test per esercitare tali percorsi e coprire tutti i bordi e tutti i nodi.

E ora mi chiedo, ha senso guardare un diagramma di flusso astratto di un programma software e usare CC per preparare casi di utilizzo / test di alto livello?

per es.

Money Inserted? Y ---> Show Screen X  
                N----> Show Screen Y-->RECEIPT REQUIRED? Y----> Show Screen A

Quindi vorrei sapere che ho bisogno di almeno 3 casi di test (predicati +1).

Ma ha senso? Per quanto mi riguarda, ritengo che possa ancora offrire una copertura di funzionalità di alto livello (ma ovviamente non può garantire che il codice sottostante sia completamente esercitato).

    
posta John V 27.09.2017 - 20:57
fonte

1 risposta

1

Sì, penso che potrebbe essere prezioso. Ma forse per una ragione diversa da quella che descrivi. Penso che il calcolo CC di un design possa aiutarti a confrontarlo con un design concorrente in modo obiettivo. Un CC inferiore indica un design più semplice e facile da testare. È anche una metrica che puoi tracciare nel tempo per capire come il sistema stia crescendo in complessità, e quando raggiunge un certo punto il design potrebbe dover essere rifattorizzato per essere più semplice e abbassare il CC.

Sapendo che è necessario un certo numero di casi di test per coprire un progetto non è utile quando si preparano quei test perché si avrebbe davvero bisogno di un'analisi di copertura per capire se hai scritto i test corretti per coprire il progetto. Il solo raggiungimento del numero corretto di test non significa che hai svolto correttamente il tuo lavoro.

    
risposta data 27.09.2017 - 21:04
fonte

Leggi altre domande sui tag