Was ist ein Zustandsübergangstest?

Das Testen des Zustandsübergangs ist als eine Technik zum Testen von Software bekannt, bei der die Änderung der Eingabebedingungen zu einer Änderung des Zustands in der Anwendung unter Test führt, dh AUT.

Beim Statusübergangstest handelt es sich auch um einen Black-Box-Test, bei dem der Tester das Verhalten der zu testenden Anwendung für verschiedene Eingabebedingungen in der Sequenz erkennt. Hier gibt der Tester sowohl positive als auch negative Testwerte ein und zeichnet anschließend das Systemverhalten auf. Es ist auch ein Modell, auf dem System und Tests basieren. Jedes Element, von dem Sie abhängig vom zuvor aufgetretenen Zustand unterschiedliche Ausgaben für denselben Eingang erhalten, wird als System mit endlichen Zuständen bezeichnet.

Wann ist State Transition Testing anzuwenden?

  • Der Statusübergangstest wird verwendet, wenn der Tester eine Anwendung unter Berücksichtigung der endlichen Menge der Eingabewerte testet.
  • Sie kann auch verwendet werden, wenn der Tester die Sequenz von Ereignissen testet, die in einer zu testenden Anwendung stattfinden, dh wenn der Tester das Anwendungsverhalten für die Sequenz der Eingabewerte testet.

Sie kann auch verwendet werden, wenn ein System, das getestet wird, von den Ereignissen oder Werten in der Vergangenheit abhängig ist.

Das Zustandsübergangsdiagramm zeigt die Zustände in Form von Texten, die eingerahmt sind, und der Übergang wird durch die Pfeile veranschaulicht. Das Zustandsübergangsdiagramm wird auch als Zustandsdiagramm oder auch als Graph bezeichnet. Es ist auch sehr nützlich bei der Identifizierung der gültigen Übergänge.

Durchführen von Zustandsübergangstests (einschließlich Beispielen)

Beispiel 1 :

Nehmen wir die Funktionalität des ATM-Systems an, bei dem das Konto gesperrt wird, wenn der Benutzer drei Mal hintereinander ein ungültiges Passwort eingibt.

In demselben System würde sich der Benutzer jedoch erfolgreich anmelden, wenn der Benutzer in einem von drei aufeinanderfolgenden Versuchen ein gültiges Kennwort eingibt. Falls der Benutzer jedoch zum ersten oder zweiten Mal ein ungültiges Kennwort eingibt, wird er aufgefordert, das Kennwort erneut einzugeben. Und wenn der Benutzer zum dritten Mal ein falsches Passwort eingibt, wird sein Konto gesperrt.

Wenn der Benutzer die richtige PIN eingibt, wird er mit dem Status angemeldet, für den der Zugriff gewährt wurde. Wenn er das falsche Kennwort eingibt, wird der nächste Versuch ausgeführt. Wenn er seine Aktion zum dritten Mal wiederholt, wird das Konto gesperrt erreicht.

Zustandsübergangstabelle

PIN korrigierenFalsche PIN
D1) StartenD5D2
D2) 1. VersuchD5D3
D3) 2. VersuchD5D4
D4) 3. VersuchD5D6
D5) Zugang gewährt--
D6) Account gesperrt--

Wie in der obigen Tabelle angegeben, wird der Status bei jeder Eingabe der richtigen PIN in den Status D5 verschoben, der als Zugriff gewährt bezeichnet wird. Falls der Benutzer jedoch den falschen Stift eingibt, wird er in den nächsten Zustand versetzt. Falls er dies jedoch auch für den dritten Versuch tut, befindet er sich in dem Zustand, in dem sein Konto gesperrt wird.

Beispiel 2:

Im Anmeldebildschirm für die Reservierung von Flügen wird davon ausgegangen, dass Sie den richtigen Agentennamen sowie das richtige Passwort eingeben müssen, um in die Anwendung zur Flugreservierung zu gelangen.

Es würde uns Zugriff auf die Anwendung mit dem richtigen Passwort und Benutzernamen geben, aber wissen Sie, was passieren würde, wenn Sie das falsche Passwort eingeben.

Auch diese Anwendung lässt nur drei Versuche zu, und falls die Benutzer im System mit den vierten Versuchen ein falsches Kennwort eingeben, wird die Anwendung automatisch geschlossen.

Zustandsgraphen sind nützlich, um die gültigen Übergänge zu bestimmen, die getestet werden müssen. In diesem Fall ist die Prüfung sowohl mit dem richtigen als auch mit dem falschen Pin obligatorisch.

Wir können die Statustabelle auch zur Ermittlung ungültiger Systemübergänge verwenden.

Für die Statustabelle wird jeder gültige Status auf der linken Seite der Tabelle angegeben. Ereignisse, die dazu führen, dass sie auftreten, sind oben aufgeführt.

Alle Zellen bezeichnen, dass sich das Staatssystem irgendwann zu dem Zeitpunkt bewegen würde, an dem das entsprechende Ereignis stattfindet.

Nehmen wir ein Beispiel. Wenn Sie sich im Status D1 befinden, geben Sie das richtige Kennwort ein und werden in den Status D6 versetzt, der den Status Zugriff gewährt hat. Falls wir beim ersten Versuch das falsche Passwort eingegeben haben, werden Sie in den Status D3 versetzt oder erhalten einen zweiten Versuch.

In ähnlicher Weise können wir die verbleibenden Zustände vorhersagen.

Mit Hilfe dieser Methode haben wir zwei der ungültigen Zustände hervorgehoben. Angenommen, wir befinden uns im Status S6, das heißt, wir sind bereits in der Anwendung angemeldet und öffnen anschließend die andere Instanz der Flugreservierung. Geben Sie dann entweder das richtige oder das falsche Passwort für denselben Agenten ein. Die Reaktion des Systems auf einen solchen Zustand muss getestet werden.

Vorteile

  • Diese Black-Box-Testtechnik bietet entweder eine bildliche / tabellarische Darstellung des Systemverhaltens, die es einem Tester ermöglicht, das Systemverhalten auf effektive Weise zu vervollständigen und zu verstehen.
  • Mit diesem Test kann der Techniktester überprüfen, ob alle Bedingungen durch diesen Test abgedeckt sind. Darüber hinaus werden auch die Ergebnisse erfasst.

Nachteile

  • Der grundlegendste Nachteil von Zustandsübergangstests ist, dass wir uns nicht jedes Mal auf dieses Verfahren verlassen können. Nehmen wir ein Beispiel. Falls das System ein unendliches System ist, dh nicht in einer sequentiellen Reihenfolge, können wir diese Technik nicht anwenden.
  • Der zweite Nachteil des Zustandsübergangstests besteht darin, dass wir jeden möglichen Zustand des Systems angeben müssen. Obwohl es für alle kleineren gilt, kommt es auf größere an, da es eine exponentielle Progression gibt, wenn es darum geht, wie viele Zustände existieren.

Empfohlene Artikel

Dies war ein Leitfaden für das Testen von Zustandsübergängen. Hier diskutieren wir grundlegende Konzepte, Beispiele, Vor- und Nachteile von State Transition Testing. Sie können auch den folgenden Artikel lesen, um mehr zu erfahren -

  1. Funktionstests im Vergleich zu nichtfunktionellen Tests
  2. Was ist digitales Marketing?
  3. Testen der Systemintegration
  4. Penetrationstest-Tools