TESTFRAMEWORK

Auf einen Blick

Forschungsprojekt Testframework für Automatisierungsanwendungen
Fachbereich Design Informatik Medien
Labor Labor für Verteilte Systeme
Leitung Prof. Dr. Reinhold Kröger
Beteiligte Kai Beckmann, M.Sc.
Marcus Thoss, M.Sc.
Ansprechpartner Forschungsförderung Dr. Michael Anton
Susanne Korzuch
Projektpartner Eckelmann AG, Wiesbaden
Laufzeit 01.04.2012 - 31.03.2015
Website wwwvs.cs.hs-rm.de/projekte/Testframework.html

Projektbeschreibung

In der industriellen Wertschöpfung bildet Software mittlerweile einen wesentlichen Faktor. Integraler Bestandteil des Software-Lebenszyklus und der Qualitätssicherung ist das systematische Testen. Gerade im Bereich der Automatisierung können mangelnde Qualität oder Fehler in Produkten Schaden anrichten und unnötige Kosten verursachen. Angestrebtes Projektergebnis ist ein Framework, mit dessen Hilfe es möglich ist, für ein verteiltes Automatisierungssystem Systemtests für definierbare Teilsysteme sowie Regressionstests modellgestützt zu definieren und diese dann automatisch ablaufen und auswerten zu lassen. In der Praxis der KMUs der Automatisierungsbranche wird stark auf bestehenden Projekten aufgebaut; es existieren gewachsene Strukturen aus einem Gemenge an Modellen, Verfahren und Werkzeugen, die oft proprietär und ohne strenge Orientierung an Standards sind. Die Einführung eines durchgehend modellgetriebenen Entwicklungs- und Testansatzes ist im Alltagsgeschäft von KMUs daher derzeit kaum möglich. Diese Problematik der KMUs der Automatisierungstechnik wird in diesem Forschungsvorhaben berücksichtigt. Der Projektpartner Eckelmann steht stellvertretend für zahlreiche vergleichbare Unternehmen. Die Innovation besteht in der leichten Integrierbarkeit der Testumgebung in existierende Entwicklungsprozesse, die durch einen offenen, plattformunabhängigen und adaptierbaren Ansatz erreicht wird. Dabei wird ein risikoarmer, sanfter Übergang in den verwendeten Softwaretechnikmethoden eröffnet. In dem Forschungsvorhaben wurden zwei Anwendungsbereiche des Projektpartners Eckelmann ausgewählt, für die dieser Ansatz umgesetzt und evaluiert wird.  Diese Anwendungsbereiche stellen unterschiedliche Anforderungen an das Testframework und stehen exemplarisch für mögliche Anwendungsfälle in der Eckelmann AG. Der erste Anwendungsbereich ist der für „Werkzeugmaschinen“ in dem die Software von CNC-Steuerungen der Firma Eckelmann automatisiert getestet werden soll. Diese CNC-Software wird laufend für verschiedene Controller-Typen weiterentwickelt und auch kundenspezifisch angepasst. Die Einführung von automatisierten Regressionstests dient hier der Qualitätsverbesserung bzw. –sicherung. Der gewählte Ansatz erlaubt es, dass die Testauswertung und Teile der Teststeuerung mit Hilfe von MATLAB modelliert, bzw. programmiert werden können und als Teil der Testdurchführung ausgeführt werden. Der zweite Anwendungsbereich befasst sich mit Ablaufsteuerungen. Für die Modellierung von verteilten, hierarchisch organisierten Automaten verwendet die Eckelmann AG eine selbst entwickelte tabellenbasierte Notation namens „Sequential Function Tables“ (SFT). Aus diesen Modellen kann für unterschiedlichste Zielsysteme Programmkodegerüste generiert werden, die manuell mit Anwendungslogik vervollständigt werden müssen. Dieses System wird in vielen unterschiedlichen Projekten der Eckelmann AG eingesetzt. Diese Umgebung soll mit dem gewählten Ansatz in einen modellgetriebenen Testprozess innerhalb des Testframeworks integriert werden. Für die Testspezifikation wird zusammen mit den Testern der Firma Eckelmann eine domänenspezifische Testsprache entwickelt, mit der es möglich ist feingranulare Tests von Abläufen der verteilten Zustandsautomaten zu definieren. Neben Zusicherungen und Einschränkungen des Verhaltens der Zustandsautomaten können auch zeitliche Vorgaben definiert und damit Echtzeiteigenschaften getestet werden. Die existierenden Systemmodelle werden importiert und bei der Spezifikation der Tests wiederverwertet. Die Anbindung an das zu testende System erfolgt über eine Testschnittstelle des Projektpartners, die von dem Testframework architektonisch entkoppelt ist.