Finite State Testing

Da Wikiversità, l'apprendimento libero.
lezione
lezione
Finite State Testing
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Metodi di verifica e testing

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 che rappresenta la SPECIFICA
  • Abbiamo una FSM che rappresenta la IMPLEMENTAZIONE
  • Operiamo un Conformance Testing - un caso particolare di Testing Funzionale - per stabilire se sia equivalente a

...ed un po' di formalismo

V-equivalenza tra stati
preso 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

W-method[modifica]

Premesse[modifica]

  • Visto il formalismo presentato sopra: occorre verificare che gli stati iniziali di ed siano equivalenti
  • Occorre inoltre trovare un metodo per identificare gli stati

Fault Model[modifica]

Esistono due tipi di Fault in cui può incorrere

Output Fault
Stesso stato finale MA output diverso
Transfer Fault
Output corretto MA stato finale errato

Characterization Set[modifica]

Insieme di sequenze di ingressi sufficiente a disambiguare lo stato iniziale

State-Cover Set[modifica]

è l'insieme degli ingressi che, a partire dallo stato iniziale, permette di raggiungere ciascun altro stato

Transition Set[modifica]

è l'insieme degli ingressi che, a partire dallo stato iniziale, permette di coprire tutti e le transizioni (archi)

Copetura All-nodes[modifica]

Utilizziamo come Test Suite l'insieme

Se la implementazione è conforme: ci permette di raggiungere ogni stato (NODO). Poi a partire da questo, applicando si vuole capire da quale stato siamo partiti.

Copertura All-edges[modifica]

Utilizziamo come Test Suite l'insieme


Considerazioni[modifica]

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)


Wp-method[modifica]