Was ist State Transition Testing? Diagramm, Technik, Beispiel

Inhaltsverzeichnis:

Anonim

Was ist ein Zustandsübergangstest?

State Transition Testing ist eine Black-Box-Testmethode, bei der Änderungen der Eingabebedingungen zu Statusänderungen oder Ausgabeänderungen in der zu testenden Anwendung (AUT) führen. Zustandsübergangstests helfen dabei, das Verhalten einer Anwendung für verschiedene Eingabebedingungen zu analysieren. Tester können positive und negative Eingabetestwerte bereitstellen und das Systemverhalten aufzeichnen.

Es ist das Modell, auf dem das System und die Tests basieren. Jedes System, bei dem Sie eine andere Ausgabe für dieselbe Eingabe erhalten, je nachdem, was zuvor geschehen ist, ist ein Finite-State-System.

Die Testtechnik für Zustandsübergänge ist hilfreich, wenn Sie verschiedene Systemübergänge testen müssen.

In diesem Tutorial lernen Sie:

  • Was ist Zustandsübergang beim Testen?
  • Wann wird der Zustandsübergang verwendet?
  • Wann sollte man sich nicht auf den Staatsübergang verlassen?
  • Vier Teile des Zustandsübergangsdiagramms
  • Zustandsübergangsdiagramm und Zustandsübergangstabelle
  • So führen Sie einen Zustandsübergang durch (Beispiele für einen Zustandsübergang)
  • Vor- und Nachteile der Zustandsübergangstechnik

Wann wird der Zustandsübergang verwendet?

  • Dies kann verwendet werden, wenn ein Tester die Anwendung auf einen endlichen Satz von Eingabewerten testet.
  • Wenn der Tester versucht, die Abfolge von Ereignissen zu testen, die in der zu testenden Anwendung auftreten. Dies ermöglicht es dem Tester, das Anwendungsverhalten für eine Folge von Eingabewerten zu testen.
  • Wenn das zu testende System von den Ereignissen / Werten in der Vergangenheit abhängig ist.

Wann sollte man sich nicht auf den Staatsübergang verlassen?

  • Wenn der Test für sequentielle Eingabekombinationen nicht durchgeführt wird.
  • Wenn die Tests für verschiedene Funktionen wie Erkundungstests durchgeführt werden sollen

Vier Teile des Zustandsübergangsdiagramms

Es gibt 4 Hauptkomponenten des Zustandsübergangsmodells (siehe unten)

1) Gibt an, dass die Software möglicherweise erhalten wird

2) Übergang von einem Zustand in einen anderen

3) Ereignisse , die einen Übergang auslösen , wie das Schließen einer Datei oder das Abheben von Geld

4) Aktionen , die sich aus einem Übergang ergeben (eine Fehlermeldung oder das Erhalten des Geldes).

Zustandsübergangsdiagramm und Zustandsübergangstabelle

Es gibt zwei Hauptmethoden zum Darstellen oder Entwerfen des Zustandsübergangs: das Zustandsübergangsdiagramm und die Zustandsübergangstabelle.

Im Zustandsübergangsdiagramm werden die Zustände in Kästentexten angezeigt, und der Übergang wird durch Pfeile dargestellt. Es wird auch als Zustandsdiagramm oder -diagramm bezeichnet. Es ist nützlich, um gültige Übergänge zu identifizieren.

In der Statusübergangstabelle werden alle Status auf der linken Seite aufgelistet und die Ereignisse oben beschrieben. Jede Zelle in der Tabelle repräsentiert den Status des Systems nach dem Eintreten des Ereignisses. Es wird auch als State Table bezeichnet. Dies ist nützlich, um ungültige Übergänge zu identifizieren.

So führen Sie einen Zustandsübergang durch (Beispiele für einen Zustandsübergang)

Beispiel 1:

Betrachten wir eine ATM-Systemfunktion, bei der das Konto gesperrt wird, wenn der Benutzer dreimal das ungültige Kennwort eingibt.

Wenn der Benutzer in diesem System bei einem der ersten drei Versuche ein gültiges Kennwort eingibt, wird er erfolgreich angemeldet. Wenn der Benutzer beim ersten oder zweiten Versuch das ungültige Kennwort eingibt, wird er aufgefordert, das Kennwort erneut einzugeben. Und schließlich wird das Konto gesperrt , wenn der Benutzer zum dritten Mal ein falsches Passwort eingibt .

Zustandsübergangsdiagramm

Wenn der Benutzer im Diagramm die richtige PIN eingibt, wird er in den Status "Zugriff gewährt" versetzt. Wenn er das falsche Kennwort eingibt, wird er zum nächsten Versuch versetzt. Wenn er dies zum dritten Mal tut, wird der Status "Kontosperrung" erreicht.

Zustandsübergangstabelle

Richtige PIN

Falsche PIN

S1) Starten

S5

S2

S2) 1 st Versuch

S5

S3

S3) 2 nd Versuch

S5

S4

S4) 3 rd Versuch

S5

S6

S5) Zugriff gewährt

- -

- -

S6) Konto gesperrt

- -

- -

Wenn der Benutzer in der Tabelle die richtige PIN eingibt, wird der Status auf S5 übertragen, dem Zugriff gewährt wird. Und wenn der Benutzer ein falsches Passwort eingibt, wird er in den nächsten Status versetzt. Wenn er das gleiche dritte Mal tut , erreicht er den Status "Konto gesperrt".

Beispiel 2:

Überprüfen Sie dieses Video, bevor Sie sich auf das folgende Beispiel beziehen:

Klicken Sie hier, wenn das Video nicht zugänglich ist

Beachten Sie, dass Sie im Anmeldebildschirm für die Flugreservierung den richtigen Namen und das richtige Passwort für den Agenten eingeben müssen, um auf die Flugreservierungsanwendung zugreifen zu können.

Zustandsübergangsdiagramm

Sie erhalten Zugriff auf die Anwendung mit dem richtigen Kennwort und dem richtigen Anmeldenamen. Was ist jedoch, wenn Sie das falsche Kennwort eingegeben haben?

Die Anwendung erlaubt drei Versuche. Wenn Benutzer beim vierten Versuch das falsche Kennwort eingeben, schließt das System die Anwendung automatisch.

Mithilfe der Statusdiagramme können Sie gültige zu testende Übergänge ermitteln. In diesem Fall ist das Testen mit dem richtigen und einem falschen Passwort obligatorisch. Für die Testszenarien, Log-in auf 2 nd , 3 rd und 4 th jemand versuchen , getestet werden konnte.

Sie können die Statustabelle verwenden, um ungültige Systemübergänge zu ermitteln.

In einer Statustabelle werden alle gültigen Status auf der linken Seite der Tabelle und die Ereignisse, die sie verursachen, oben aufgelistet.

Jede Zelle stellt dar, in welches Zustandssystem sich das System bewegt, wenn das entsprechende Ereignis eintritt.

Wenn Sie beispielsweise im Status S1 ein korrektes Kennwort eingeben, werden Sie in den Status S6 (Zugriff gewährt) versetzt. Angenommen, Sie haben beim ersten Versuch das falsche Passwort eingegeben und werden zum Status S3 oder 2. Versuch weitergeleitet.

Ebenso können Sie alle anderen Zustände bestimmen.

Mit dieser Methode werden zwei ungültige Zustände hervorgehoben. Angenommen, Sie befinden sich im Status S6, dh Sie sind bereits in der Anwendung angemeldet, öffnen eine weitere Instanz der Flugreservierung und geben gültige oder ungültige Kennwörter für denselben Agenten ein. Die Systemantwort für ein solches Szenario muss getestet werden.

Vor- und Nachteile der Zustandsübergangstechnik

Vorteile

Nachteile

Diese Testtechnik bietet eine bildliche oder tabellarische Darstellung des Systemverhaltens, wodurch der Tester das Systemverhalten effektiv abdecken und verstehen kann.

Der Hauptnachteil dieser Testtechnik ist, dass wir uns nicht jedes Mal auf diese Technik verlassen können. Wenn das System beispielsweise kein endliches System ist (nicht in sequentieller Reihenfolge), kann diese Technik nicht verwendet werden.

Mithilfe dieses Tests kann der Techniktester überprüfen, ob alle Bedingungen abgedeckt sind, und die Ergebnisse werden erfasst

Ein weiterer Nachteil ist, dass Sie alle möglichen Zustände eines Systems definieren müssen. Während dies für kleine Systeme in Ordnung ist, zerfällt es bald in größere Systeme, da die Anzahl der Zustände exponentiell zunimmt.

Zusammenfassung:

  • Der Statusübergangstest ist definiert als die Testtechnik, bei der Änderungen der Eingabebedingungen Statusänderungen in der zu testenden Anwendung verursachen.
  • In der Softwareentwicklung ist die State Transition Testing-Technik hilfreich, wenn Sie verschiedene Systemübergänge testen müssen.
  • Zwei Hauptmethoden zum Darstellen oder Entwerfen des Zustandsübergangs: Zustandsübergangsdiagramm und Zustandsübergangstabelle.
  • Im Zustandsübergangsdiagramm werden die Zustände in Kästentexten angezeigt, und der Übergang wird durch Pfeile dargestellt.
  • In der Statusübergangstabelle werden alle Status auf der linken Seite aufgelistet und die Ereignisse oben beschrieben.
  • Dieser Hauptvorteil dieser Testtechnik besteht darin, dass sie eine bildliche oder tabellarische Darstellung des Systemverhaltens bietet, die es dem Tester ermöglicht, das Systemverhalten effizient abzudecken und zu verstehen.
  • Der Hauptnachteil dieser Testtechnik ist, dass wir uns nicht jedes Mal auf diese Technik verlassen können.