Hersteller mechatronischer Produkte setzen zunehmend komplexe Software ein, um die steigende Anfrage ihrer Kunden nach Funktionalität, Automatisierungsgrad und Sicherheit zu erfüllen. Mechatronische Produkte zeichnen sich durch eine enge Verzahnung der Teilbereiche Mechanik, Elektronik und Software aus und erzielen so wertvolle Synergieeffekte. Gerade für KMU ist der mechatronische Entwicklungsprozess oft unsystematisch und insbesondere die Anforderungen der immer komplexeren Software werden zu spät berücksichtigt. Die zunehmende Komplexität der Gesamtsysteme in Verbindung mit hohen Qualitätsanforderungen erfordert umfangreiche Tests, bevor ein Gerät ausgeliefert werden kann. Nur mit Testautomatisierung lassen sich diese Anforderungen mit überschaubarem Aufwand realisieren. Die Testautomatisierung erfordert neben der Testausführung auch die Generierung sowie das Management der Testfälle. Wie in anderen Bereichen der Systementwicklung haben sich auch in diesem Bereich in der Forschung und bei den ersten Unternehmen modellbasierte Methoden etabliert, sodass Testfälle automatisch aus einem Modell abgeleitet werden können. [1] belegen in einer Studie, dass durch modellbasierte Testansätze Aufwand und Kosten drastisch reduziert werden. Allerdings wird modellbasiertes Testen in der Industrie bisher noch kaum eingesetzt, da Infrastruktur und Personal aufgrund des hohen Initialaufwandes bisher nicht in der Lage sind, solche Ansätze zu nutzen.
Das Maschinensollverhalten könnte konsistent modelliert werden, indem die Verhaltensanforderungen an ein mechatronisches Produkt in Form von UML-Sequenzdiagrammen als gängiges Sprachmittel zunächst formalisiert werden. Durch anschließende automatische Generierung, Priorisierung und Ausführung von Testfällen soll die Übereinstimmung des realen Produktverhaltens verifiziert werden. Anhand einer durchgängigen prototypischen Toolchain und zweier repräsentativer Demonstratoren wird gezeigt, wie solch ein Vorgehen realitätsnah umgesetzt werden kann.
Die prototypische Toolchain greift zur Umsetzung eines automatisierten Testprozesses auf Methoden der Modellsynthese und modellbasierten Testgenerierung zurück. Hieraus wird systematisch und effizient eine Testsammlung erzeugt, die passende Testfälle zur Absicherung aller Anforderungen an ein System enthält. Basis sind dabei formalisierte Verhaltensanforderungen, die unter Zuhilfenahme einer eigens entwickelten Anforderungsnotation [2] auf Basis von UML Sequenzdiagrammen erstellt werden und als Eingabe für die Modellsynthese fungieren. Ergebnis der Modellsynthese ist ein graphbasiertes Spezifikationsmodell, das alle relevanten Verhaltensanforderungen beinhaltet und Basis der modellbasierten Testgenerierung ist. Das Spezifikationsmodell wird über ein erweitertes Petrinetz abgebildet und es werden bekannte Methoden der Petrinetztheorie angewandt, um unter Zuhilfenahme geeigneter graphbasierter Testziele (Alle Pfade, Knoten, Kanten) automatisiert Testfälle zu generieren [3]. In Abhängigkeit der Komplexität des Spezifikationsmodells und der ausgewählten Testziele entsteht durch die Testgenerierung eine Testsuite mit einer großen Anzahl von Testfällen und einer entsprechend hohen Testabdeckung hinsichtlich der relevanten Verhaltensanforderungen.
Um die automatisierte Testgenerierung ökonomisch industriell einzusetzen, ist ein effektives Konzept zum Management der enorm hohen Zahl an generierten Testfällen unter Berücksichtigung praktisch limitierter Testressourcen notwendig. Basierend auf Interviews mit industriellen Experten wurden gängige Praktiken ermittelt [4], mittels derer Firmen aktuell Testablaufpläne komponieren. Die dabei identifizierten Einflussfaktoren konnten in eine Methode sowie einen Satz von mathematischen Metriken überführt werden, welche die bisher schwer greifbaren manuellen oder erfahrungsbasierten Vorgehensweisen bei der Testpriorisierung automatisiert ausführbar machen und so Expertenwissen im Unternehmen verbreiten und bewahren. Zusätzlich zu gängigen Metriken wie Testabdeckung oder --aufwand werden ebenso neuartige Metriken vorgestellt, welche z.B. die Varianz der Testauswahl sicherstellt und somit Betriebsblindheit vorbeugt. Durch Integration von fuzzy Metriken kann eine in der Praxis oftmals angestrebte ausgewogene Durchmischung von unterschiedlichen Arten an Tests automatisch nachgebildet werden.
Die Ausführung der generierten Testfälle wird über einen Ansatz realisiert, der eine protokollunabhängige Schnittstelle für die Anbindung des verwendeten Testwerkzeugs an das System unter Test (SUT) als Hardware oder Software ermöglicht. Da diese gerade in der industriellen Automation häufig sehr heterogen gestaltet sind, ist eine zentrale Möglichkeit zur Anbindung der Testsuite, ein Testadapter, erforderlich. Dieser stellt dem Testsystem eine einheitliche Schnittstelle zur Verfügung, die die Kommunikationsstruktur vom Testsystem abstrahiert. Mit Hilfe verschiedenster Kommunikationsprotokolle wie OPCUA oder Modbus wird die Testkommunikation von und zum SUT realisiert. Für das SUT unterscheidet sich daher das Testszenario nicht von der Integration in ein reales Umfeld. Der Ansatz für die automatisierte Testausführung soll vorgestellt und deren prototypische Umsetzung und Anwendung anhand der Demonstratoren aufgezeigt werden.
Im Kontext komplexer mechatronischer Systeme können Tests ökonomisch nur innerhalb enger Grenzen vollständig automatisiert ausgeführt werden. Notwendige Sensorik und Aktorik für die Ausführung und Bewertung der Tests wäre für den späteren Produktivbetrieb überflüssig und muss deshalb im Rahmen der Tests durch Einbeziehung von Testpersonal ersetzt werden. Damit aber die erforderlichen manuellen Testschritte über den gesamten Workflow hinweg berücksichtigt werden können, muss eine nahtlose Integration des Testpersonals in gängige modellbasierte Testansätze bereits bei der Modellerstellung erfolgen. Hierfür wird eine mögliche Lösung zur Einbindung der Mensch-Maschine-Interaktion in Anforderungsmodellierung, deren Nutzung für die Testpriorisierung und die geführte semi-automatische Testausführung gezeigt. Nach der (semi-)automatischen Ausführung und Bewertung der Tests werden deren Ergebnisse in einen zentralen Datenbestand rückgeführt, um mittels weiterer Metriken für die Priorisierung zukünftiger Testläufe berücksichtigt werden zu können.
Alle vorgestellten Konzepte wurden erfolgreich anhand zweier Demonstratoren -- einem industriellem Stellantrieb sowie einer komplexen automatisierten Produktionsanlage im Labormaßstab -- evaluiert.
«
Hersteller mechatronischer Produkte setzen zunehmend komplexe Software ein, um die steigende Anfrage ihrer Kunden nach Funktionalität, Automatisierungsgrad und Sicherheit zu erfüllen. Mechatronische Produkte zeichnen sich durch eine enge Verzahnung der Teilbereiche Mechanik, Elektronik und Software aus und erzielen so wertvolle Synergieeffekte. Gerade für KMU ist der mechatronische Entwicklungsprozess oft unsystematisch und insbesondere die Anforderungen der immer komplexeren Software werden zu...
»