Zustandsübergangstests mit Beispiel

⚡ Intelligente Zusammenfassung

State Transition Testing ist eine Black-Box-Technik, die überprüft, wie eine Anwendung bei veränderten Eingabebedingungen zwischen verschiedenen Zuständen wechselt. Dieses Tutorial erklärt die vier Diagrammbestandteile, den Unterschied zwischen Zustandsdiagrammen und -tabellen sowie durchführbare Beispiele für Geldautomaten und Logins für Tester.

  • 🔄 Kernidee: Die Technik überprüft das Systemverhalten, wenn dieselbe Eingabe unterschiedliche Ausgaben erzeugt, basierend auf vorangegangenen Ereignissen (ein endliches Zustandssystem).
  • 🧩 Vier Bausteine: Jedes Modell besteht aus Zuständen, Übergängen, Ereignissen und Aktionen.
  • 🗺️ Diagramm vs. Tabelle: Diagramme zeigen gültige Übergänge auf; Tabellen decken ungültige Übergänge auf.
  • 🏧 Praxisbeispiele: Die Sperrung der PIN-Nummer am Geldautomaten und die Anmeldung bei Flugreservierungen beweisen die tatsächliche Abdeckung.
  • 🤖 KI-Aktivierung: KI-Tools generieren automatisch Zustandsmodelle aus den Anforderungen und kennzeichnen fehlende oder ungültige Übergänge.

Tests zum Staatsübergang — Staaten

Was ist ein Zustandsübergangstest?

Zustandsübergangstests Es handelt sich um eine Black-Box-Testmethode, bei der Änderungen der Eingabebedingungen Zustands- oder Ausgabeänderungen in der zu testenden Anwendung (AUT) bewirken. Sie hilft, das Verhalten einer Anwendung unter verschiedenen Eingabebedingungen zu analysieren, und Tester können positive und negative Eingabewerte bereitstellen, während sie das Systemverhalten aufzeichnen.

Es basiert auf dem Modell, auf dem das System und die Tests aufgebaut sind. Jedes System, bei dem für dieselbe Eingabe – abhängig vom vorherigen Zustand – eine andere Ausgabe erfolgt, ist ein endliches Zustandssystem. Die Zustandsübergangstesttechnik ist hilfreich, wenn Sie Folgendes benötigen: verschiedene Systemübergänge testen.

Wann sollte man Zustandsübergangstests verwenden?

  • Wenn ein Tester die Anwendung für eine endliche Menge von Eingabewerten testet.
  • Wenn der Tester eine Abfolge von Ereignissen testet, die in der zu testenden Anwendung (AUT) auftreten, kann das Verhalten der Anwendung für eine Abfolge von Eingabewerten überprüft werden.
  • Wenn das zu testende System von Ereignissen oder Werten aus der Vergangenheit abhängt.

Wann man sich nicht auf Zustandsübergangstests verlassen sollte

  • Wenn der Test nicht für sequentielle Eingabekombinationen durchgeführt wird.
  • Wenn die Tests auf unterschiedliche Funktionalitäten abzielen, wie beispielsweise explorative Tests.

Vier Teile eines Zustandsübergangsdiagramms

Das Zustandsübergangsmodell besteht aus vier Hauptkomponenten, die im Folgenden beschrieben werden.

1) Staaten dass die Software erreichen könnte.

Tests zum Staatsübergang — Staaten

2) Übergang von einem Bundesstaat in einen anderen.

Zustandsübergangstests — Übergang

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

Tests zum Staatsübergang – Veranstaltungen

4) Aktionen die aus einem Übergang resultieren, wie zum Beispiel eine Fehlermeldung oder die Auszahlung von Bargeld.

Zustandsübergangstests — Aktionen

Zustandsübergangsdiagramm vs. Zustandsübergangstabelle

Es gibt zwei Hauptmethoden zur Darstellung oder Gestaltung von Zustandsübergängen: das Zustandsübergangsdiagramm und die Zustandsübergangstabelle.

Aspekt Zustandsübergangsdiagramm Zustandsübergangstabelle
Auch genannt Zustandsdiagramm / Grafik Zustandstabelle
Vertretung BoxEs stehen für Zustände, Pfeile für Übergänge. Raster der Zustände (Zeilen) und Ereignisse (Spalten)
am besten geeignet zur Identifizierung Gültige Übergänge Ungültige Übergänge
Jede Zelle zeigt - Der Zustand, der nach dem Eintreten eines Ereignisses erreicht wird

Wie man einen Zustandsübergang durchführt (Beispiele)

Beispiel 1: PIN-Sperre am Geldautomaten

Betrachten wir eine Funktion eines Geldautomatensystems, bei der das Konto gesperrt wird, wenn der Benutzer dreimal ein falsches Passwort eingibt.

In diesem System wird der Benutzer erfolgreich angemeldet, wenn er bei den ersten drei Versuchen ein gültiges Passwort eingibt. Gibt er beim ersten oder zweiten Versuch ein falsches Passwort ein, wird er zur erneuten Eingabe aufgefordert. Gibt er schließlich ein drittes Mal das falsche Passwort ein, wird sein Konto gesperrt.

Zustandsübergangsdiagramm (Beispiel 1)

Zustandsübergangsdiagramm für ATM-PINs

Im Diagramm wechselt der Benutzer in den Status „Zugriff gewährt“, sobald er die korrekte PIN eingibt. Gibt er das falsche Passwort ein, versucht er es erneut. Beim dritten Fehlversuch wird das Konto gesperrt.

Zustandsübergangstabelle (Beispiel 1)

Staat Richtige PIN Falsche PIN
S1) Starten S5 S2
S2) 1. Versuch S5 S3
S3) 2. Versuch S5 S4
S4) 3. Versuch S5 S6
S5) Zugriff gewährt - -
S6) Konto gesperrt - -

In der Tabelle wechselt der Status zu S5 (Zugriff gewährt), sobald der Benutzer die korrekte PIN eingibt. Gibt der Benutzer ein falsches Passwort ein, wechselt er zum nächsten Status und erreicht nach dem dritten Fehlversuch den Status „Konto gesperrt“.

Beispiel 2: Anmeldung zur Flugreservierung

Im Anmeldebildschirm für die Flugreservierung müssen Sie den korrekten Agentennamen und das korrekte Passwort eingeben, um Zugriff zu erhalten. Flugreservierungsantrag.

Zustandsübergangsdiagramm für Flugreservierungen

Zustandsübergangsdiagramm

Die Anwendung erlaubt drei Versuche; gibt der Benutzer beim vierten Versuch das falsche Passwort ein, schließt das System die Anwendung automatisch.

Der Zustandsgraph hilft Ihnen, gültige Übergänge zu ermitteln, die getestet werden sollen. Das Testen mit dem richtigen und einem falschen Passwort ist obligatorisch. TestszenarienDer zweite, dritte oder vierte Anmeldeversuch könnte jeweils getestet werden. Mithilfe einer Zustandstabelle lassen sich ungültige Systemübergänge ermitteln.

Tabelle für den Zustandsübergang bei Flugreservierungen

In einer Zustandstabelle werden links alle gültigen Zustände und oben die zugehörigen Ereignisse aufgelistet. Jede Zelle zeigt den Zustand an, in den das System beim Eintreten des Ereignisses wechselt. Beispielsweise führt ein korrektes Passwort im Zustand S1 zu S6 (Zugriff gewährt); ein falsches Passwort beim ersten Versuch führt zu S3 (2. Versuch). Auf die gleiche Weise lassen sich alle anderen Zustände ermitteln.

Mit dieser Methode werden zwei ungültige Zustände hervorgehoben. Angenommen, Sie befinden sich im Zustand S6 (bereits angemeldet) und öffnen eine weitere Instanz der Flugreservierung, wobei Sie die Passwörter für denselben Agenten eingeben. Die Systemreaktion in einem solchen Szenario muss getestet werden.

Vor- und Nachteile der Zustandsübergangstechnik

Vorteile Nachteile
Bietet eine bildliche oder tabellarische Darstellung des Systemverhaltens, helping Der Tester deckt das System ab und versteht es effektiv. Kann nicht immer angewendet werden – beispielsweise eignet es sich nicht für Systeme, die nicht endlich oder sequenziell sind.
Ermöglicht dem Tester die Überprüfung, ob alle Bedingungen erfüllt sind und die Ergebnisse erfasst werden. Dies erfordert die Definition aller möglichen Zustände. Für kleine Systeme funktioniert dies, stößt aber bei größeren Systemen aufgrund des exponentiellen Anstiegs der Zustandsanzahl an seine Grenzen.

Häufig gestellte Fragen

Zustandsübergangstests sind eine Black-Box-Methode, die überprüft, wie ein System zwischen verschiedenen Zuständen wechselt, wenn sich die Eingangsbedingungen ändern. Sie eignet sich für endliche Systeme, bei denen dieselbe Eingabe je nach vorherigen Ereignissen unterschiedliche Ausgaben erzeugen kann.

Die vier Teile sind Zustände (Bedingungen, in denen sich die Software befinden kann), Übergänge (Bewegung zwischen Zuständen), Ereignisse (Auslöser, die einen Übergang verursachen) und Aktionen (Ergebnisse eines Übergangs, wie z. B. eine Nachricht oder Ausgabe).

Ein Zustandsübergangsdiagramm verwendet Kästchen und Pfeile und eignet sich am besten zur Identifizierung gültiger Übergänge. Eine Zustandstabelle listet Zustände und Ereignisse in einem Raster auf und eignet sich am besten zum Erkennen ungültiger Übergänge.

Vermeiden Sie diese Methode bei nicht-sequenziellen Eingaben oder bei explorativen Tests verschiedener Funktionalitäten. Sie stößt außerdem bei sehr großen Systemen an ihre Grenzen, da die Anzahl der Zustände exponentiell ansteigt.

Die 0-Switch-Abdeckung testet jeden gültigen Übergang genau einmal. Die 1-Switch-Abdeckung testet jedes Paar aufeinanderfolgender Übergänge. Eine höhere Switch-Abdeckung findet mehr sequenzbezogene Fehler, erfordert aber mehr Testfälle.

Es handelt sich um eine Black-Box-Technik. Die Testfälle werden aus dem erwarteten externen Verhalten von Zuständen und Übergängen abgeleitet, ohne dass Kenntnisse über den internen Quellcode der Anwendung erforderlich sind.

KI-Tools lesen Anforderungen und erstellen automatisch Zustandsmodelle. Anschließend generieren sie Testfälle, die gültige Pfade und Kantenübergänge abdecken. Dies reduziert den manuellen Modellierungsaufwand und verbessert die Abdeckung komplexer Sequenzen.

Ja. KI kann ein Zustandsmodell analysieren und fehlende, unerreichbare oder ungültige Übergänge kennzeichnen, indem sie es mit erwarteten Verhaltensmustern vergleicht.ping Tester decken Lücken auf, die bei manuellen Tabellenprüfungen oft übersehen werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: