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 โ





