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
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:
- Offline / a priori: Generierung von Testsuiten vor deren AusfĂŒhrung. Eine Testsuite ist nichts anderes als eine Sammlung von TestfĂ€llen.
- 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.
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.
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
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 â





