Was ist modellbasiertes Testen?

Was ist modellbasiertes Testen?

Modellbasiertes Testen ist eine Softwaretesttechnik, bei der das Laufzeitverhalten der zu testenden Software anhand von Vorhersagen eines Modells überprüft wird. Ein Modell ist eine Beschreibung des Verhaltens eines Systems. Verhalten kann anhand von Eingabesequenzen, Aktionen, Bedingungen, Ausgabe und Datenfluss von der Eingabe zur Ausgabe beschrieben werden. Es sollte praktisch verständlich und wiederverwendbar sein; shareable muss eine genaue Beschreibung des zu testenden Systems enthalten.

Es stehen zahlreiche Modelle zur Verfügung, die verschiedene Aspekte des Systemverhaltens beschreiben. Beispiele für das Modell sind:

  • Datenfluss
  • Kontrollfluss
  • Abhängigkeitsdiagramme
  • Entscheidungstabellen
  • Zustandsübergangsmaschinen

Modellbasiertes Testen beschreibt, wie sich ein System als Reaktion auf eine (durch ein Modell bestimmte) Aktion verhält. Geben Sie Maßnahmen ein und prüfen Sie, ob das System wie erwartet reagiert.

Es handelt sich um eine einfache formale Methode zur Validierung eines Systems. Diese Tests können sowohl auf Hardware- als auch auf Softwaretests angewendet werden.

Beispiel für modellbasiertes Testen

Modellbasiertes Testen – Dinge, die Sie wissen müssen!

Das obige Modell erläutert den vereinfachten Ansatz des Schreibens von Gedichten im Notizblock und die möglichen Aktionen im Zusammenhang mit jedem Schritt. Für jede einzelne Aktion (z. B. Starten, Eingeben eines Gedichts, Speichern) Testfall generiert und die Ausgabe überprüft werden kann.

Arten von MBT

Es gibt zwei Arten von modellbasierten Test-Frameworks:

  1. Offline / a priori: Generierung von Testsuiten vor deren Ausführung. Eine Testsuite ist nichts anderes als eine Sammlung von Testfällen.
  2. Online / on-the-fly: Generierung von Testsuiten während der Testausführung

Verschiedene Modelle im Test

Um den MBT zu verstehen, ist es notwendig, einige der unten erläuterten Modelle zu verstehen. Gehen wir sie einzeln durch:

Finite-State-Maschinen

Dieses Modell hilft Testern, das Ergebnis abhängig von der gewählten Eingabe zu beurteilen. Verschiedene Kombinationen der Eingaben können zu einem entsprechenden Zustand des Systems führen.

Das System verfügt über einen bestimmten Status und einen aktuellen Status, der durch eine Reihe von Eingaben der Tester gesteuert wird.

Betrachten Sie das Beispiel:

Es gibt ein System, das es den Mitarbeitern ermöglicht, sich in die Anwendung einzuloggen. Jetzt ist der aktuelle Status des Mitarbeiters „Abwesend“ und wird zu „Anwesend“, sobald er sich beim System anmeldet. Im Status „In“ kann ein Mitarbeiter Dokumente im System anzeigen, drucken und scannen.

Modellbasiertes Testen – Dinge, die Sie wissen müssen!

Staatskarten

Es ist eine Erweiterung der Finite-State-Maschine und kann für die Kommunikation verwendet werdenplex und Echtzeitsysteme. Zustandsdiagramme werden verwendet, um verschiedene Verhaltensweisen des Systems zu beschreiben. Es gibt eine bestimmte Anzahl von Staaten. Das Verhalten des Systems wird analysiert und in Form von Ereignissen für jeden Zustand dargestellt.

Beispielsweise -

Fehler werden im Fehlermanagement-Tool mit dem Status „Neu“ gemeldet. Sobald das Problem von den Entwicklern behoben wurde, muss es in den Status „Behoben“ geändert werden. Wenn ein Fehler nicht behoben wird, ändern Sie den Status in „Erneut öffnen“. Zustandsdiagramme sollten so gestaltet sein, dass für jeden Staat ein Ereignis angezeigt wird.

Modellbasiertes Testen – Dinge, die Sie wissen müssen!

Einheitliche Modellierungssprache (UML)

Einheitliche Modellierungssprache (UML) ist eine standardisierte Allzweck-Modellierungssprache. UML umfasst eine Reihe grafischer Notationstechniken zur Erstellung visueller Modelle, die das sehr komplizierte Verhalten des Systems beschreiben können.

UML hat Notationen wie:

  • Aktivitäten
  • Schauspieler
  • Business Process
  • Komponenten
  • Programmiersprache

Modellbasiertes Testen – Dinge, die Sie wissen müssen!

Herausforderungen des modellbasierten Testens

Der Einsatz von MBT in jeder Organisation erfordert natürlich einen hohen Investitions- und Arbeitsaufwand. Following sind Nachteile von MBT in Software Engineering.

  • Notwendige Fähigkeiten, die bei Testern erforderlich sind
  • Die Lernkurvenzeit wird länger sein
  • Das Modell selbst ist schwer zu verstehen

Vorteile des Modelltests

Die folgendenwing sind Vorteile von MBT:

  • Einfache Wartung von Testfällen/-suiten
  • Kostenreduzierung
  • Verbesserte Testabdeckung
  • Kann verschiedene Tests auf n Maschinen ausführen
  • Frühzeitige Fehlererkennung
  • Anstieg der Fehleranzahl
  • Zeitersparnis
  • Höhere Arbeitszufriedenheit der Tester

Konklusion

Tester konstruieren während ihrer Prüfung ohnehin mentale Modelle. Diese mentalen Modelle können in Modelle auf Papier umgewandelt werden. Dies hilft Testern, Lesbarkeit und Wiederverwendbarkeit zu erreichen.

Modellbasiertes Testen ist ein neuer Ansatz Softwaretest. Die Entwicklung des Softwaretests ist unten dargestellt –

Modellbasiertes Testen – Dinge, die Sie wissen müssen!