Test di transizione di stato
Che cos'è il test di transizione di stato?
Test di transizione di stato, una tecnica di test della scatola nera, in cui gli output vengono attivati da modifiche alle condizioni di input o modifiche allo "stato" del sistema. In altre parole, i test sono progettati per eseguire transizioni di stato valide e non valide.
Quando usare?
Quando abbiamo una sequenza di eventi che si verificano e condizioni associate che si applicano a quegli eventi
Quando la corretta gestione di un particolare evento dipende dagli eventi e dalle condizioni che si sono verificati in passato
Viene utilizzato per sistemi in tempo reale con vari stati e transizioni coinvolti
Casi di test derivati:
Comprendere i vari stati e transizioni e contrassegnare ogni stato valido e non valido
Definizione di una sequenza di un evento che porta a uno stato di fine del test consentito
Ciascuno di quegli stati visitati e di transizione attraversata dovrebbe essere annotato
I passaggi 2 e 3 devono essere ripetuti finché tutti gli stati non sono stati visitati e tutte le transizioni attraversate
Affinché i test case abbiano una buona copertura, è necessario generare i valori di input effettivi e i valori di output effettivi
Vantaggi:
Consente ai tester di familiarizzare con la progettazione del software e consente loro di progettare i test in modo efficace.
Consente inoltre ai tester di coprire gli stati non pianificati o non validi.
Esempio:
La transizione di un sistema è rappresentata come mostrato nel diagramma seguente:
I test derivano dallo stato e dalla transizione di cui sopra e di seguito sono i possibili scenari che devono essere testati.
Test | Prova 1 | Prova 2 | Prova 3 |
---|---|---|---|
Stato iniziale | Off | Sopra | Sopra |
Ingresso | Accendere | Spegnere | Spegnere |
Produzione | Accendi | Luci spente | Colpa |
Fine stato | SOPRA | OFF | Sopra |