Blog

Modellbasiertes Testen (MBT) - Richard Seidl

Geschrieben von Richard Seidl | 09.10.2023

Modellbasierte Testansätze gibt es seit Jahren. Eine Weile war das Interesse groß. Dann kam Ernüchterung. Zu technisch, zu kompliziert – ein Thema für Experten. Nun ist die Zeit reif für die Rückkehr der Modelle. Beim modellbasiertem Testen werden die Testfälle auf Grundlage eines vorher erstellten visuellen Modells erstellt. Diese Methode hat einige Vorteile und lässt sich mit verschiedenen Tools kombinieren. Anne teilt ihr breites Wissen und wagt dann noch eine Zukunftsprognose.

“Und diese zusätzliche Information überhaupt sichtbar zu machen, das ist einer der ganz großen Mehrwerte der Modellierung ganz generell” – Anne Kramer

Dr. Anne Kramer war Projektleiterin, Prozessberaterin und Trainerin, bis sie Ende 2021 neue Wege einschlug. Seit April 2022 ist sie Global Customer Success Managerin bei Smartesting, einem französischen Hersteller von SW-Testwerkzeugen, und widmet sich der Softwarequalitätssicherung und dem modellbasierten Test. Zusätzlich schreibt die promovierte Physikerin Lehrbücher und hält leidenschaftlich gerne Vorträge. Sie hat unter anderem zum ISTQB-Lehrplan Model-Based Testing beigetragen und ist Mitautorin des dazugehörigen Lehrbuchs “Model-Based Testing Essentials – Wiley, 2016”. Ende 2019 erschien ihr Projektmanagement-Lehrbuch in Form eines Krimis mit dem Titel “In Zeiten der Grippe – BoD”.

Highlights in dieser Episode:

  • Anne Kramer ist eine leidenschaftliche Model-Based-Testerin und unser Gast
  • Wir diskutieren die Vorurteile gegenüber modellbasiertem Testen und zeigen, wie es auch leichtgewichtig funktionieren kann
  • Modellbasiertes Testen hilft, Testfälle aus grafischen Modellen wie Flowcharts abzuleiten
  • Es ist ein hervorragendes Kommunikationsmittel, um Anforderungen und Testfälle zu klären
  • Modellbasiertes Testen ermöglicht eine frühe Fokussierung auf das, was getestet werden soll
  • Das Konzept unterstützt sowohl manuelle als auch automatisierte Testfälle und bildet eine Brücke zur Testautomatisierung
  • Modelle machen implizite Annahmen explizit und fördern so das Verständnis
  • Die Wartung und Aktualisierung von Testmodellen ist essentiell und wird durch Tools unterstützt
  • KI könnte in der Zukunft helfen, den Einstieg in modellbasiertes Testen zu erleichtern und Abstraktionsprozesse zu unterstützen
  • Anne teilt ihre Top 3 Vorteile des modellbasierten Testens: klare Kommunikation, Effizienz und eine Brücke zur Automatisierung

Weiterführende Links:

Von Flowcharts zu Qualität: Der pragmatische Weg des modellbasierten Testens

Modellbasiertes Testen ist eine Methode, die Komplexität beherrschbar macht und Qualität früh im Entwicklungsprozess sichert. Durch den Einsatz von Modellen werden Anforderungen klar, Kommunikation verbessert und eine Brücke zur Automatisierung geschlagen. Die Zukunft könnte KI nutzen, um den Einstieg zu vereinfachen.

Der erste Schritt in die Welt des modellbasierten Testens

Willkommen in der Welt des modellbasierten Testens, einem Bereich, der oft als komplex und schwer zugänglich gilt. Heute hatte ich das Vergnügen, mit Anne Kramer, einer leidenschaftlichen Befürworterin dieser Methode, zu sprechen. Anne beleuchtete, wie modellbasiertes Testen Missverständnisse ausräumen und in einem leichtgewichtigen und pragmatischen Rahmen angewendet werden kann. Unsere Diskussion gab Einblick in die Entstehung von Testmodellen, ihre Anbindung an die Automatisierung und ihre Wartung.

Was ist modellbasiertes Testen?

Modellbasiertes Testen mag für viele ein unklarer Begriff sein. Anne erklärte es als eine Methode, bei der grafische Modelle verwendet werden, um Testfälle abzuleiten. In der Praxis bedeutet das häufig den Einsatz von Flowcharts statt komplexer UML-Diagramme. Diese Modelle ermöglichen es, Zustandsübergänge und verschiedene Pfade durch ein System zu visualisieren, wodurch verschiedene Testfälle entstehen können. Interessanterweise liegt der Ursprung dieser Idee in der Möglichkeit, Zustandsdiagramme zur Ableitung von Testfällen zu verwenden – eine Praxis, die den Überblick über Systeminteraktionen vereinfacht.

Vom Modell zur Testfallgenerierung

Der Prozess beginnt mit der Erstellung eines Modells basierend auf den Systemanforderungen. Dieses Modell dient nicht nur als Grundlage für die Generierung von Testfällen, sondern fördert auch Diskussionen und macht implizite Annahmen explizit. Besonders hervorzuheben ist die Fähigkeit des modellbasierten Testens, schon früh im Entwicklungsprozess zum Einsatz zu kommen – sogar bevor Details wie Buttonbeschriftungen feststehen. Dadurch können Abläufe definiert und als Grundlage für Diskussionen herangezogen werden, was letztendlich zu einer qualitativen Verbesserung der Anforderungen führt.

Die Rolle von Tools im modellbasierten Testen

Ein wesentlicher Aspekt des modellbasierten Testens ist die Verwendung spezieller Tools zur Generierung von Testfällen aus den erstellten Modellen. Diese Tools durchlaufen das Modell und sammeln Schritt für Schritt Informationen über verschiedene Pfade, um daraus textuelle Szenarien oder automatisierte Tests zu generieren. Die Auswahl des richtigen Tools kann dabei entscheidend sein, da sie die Effizienz der Generierung und die Möglichkeiten zur Anpassung an spezifische Projekterfordernisse beeinflusst.

Aktualisierung von Modellen und Tests

Ein häufiger Einwand gegenüber dem modellbasierten Testen ist die Sorge um den Aufwand bei Änderungen am getesteten System. Anne betonte jedoch die Bedeutung eines effektiven Konfigurationsmanagements für Modelle sowie die Notwendigkeit eines Tools, das hilft, generierte Testfälle aktuell zu halten. Durch solche Werkzeuge können Änderungen im Modell leichter in aktualisierte Testfälle überführt werden – ein Vorteil gerade in agilen Entwicklungsprozessen.

Künstliche Intelligenz im modellbasierten Testen

Ein spannender Ansatz könnte der Einsatz künstlicher Intelligenz sein, um den Einstieg in die Modellerstellung zu erleichtern und Abstraktionsprozesse zu unterstützen. Diese Technologie könnte helfen, Hemmschwellen abzubauen und gleichzeitig neue Möglichkeiten für eine effiziente Qualitätssicherung zu eröffnen.