Che cos'è il test di transizione di stato? Diagramma, tecnica, esempio

Sommario:

Anonim

Che cos'è il test di transizione di stato?

Il test di transizione dello stato è una tecnica di test della scatola nera in cui le modifiche apportate alle condizioni di input causano modifiche di stato o modifiche di output nell'applicazione in test (AUT). Il test di transizione di stato aiuta ad analizzare il comportamento di un'applicazione per diverse condizioni di input. I tester possono fornire valori di test di input positivi e negativi e registrare il comportamento del sistema.

È il modello su cui si basano il sistema e le prove. 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 del test di transizione di stato è utile quando è necessario testare diverse transizioni di sistema.

In questo tutorial imparerai-

  • Che cos'è la transizione di stato nei test?
  • Quando utilizzare la transizione di stato?
  • Quando non fare affidamento sulla transizione di stato?
  • Quattro parti del diagramma di transizione di stato
  • Diagramma di transizione di stato e tabella di transizione di stato
  • Come effettuare una transizione di stato (esempi di una transizione di stato)
  • Vantaggi e svantaggi della tecnica di transizione statale

Quando utilizzare la transizione di stato?

  • Può essere utilizzato quando un tester sta testando l'applicazione per un insieme finito di valori di input.
  • Quando il tester sta tentando di testare la sequenza di eventi che si verificano nell'applicazione sotto test. Cioè, questo consentirà al tester di testare il comportamento dell'applicazione per una sequenza di valori di input.
  • Quando il sistema in prova ha una dipendenza dagli eventi / valori in passato.

Quando non fare affidamento sulla transizione di stato?

  • Quando il test non viene eseguito per le combinazioni di input sequenziali.
  • Se il test deve essere eseguito per diverse funzionalità come il test esplorativo

Quattro parti del diagramma di transizione di stato

Ci sono 4 componenti principali del modello di transizione statale come di seguito

1) Indica che il software potrebbe ottenere

2) Transizione da uno stato all'altro

3) Eventi che originano una transizione come la chiusura di un file o il prelievo di denaro

4) Azioni che derivano da una transizione (un messaggio di errore o l'assegnazione del denaro).

Diagramma di transizione di stato e tabella di transizione di stato

Esistono due modi principali per rappresentare o progettare la transizione di stato, il diagramma di transizione di stato e la tabella di transizione di stato.

Nel diagramma delle transizioni di stato gli stati sono mostrati in un riquadro di testo e la transizione è rappresentata da frecce. È anche chiamato diagramma di stato o grafico. È utile per identificare transizioni valide.

Nella tabella di transizione di stato tutti gli stati sono elencati sul lato sinistro e gli eventi sono descritti in alto. Ciascuna cella della tabella rappresenta lo stato del sistema dopo che si è verificato l'evento. È anche chiamato State Table. È utile per identificare le transizioni non valide.

Come effettuare una transizione di stato (esempi di una transizione di stato)

Esempio 1:

Consideriamo una funzione del sistema ATM in cui se l'utente inserisce una password non valida tre volte, l'account verrà bloccato.

In questo sistema, se l'utente immette una password valida in uno dei primi tre tentativi, l'accesso verrà eseguito correttamente. Se l'utente immette la password non valida al primo o al secondo tentativo, all'utente verrà chiesto di reinserire la password. Infine, se l'utente inserisce una password errata per la terza volta, l'account verrà bloccato.

Diagramma di transizione di stato

Nel diagramma ogni volta che l'utente inserisce il PIN corretto viene spostato nello stato Accesso concesso, e se inserisce la password sbagliata viene spostato al tentativo successivo e se fa lo stesso per la terza volta viene raggiunto lo stato bloccato dell'account.

Tabella di transizione di stato

Correggi PIN

PIN errato

S1) Avvia

S5

S2

S2) 1 ° tentativo

S5

S3

S3) 2 ° tentativo

S5

S4

S4) 3 ° tentativo

S5

S6

S5) Accesso concesso

-

-

S6) Account bloccato

-

-

Nella tabella, quando l'utente immette il PIN corretto, lo stato passa a S5, che è Accesso concesso. E se l'utente inserisce una password sbagliata, viene spostato allo stato successivo. Se fa la stessa terza volta, raggiungerà lo stato di blocco dell'account.

Esempio 2:

Guarda questo video prima di fare riferimento all'esempio seguente:

Fare clic qui se il video non è accessibile

Nella schermata di accesso della prenotazione del volo, considera che devi inserire il nome dell'agente e la password corretti per accedere all'applicazione di prenotazione del volo.

Grafico di transizione di stato

Ti dà l'accesso all'applicazione con la password e il nome di accesso corretti, ma cosa succede se hai inserito la password sbagliata.

L'applicazione consente tre tentativi e se gli utenti inseriscono la password sbagliata al 4 ° tentativo, il sistema chiude automaticamente l'applicazione.

I grafici di stato ti aiutano a determinare le transizioni valide da testare. In questo caso, il test con la password corretta e con una password errata è obbligatorio. Per gli scenari di test, accedere al 2 ° , 3 ° e 4 ° tentativo chiunque può essere testato.

È possibile utilizzare la tabella degli stati per determinare le transizioni di sistema non valide.

In una tabella di stato, tutti gli stati validi sono elencati sul lato sinistro della tabella e gli eventi che li provocano in alto.

Ogni cella rappresenta il sistema di stato in cui si sposterà quando si verifica l'evento corrispondente.

Ad esempio, mentre nello stato S1 si immette una password corretta, si viene portati allo stato S6 (Accesso concesso). Supponiamo che se hai inserito la password sbagliata al primo tentativo verrai portato allo stato S3 o 2nd Try.

Allo stesso modo, puoi determinare tutti gli altri stati.

Due stati non validi vengono evidenziati utilizzando questo metodo. Supponi di essere nello stato S6, ovvero di aver già effettuato l'accesso all'applicazione, di aprire un'altra istanza di prenotazione del volo e di inserire password valide o non valide per lo stesso agente. La risposta del sistema per un tale scenario deve essere testata.

Vantaggi e svantaggi della tecnica di transizione statale

Vantaggi

Svantaggi

Questa tecnica di test fornirà una rappresentazione grafica o tabellare del comportamento del sistema che consentirà al tester di coprire e comprendere il comportamento del sistema in modo efficace.

Il principale svantaggio di questa tecnica di test è che non possiamo fare affidamento su questa tecnica ogni volta. Ad esempio, se il sistema non è un sistema finito (non in ordine sequenziale), questa tecnica non può essere utilizzata.

Utilizzando questo test, il tester della tecnica può verificare che tutte le condizioni siano coperte e i risultati vengano acquisiti

Un altro svantaggio è che devi definire tutti i possibili stati di un sistema. Anche se questo va bene per i piccoli sistemi, presto si scompone in sistemi più grandi in quanto vi è una progressione esponenziale nel numero di stati.

Sommario:

  • Il test di transizione di stato è definito come la tecnica di test in cui i cambiamenti nelle condizioni di input causano i cambiamenti di stato nell'applicazione sotto test.
  • In Software Engineering, State Transition Testing Technique è utile quando è necessario testare diverse transizioni di sistema.
  • Due modi principali per rappresentare o progettare la transizione di stato, il diagramma di transizione di stato e la tabella di transizione di stato.
  • Nel diagramma delle transizioni di stato gli stati sono mostrati in un riquadro di testo e la transizione è rappresentata da frecce.
  • Nella tabella di transizione di stato tutti gli stati sono elencati sul lato sinistro e gli eventi sono descritti in alto.
  • Questo vantaggio principale di questa tecnica di test è che fornirà una rappresentazione grafica o tabellare del comportamento del sistema che consentirà al tester di coprire e comprendere il comportamento del sistema in modo efficiente.
  • Il principale svantaggio di questa tecnica di test è che non possiamo fare affidamento su questa tecnica ogni volta.