Finite State Testing

Talvolta è possibile - ed opportuno - astrarre il sistema da testare, ponendolo sotto forma di Macchina a Stati.

lezione
lezione
Finite State Testing
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Metodi di verifica e testing

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