Fokus!MBT
Fokus!MBT Fraunhofer FOKUS

Modellbasiertes Testen für einen effizienten Entwicklungsprozess

Softwareintensive Systeme sind allgegenwärtig – ob im Finanz- und Gesundheitswesen, in der Luft- und Raumfahrt oder in Verkehrsleitsystemen. Um konkurrenzfähig zu bleiben, stehen die Hersteller vor der Aufgabe, qualitativ hochwertige Softwaresysteme schnell und kostengünstig zu liefern. Qualitätssicherungsmaßnahmen sind dabei ein Schlüssel zum Erfolg des Systems. Der effektivste Weg zum Sichern der Qualität ist das Testen des Softwareproduktes.

Modellbasiertes Testen für einen effizienteren Entwicklungsprozess

Traditionelles Testen bringt eine Reihe von Herausforderungen mit sich:

  • Mangel an Automatisierung
  • Unflexible Prozessstrukturen
  • Unstrukturierte Testfallableitung
  • Implizites Wissen des Testers nötig
  • Mangelhafte Dokumentation
  • Unzureichende Kommunikation zwischen Beteiligten


Um diese zu lösen, bieten sich modellbasierte Testmethoden an. Modellbasiertes Testen nutzt formale Modelle, um den gesamten Entwicklungsprozess der Software automatisiert, gut dokumentiert und transparent zu gestalten. Dies ermöglicht einen wesentlich effizienteren Entwicklungsprozess hinsichtlich des zeitlichen wie finanziellen Aufwands – das primäre Ziel von Fokus!MBT.

Testmodellierung auf Basis des UML Testing Profile

Fokus!MBT ist eine integrierte Testmodellierungsumgebung, die den Benutzer zielführend entlang der Fokus!MBT-Methodik leitet und dadurch die Erstellung des zugrunde liegenden Testmodells vereinfacht. Als Modellierungsnotation verwendet Fokus!MBT das von der Object Management Group spezifizierte UML Testing Profile (UTP), eine testspezifische Erweiterung zur in der Industrie weit verbreiteten Unified Modeling Language (UML). Dies ermöglicht den Testern, die gleichen Sprachkonzepte wie die des Systemarchitekten und Anforderungsingenieure zu verwenden, beugt Kommunikationsproblemen vor und fördert das gegenseitige Verständnis.

Testservice-Infrastruktur

Fokus!MBT basiert auf einem serviceorientierten Konzept für testspezifische Services. Dazu gehören:

  • Schnittstellenbeschreibung für Testfall- und/oder Testdatengeneratoren, Testergebnisrückspielung verschiedener Ausführungssysteme, Reportgeneratoren etc.
  • Anpassung bzw. Erstellung angemessener Oberflächen und kontextspezifischer Aktionen
  • Individueller Zuschnitt von Fokus!MBT


Maßgeschneiderte Erstellung von Testszenarien

Fokus!MBT basiert auf der flexiblen Eclipse RCP-Plattform, dem Eclipse Modeling Framework (EMF) sowie Eclipse Papyrus. Als UTP-basierte Modellierungsumgebung verfügt es über alle Diagramme der UML sowie zusätzliche testspezifische Diagramme. Neben den Diagrammen setzt Fokus!MBT auf ein propietäres Editor-Framework zur Darstellung und Bearbeitung des Testmodells. Zusätzlich integriert Fokus!MBT automatisierte Modellierungsregeln, welche die Einhaltung von Richtlinien nach und während der Arbeiten am Testmodell garantieren. Diese präventiven Qualitätssicherungsmechanismen unterscheiden Fokus!MBT von anderen UML-Werkzeugen, bescheinigen die Modellerstellung und minimieren kostspielige Reviewsitzungen.

Erweiterete Nachverfolgbarkeit der Anforderungen im Testmodell

Die konsequente und lückenlose Nachverfolgbarkeit zwischen den Anforderungen und Testartefakten ist unverzichtbar, jedoch nicht ausreichend. Fokus!MBT geht einen Schritt weiter und bezieht zudem die Testführungsergebnisse in die Anforderungsnachverfolgbarkeit innerhalb des Testmodells mit ein. Dadurch entsteht ein durchgängiges Nachverfolgbarkeitsnetzwerk zwischen Anforderung, Testfall, Testskript und Testausführungsergebnis, wodurch der Status der jeweiligen Anforderungen oder der Testfortschritt unmittelbar berechenbar werden. Die Visualisierung der Testführungsergebnisse ermöglicht darüber hinaus, den Ablauf der Testfallausführung zu analysieren, aufzubereiten und auszuwerten. Somit beinhaltet das Testmodell alle relevanten Informationen, um den Qualitätsstatus des getesteten Systems abzuschätzen und das Management bei seiner Entscheidungsfindung über die Freigabe des Systems zu unterstützen.