MoMuT::UML, MoMuT::TA und MoMuT::SCADE sind die Gründungsmitglieder einer eng verwandten Familie von Werkzeugen zur automatisierten Erstellung von Software Tests. Sie bauen alle auf einer gemeinsamen Kerntechnologie, der mutationsbasierten Testfall-Generierung, auf und wenden diese Technologie auf verschiedene Modellierungssprachen an.

Die MoMuT Werkzeuge kombinieren die mutationsbasierte Testfallgenerierung mit Standard-Techniken, um qualitativ hochwertige Testverfahren mit einem hervorragenden Kosten/Nutzen-Verhältnis zu bieten. Das Herzstück dieser neuen Technologie ist das Konzept der Modell-Mutation. Die Werkzeuge verwenden anpassbare Mutationsoperatoren, um künstlich kleine Fehler in das ursprüngliche Test-Modell einzubringen. Sind das mutierte und das originale Modell vorhanden, suchen die MoMuT Werkzeuge Input- und Output-Sequenzen, mit denen sich der Mutant vom Original anhand des Verhaltens unterscheiden lässt.

Die mutationsbasierte Generierung von Testfällen ist durch ihre Vielseitigkeit und "Feinkörnigkeit" die aktuell beste, verfügbare Technik. Sie eignet sich zum Beispiel zum Test der funktionellen Eigenschaften eines Systems, aber auch für Tests, die bestimmt nicht-funktionelle Defekte erkennen. Letztendlich ermöglicht sie es, genau zu erkennen, welche Fehler durch einen bestimmten Testfall erkannt werden, sie zu analysieren und bereits existierende Test-Sets zu erweitern.

Wie profitiere ich von MoMuT?

  • Reduzierte Test-Kosten für sicherheitskritische Systeme
  • Verbesserte Software-Qualität durch automatisierte und modellbasierte Testfall-Erstellung
  • Individuelle  und sehr feinkörnige Kontrolle über den Testumfang
  • Bewertung und Erweiterung bestehender Test-Suiten
  • Maßgeschneiderte Testfälle für Regressionstests (lang) und Debugging (kurz)
  • Integration in bestehende Workflows via OSLC

Referenzprojekte

Tool Technology

MoMuT::UML war das erste Mitglied der Produktfamilie. Es verwendet UML-Zustandsdiagramme, Klassendiagramme und Stereotypen als Input und gibt abstrakte, adaptive Testfälle aus. Es verwendet input-output conformance (IOCO) um zu entscheiden, ob ein implementiertes Verhalten der Spezifikation entspricht. MoMuT::UML unterliegt Einschränkungen in der Unterstützung von Zeit - für anspruchsvoll Tests von Echtzeit-Verhalten empfehlen wir daher MoMuT::TA.

MoMuT::TA nutzt Zeitautomaten (Timed Automata) als Eingabesprache. Timed Automata sind sehr nützliche um das Echtzeitverhalten eines Systems zu modellieren. Im Vergleich zu UML, ist die Modellierungssprache einerseits eingeschränkter, andererseits aber auch ausdrucksstärker. Ausdrucksstärker, denn sie ermöglicht dem Modellierer die Verwendung von „Clocks“ in Verbindung mit Updates. Limitiert, da der UML Formalismus nur eine Art von Diagramm kennt – endliche Automaten  (finite state machines) erweitert um ein endliches Set an „Uhren“. Der Vorteil dieser Reduktion ist eine Modellierungs-Sprache, die einfach zu erfassen ist, eine klar definiert Semantik hat und keinen Raum für Verwirrung über Modellierungs-Elemente bietet. Als Konformanzrelation wird eine Echtzeit-Variante von IOCO verwendet.

MoMuT::SCADE, das jüngste Mitglied der Produktfamilie, ermöglicht die Nutzung von Mutationen für Tests für die SCADE-Plattform. Auf der einen Seite kann MoMuT::SCADE als reiner Mutationsgenerator mutierte Versionen eines Modells kreieren, um die Qualität bereits bestehender Tests zu überprüfen, auf der anderen Seite kann MoMuT::SCADE die Standard Model Checker von SCADE nutzen, um kritische Tests für gegebene Mutanten zu generieren. Im Gegensatz zu MoMuT::UML und ähnlich wie MoMuT::TA, ist MoMuT::SCADE auf deterministische Modelle beschränkt. SCADE ist eine Datenflusssprache und setzt sich damit von den beiden anderen Modellierungssprachen etwas ab.

Die MoMuT Produktfamilie ermöglicht die mutations-basierte Testfall Generierung in Ereignis-basierten (UML), Echtzeit (TA) und Datenfluss-zentrischen (SCADE) Modellierungssprachen. Sie werden aktiv von einer Gruppe engagierter WissenschaftlerInnen und IngenieurInnen am AIT Austrian Institute of Technology und in Zusammenarbeit mit der Technischen Universität Graz gewartet und kontinuierlich weiterentwickelt. Bitte kontaktieren Sie uns für weitere Informationen über MoMuT.