Please enable JavaScript.
Coggle requires JavaScript to display documents.
VERIFICA STATICA E DINAMICA - Coggle Diagram
VERIFICA STATICA E DINAMICA
VERIFICA STATICA
Tecniche principali:
Esecuzione simbolica:
Rappresentazione matematica degli stati del programma
Analizza il legame funzionale tra input e output simulando i percorsi simbolici
Model Checking:
Richiede linguaggio espressivo per comportamento e proprietà
Nato negli anni ‘80 per circuiti hardware
Verifica automatica su modelli a stati finiti
Review (desk check):
Efficacia: individua circa l’85% dei fault, ottimo rapporto costi-benefici
Due metodi
Inspection: ricerca sistematica di difetti noti con checklist, in team formali
Walkthrough: esecuzione simulata per trovare errori algoritmici
Simulazione manuale dell'esecuzione
Definizione:
Processo di valutazione basato su forma, struttura e documentazione
Non prevede l'esecuzione del codice
Detto anche "ispezione del software"
VERIFICA DINAMICA
Categorie di verifica dinamica:
Testing strutturale (White-box testing):
Si esegue una "scatola bianca" testando tutti i rami possibili
Verifica l'implementazione interna e i percorsi del software
Richiede conoscenza dell’architettura e del codice
Testing casuale:
Selezione pseudocasuale di un sottoinsieme di test da una collezione predisposta
Testing funzionale (Black-box testing):
Il sistema è visto come una "scatola nera"
Input progettati per attivare tutte le transazioni previste
Testa le funzionalità in base alle specifiche dei requisiti
Nota Bene:
Testing funzionale e strutturale sono complementari
Tesi di Dijkstra: "Il testing può dimostrare la presenza di bug, ma non la loro assenza"
Definizione:
Utilizza dati di test selezionati (batterie di test)
Nota anche come testing
Controllo del comportamento del software tramite esecuzione