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

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.

Finite-State-Maschinen

Staatskarten

Es handelt sich um eine Erweiterung der Finite-State-Maschine und kann fĂŒr komplexe Echtzeitsysteme verwendet werden. Zustandsdiagramme werden verwendet, um verschiedene Verhaltensweisen des Systems zu beschreiben. Es gibt eine bestimmte Anzahl von ZustĂ€nden. Das Verhalten des Systems wird analysiert und fĂŒr jeden Zustand in Form von Ereignissen 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.

Staatskarten

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
  • Lebensmittelbranche
  • Business Process
  • Komponenten
  • Programmiersprache

Einheitliche Modellierungssprache

Herausforderungen des modellbasierten Testens

Der Einsatz von MBT in jeder Organisation erfordert offensichtlich hohe Investitionen und Anstrengungen. Im Folgenden sind die 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 Vorteile von MBT sind:

  • 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

Fazit

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 –

Entwicklung des Softwaretests

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: