Finite State Testing
Da Wikiversità, l'università aperta.
Per l'elenco completo degli stub, vedi la relativa categoria
Talvolta è possibile - ed opportuno - astrarre il sistema da testare, ponendolo sotto forma di Macchina a Stati.
Per l'analisi saranno necessarie le seguenti premesse...
- Abbiamo una FSM S che rappresenta la SPECIFICA
- Abbiamo una FSM I che rappresenta la IMPLEMENTAZIONE
- Operiamo un Conformance Testing - un caso particolare di Testing Funzionale - per stabilire se I sia equivalente a S
...ed un po' di formalismo
- V-equivalenza tra stati
- preso V un insieme di sequenze di input, due stati sono detti V-equivalenti se
gli stati restituiscono lo stesso output - Equivalenza tra stati
- se gli stati sono V-equivalenti

- Equivalenza tra FSM
- due FSM sono equivalenti se i loro stati iniziali sono equivalenti
Indice |
[modifica] W-method
[modifica] Premesse
- Visto il formalismo presentato sopra: occorre verificare che gli stati iniziali di S ed I siano equivalenti
- Occorre inoltre trovare un metodo per identificare gli stati
[modifica] Fault Model
Esistono due tipi di Fault in cui può incorrere I
- Output Fault
- Stesso stato finale MA output diverso
- Transfer Fault
- Output corretto MA stato finale errato
[modifica] Characterization Set
Insieme di sequenze di ingressi sufficiente a disambiguare lo stato iniziale
[modifica] State-Cover Set
Q è l'insieme degli ingressi che, a partire dallo stato iniziale, permette di raggiungere ciascun altro stato
[modifica] Transition Set
P è l'insieme degli ingressi che, a partire dallo stato iniziale, permette di coprire tutti e le transizioni (archi)
[modifica] Copetura All-nodes
Utilizziamo come Test Suite l'insieme 
Se la implementazione è conforme: Q ci permette di raggiungere ogni stato (NODO). Poi a partire da questo, applicando W si vuole capire da quale stato siamo partiti.
[modifica] Copertura All-edges
Utilizziamo come Test Suite l'insieme 
[modifica] Considerazioni
Operare il Finite-State-Testing attraverso W-method permette di ottenere una Full Fault Coverage, purché siano garantite le seguenti condizioni sulle macchine specifica ed implementazione
- devono essere deterministiche
- devono essere osservabili
- devono essere completamente specificate
- devono avere lo stesso numero di stati
- Il reset delle macchine è corretto nel senso che porta sempre allo stesso stato (non necessariamente quello iniziale)