Unsere Leistungen im Bereich Modellbasiertes Testen

Fraunhofer-Institut für Experimentelles Software Engineering IESE

Model-Based Testing

Mit automatisierten modellbasierten Testansätzen kann man vielen der Herausforderungen im Bereich Software-Testen begegnen. Der erste Schritt zur Einführung von modellbasiertem Testen und Testautomatisierung ist eine umfassende Analyse des gegenwärtig verwendeten Testprozesses, seiner Aktivitäten und seiner Dokumente. Das Fraunhofer IESE hilft Ihnen, Ihre funktionalen und nicht-funktionalen Anforderungen zu formalisieren und geeignete Testmodelle zu erstellen, die vollautomatisiertes Testen unterstützen, also die automatisierte Erzeugung von Testfällen, die Testdurchführung und die Evaluierung. Testmodelle und Testfälle lassen sich leicht mit vorhandenen Testausführungsplattformen und Werkzeugen verbinden. Wir bieten unseren Kunden folgende Lösungen:

Testprozessanalyse und -verbesserung

Der Ausgangspunkt für die Verbesserung und Automatisierung von Testprozessen ist eine detaillierte Analyse des Testprozesses zur Entdeckung von Problemen und kritischen Ursachen. Auf der Basis der Rahmenbedingungen des Projekts und der Zukunftsziele des Unternehmens entwickeln wir eine Verbesserungsstrategie und helfen Ihnen bei ihrer Umsetzung. In Anbetracht wirtschaftlicher Engpässe ist es unser Ziel, den Grad der Testautomatisierung weitestgehend zu automatisieren, und zwar zu vernünftigen Kosten. Unser Serviceportfolio umfasst:

  • Beurteilung des Qualitätssicherungs- und Testprozesses auf der Basis eines soliden und anpassbaren Analysemodells
  • Verfeinerung der Qualitäts- und Testziele zur Unterstützung besserer Testplanung
  • Entwicklung einer Teststrategie mit entsprechenden Aktivitäten, Verantwortlichkeiten und Werkzeugen
  • Definition und Umsetzung von Verbesserungsmaßnahmen
  • Kosten-Nutzen-Analyse zur Testautomatisierung auf verschiedenen Ebenen
  • Entwicklung einer hochautomatisierten Methoden- und Werkzeugkette

Entwicklung maßgeschneiderter modellbasierter Testansätze

Modellbasiertes Testen kann einen Großteil des traditionellen manuellen Black-Box-Testens auf Komponenten-, Subsystem- und Systemebene ersetzen. Aufbauend auf unserer Erfahrung können wir eine geeignete Modellierungsnotation und passende Testerzeugungsstrategien für Ihre Qualitäts- und Testziele definieren und anpassen. Unser Ziel ist vollautomatisiertes Testen, d.h. automatisierte Testfallerzeugung aus den Modellen, vollautomatisierte Testausführung auf der kundenspezifischen Zielplattform und vollautomatisierte Testevaluierung. Die Testergebnisse und Fehlschläge werden in die Testplanung und das Testmanagement zurückgespielt, um kontinuierliches Lernen und Verbessern zu ermöglichen. Das Fraunhofer IESE bietet zu diesem Thema folgende Services:

  • Machbarkeitsanalyse zum Einsatz von modellbasiertem Testen bezüglich verschiedener Qualitäts- und Testziele sowie Abstraktionsebenen
  • Entwicklung geeigneter Testmodellierungsnotationen für konkrete Testprozesse und Unternehmen
  • Entwicklung von Strategien für die automatisierte Testfallerzeugung
  • Anpassung von Werkzeugen zur Unterstützung der vollen Testautomatisierung auf der kundenspezifischen Ausführungs- und Testplattform

Systematisches Erstellen von qualitativ hochwertigen Testmodellen

Qualitativ hochwertige Modelle sind die Voraussetzung für die Ableitung eines Sets von Testfällen, die empfindlich gegenüber Ausfällen sind und dabei sowohl wirtschaftlich sind als auch die Abdeckungskriterien vollständig erfüllen. Bereits vorhandene modellbasierte Testansätze verlassen sich oft auf die Annahme, dass es bereits ein Testmodell gibt. Basierend auf unseren Erfahrungen stellen wir fest, dass die systematische Umwandlung verschiedener Input-Quellen (textuelle Spezifikationen, Entwurfsmodelle, vorhandene Testfälle und implizites Expertenwissen) in Testmodelle beim modellbasierten Testen das größte Problem ist. Diese Aufgabe wird dann zur Herausforderung, wenn die Input-Quellen für die Erstellung eines Modells unvollständig und inkonsistent sind. Wir können die Konsistenz und Vollständigkeit verschiedener Arten von Artefakten überprüfen und verbessern. Das ist die Voraussetzung für das Erstellen qualitativ hochwertiger Testmodelle. Wir bieten folgende Services an:

  • Analyse der Testbasis (textuelle Spezifikationen, Entwurfsmodelle, vorhandene Testfälle)
  • Analyse der Testbarkeit der System- und Softwarespezifikationen, mit Schwerpunkt auf Kontrollierbarkeit und Beobachtbarkeit
  • Definition geeigneter Systemgrenzen und Abstraktionsebenen für das Testen
  • Systematisches Erstellen von Testmodellen aus heterogenen Quellen
  • Automatisierte Testmodellanalyse zur Entdeckung von Testmodellierungsfehlern und Inkonsistenzen mit der zugrunde liegenden Spezifikation

Modellbasiertes Testen nicht-funktionaler Qualitätseigenschaften

Nicht-funktionale Qualitätseigenschaften (wie Zuverlässigkeit, Risiko und Performanz) beschreiben wichtige Charakteristiken eingebetteter Systeme und Software. Für sie wird Qualitätssicherung immer noch von Experten durchgeführt, die dazu erfahrungsbasierte Aktivitäten mit geringem Automatisierungsgrad verwenden. Das Fraunhofer IESE kann das modellbasierte Testen nicht-funktionaler Eigenschaften mit seinem Angebot an angepassten Modellierungsnotationen, Strategien für die Erzeugung von Testfällen und Ansätzen zur Testevaluierung unterstützen. Das Testen von Zuverlässigkeit und Performanz wird durch Modelle mit statistischen Annotationen für Betriebsprofile, Wichtigkeit und Ressourcenverbrauch unterstützt. Für risikobasiertes Testen werden Techniken nach dem Stand der Technik, wie Fehlerbäume und Risikoanalysen, verwendet, um risikoorientierte Testmodelle zu erstellen und risikobasierte Testfälle zu erzeugen. Zu unseren Services gehört u.a.:

  • Entwicklung angepasster Testmodellierungsnotationen zur Abdeckung nicht-funktionaler Qualitätseigenschaften (besonders Zuverlässigkeit, Risiko und Performanz)
  • Definition messbarer Ziele und Kriterien zum Beenden von Tests für nicht-funktionale Qualitätseigenschaften
  • Anpassung von Strategien zur automatisierten Testfallerzeugung
  • Aufbau einer Werkzeugkette zur Unterstützung des vollautomatisierten Testens definierter Eigenschaften