Test di transizione di stato con esempio
โก Riepilogo intelligente
Il test di transizione di stato รจ una tecnica black-box che verifica come un'applicazione passa da uno stato all'altro al variare delle condizioni di input. Questo tutorial illustra le quattro parti del diagramma, la differenza tra diagrammi di stato e tabelle e fornisce esempi pratici di bancomat e login per i tester.

Che cos'รจ il test di transizione di stato?
Test di transizione di stato ร una tecnica di test black-box in cui le modifiche alle condizioni di input causano cambiamenti di stato o di output nell'applicazione sotto test (AUT). Aiuta ad analizzare il comportamento di un'applicazione in diverse condizioni di input e i tester possono fornire valori di input positivi e negativi registrando il comportamento del sistema.
Si basa sul modello su cui sono costruiti il โโsistema e i test. Qualsiasi sistema in cui si ottiene un output diverso per lo stesso input, a seconda di ciรฒ che รจ accaduto prima, รจ un sistema a stati finiti. La tecnica di test di transizione di stato รจ utile quando รจ necessario testare diverse transizioni di sistema.
Quando utilizzare i test di transizione di stato
- Quando un tester sta testando l'applicazione per un insieme finito di valori di input.
- Quando il tester sta testando una sequenza di eventi che si verificano nell'AUT, ciรฒ consente di verificare il comportamento dell'applicazione per una sequenza di valori di input.
- Quando il sistema in fase di test dipende da eventi o valori del passato.
Quando non fare affidamento sui test di transizione statale
- Quando il test non viene eseguito per combinazioni di input sequenziali.
- Quando i test si concentrano su diverse funzionalitร , come ad esempio i test esplorativi.
Quattro parti di un diagramma di transizione di stato
Il modello di transizione di stato si compone di quattro elementi principali, descritti di seguito.
1) Stati che il software potrebbe raggiungere.
2) Transizione da uno stato all'altro.
3) Eventi che innescano una transizione, come la chiusura di un file o il prelievo di denaro.
4) Azioni che derivano da una transizione, come un messaggio di errore o la ricezione di denaro contante.
Diagramma di transizione di stato vs tabella di transizione di stato
Esistono due modi principali per rappresentare o progettare le transizioni di stato: il diagramma di transizione di stato e la tabella di transizione di stato.
| Aspetto | Diagramma di transizione di stato | Tabella di transizione di stato |
|---|---|---|
| Chiamato anche | Grafico/Schema statale | Tabella di stato |
| sul Mercato | Boxe per gli stati, frecce per le transizioni | Griglia di stati (righe) ed eventi (colonne) |
| migliori per identificare | Transizioni valide | Transizioni non valide |
| Ogni cella mostra | - | Lo stato raggiunto dopo che si รจ verificato un evento |
Come effettuare una transizione di stato (esempi)
Esempio 1: Blocco PIN bancomat
Si consideri una funzione di un sistema bancomat in cui, se l'utente inserisce la password errata per tre volte, il conto viene bloccato.
In questo sistema, se l'utente inserisce una password valida in uno qualsiasi dei primi tre tentativi, l'accesso viene effettuato con successo. Se l'utente inserisce una password errata al primo o al secondo tentativo, gli viene richiesto di reinserirla. Infine, se l'utente inserisce la password errata per la terza volta, l'account viene bloccato.
Diagramma di transizione di stato (Esempio 1)
Nel diagramma, ogni volta che l'utente inserisce il PIN corretto, passa allo stato "Accesso consentito". Se inserisce la password errata, passa al tentativo successivo e, se ripete l'errore una terza volta, raggiunge lo stato "Account bloccato".
Tabella di transizione di stato (Esempio 1)
| Regione / Stato | PIN corretto | PIN errato |
|---|---|---|
| S1) Inizio | S5 | S2 |
| S2) 1ยฐ tentativo | S5 | S3 |
| S3) secondo tentativo | S5 | S4 |
| S4) 3ยฐ tentativo | S5 | S6 |
| S5) Accesso concesso | - | - |
| S6) Account bloccato | - | - |
Nella tabella, quando l'utente inserisce il PIN corretto, lo stato passa a S5 (Accesso consentito). Se l'utente inserisce una password errata, passa allo stato successivo e, dopo il terzo tentativo errato, raggiunge lo stato Account bloccato.
Esempio 2: Accesso alla prenotazione del volo
Nella schermata di accesso alla prenotazione del volo, รจ necessario inserire il nome e la password dell'agente corretti per accedere al domanda di prenotazione del volo.
Grafico della transizione di stato
L'applicazione consente tre tentativi; se l'utente inserisce la password errata al quarto tentativo, il sistema chiude automaticamente l'applicazione.
Il grafico degli stati ti aiuta a determinare le transizioni valide da testare. Il test con password corretta e non corretta รจ obbligatorio, e per il scenari di provaร possibile testare l'accesso al secondo, terzo o quarto tentativo. ร possibile utilizzare una tabella degli stati per determinare le transizioni di sistema non valide.
In una tabella degli stati, tutti gli stati validi sono elencati a sinistra e gli eventi che li determinano in alto. Ogni cella mostra lo stato in cui il sistema passa quando si verifica l'evento. Ad esempio, nello stato S1, una password corretta porta a S6 (Accesso consentito); una password errata al primo tentativo porta a S3 (Secondo tentativo). Allo stesso modo, รจ possibile determinare tutti gli altri stati.
Con questo metodo vengono evidenziati due stati non validi. Supponiamo di trovarci nello stato S6 (giร effettuato l'accesso) e di aprire un'altra istanza di prenotazione voli inserendo le password per lo stesso agente. ร necessario testare la risposta del sistema in uno scenario di questo tipo.
Vantaggi e svantaggi della tecnica di transizione di stato
| Vantaggi | Svantaggi |
|---|---|
| Fornisce una rappresentazione grafica o tabellare del comportamento del sistema, aiutaping il tester copre e comprende il sistema in modo efficace. | Non รจ sempre affidabile; ad esempio, non รจ adatto a sistemi non finiti o sequenziali. |
| Consente al tester di verificare che tutte le condizioni siano soddisfatte e che i risultati siano stati acquisiti. | Richiede la definizione di tutti i possibili stati. Questo funziona per sistemi di piccole dimensioni, ma non รจ piรน adeguato per quelli piรน grandi a causa della crescita esponenziale del numero di stati. |





