OPC UA Testfall Generator

Entwicklung eines Expertensystems für eine Informationstechnische Automatisierung der Erstellung von OPC UA Testfällen und -skripten in Industrial Internet of Things Anwendungen

Projektförderung

Hintergrund

Die Maschinenkommunikation mit OPC UA ist in der Industrie angekommen und nimmt immer mehr zu. Damit der Datenaustausch verschiedener Komponenten reibungslos funktioniert, muss jede Komponente den gleichen Kommunikationsstandards entsprechen. Eine akkreditierte Zertifizierung der einzelnen Komponenten kann diese Entsprechung sicherstellen und damit teure Aufwände in der Inbetriebnahme verringern. Neben den Standards zur technischen Umsetzung der Kommunikationsmechanismen können für OPC UA auch die zu übertragenden Daten standardisiert werden. Dies geschieht in sogenannten Companion Specifications. Jede dieser Companion Specifications bildet ein Datenmodell ab - Bausteine für die Datenrepräsentation einschließlich Kontextinformationen wie Zusammenhänge zwischen einzelnen Datenelementen. Hersteller von OPC UA Geräten setzen diese Standards um, der Funktionalitäts- und Qualitätsnachweis dieser Umsetzung erfolgt über ein Testlabor. Abbildung 1 stellt den zu testenden Zusammenhang abstrahiert dar. Auf der linken Seite ist das Datenmodell der Spezifikation skizziert, auf der rechten Seite das Datenmodell einer Umsetzung. Hier wurde in der Umsetzung ein Fehler gemacht - der Datentyp des Elements C ist nicht wie gefordert "Int" sondern "Bool". Um solche Fehler zu vermeiden, werden zusätzlich zur Spezifikation Testfälle für die Zertifizierung entwickelt. Abbildung 2 zeigt schematisch, dass basierend auf dem Modell der Spezifikation Testfälle (Test Cases) erstellt werden, die beispielsweise die Existenz der Elemente A, B oder C prüfen, ihren Datentyp oder ihre Verbindungen untereinander. Stand heute werden diese Testfälle von den Standardisierungsgruppen selbst erstellt, also durch Menschen (lila).

ABB.1
ABB.2

Problemstellung

Die Testerstellung durch die Standardisierungsgruppen bedeutet einen hohen manuellen Aufwand. Dieser Aufwand entsteht tatsächlich an zwei Stellen: Zunächst auf Seiten der Standardisierungsgruppen, die in Form von Testfällen nennen, was getestet werden soll und welche Ergebnisse erwartet werden. Ein zweites Mal entstehen Aufwände, wenn diese abstrakten Testfälle in Testskripte umgesetzt werden, also eine direkt nutzbare Implementierung der Testfälle. Auf beiden Seiten ist der Zeitaufwand für die Erstellung der Testfälle und Testskripte hoch. Die verfügbare Zeit der Standardisierungsgruppen könnte weitaus sinnvoller genutzt werden. Auf Seiten der Testskripterstellung ergibt sich zusätzlich ein Problem im gesamten Arbeitsumfang: die Zahl der Companion Specifications und damit der benötigten Testfälle ist derzeit deutlich steigend. Dabei sind viele Testfälle und damit Testskripte wie im in den Abbildungen skizzierten Fall monoton - die Prüfung auf Existenz der spezifizierten Bausteine, auf korrekte Datentypen und dergleichen mehr. Bei solchen monotonen Tätigkeiten kommen auch häufig Fehler vor, beispielsweise wenn Inhalte der Testfälle oder -Skripte kopiert und angepasst werden. Für eine automati-sche Umsetzung der Datenmodelle aus den Companion Specifications zu Testfällen und Testskripten müssen die Zusammenhänge zwischen den jeweiligen Elementen ergründet werden. Das ist in Abbildung 3 dargestellt. Zu den in der Vergangenheit erstellten Spezifikationen existieren die von Menschen erstellten Testfälle. Die Zusammenhänge, dargestellt mit den lila Pfeilen müssen identifiziert werden und in einer für eine Automatisierung nutzbaren Form bereitgestellt werden.

ABB. 3

Zielsetzung/Ergebnisse

Ziel des Projektes ist es, eine generische Automatisierung der Testfallerstellung für eine Vielzahl von verschiedenen Companion Specifications bereitzustellen (orange in ABB.2). Das Prinzip ist in Abbildung 4 skizziert: Auf Basis eines Datenmodells werden über die in orange dargestellten Zusammenhänge Testfälle und Testskripte erstellt. Damit soll sich die Erstellungszeit von OPC UA Testfällen für Standardisierungsgruppen von mehreren Wochen oder Monaten auf wenige Minuten oder Stunden verringern, in ähnlicher Weise für die Erstellung von Testskripten. Zusätzlich wird angestrebt, dass menschliche Fehler in einer monotonen Tätigkeit durch die Automatisierung vermieden werden.

ABB. 4

Ihr Ansprechpartner

Dieses Bild zeigt Tonja Heinemann

Tonja Heinemann

M.Sc.

Wissenschaftliche Mitarbeiterin "Industrielle Steuerungstechnik"

Zum Seitenanfang