Forschungsbericht 2003 - Fachhochschule Nordwestschweiz

fhnw.ch

Forschungsbericht 2003 - Fachhochschule Nordwestschweiz

Software-Testing verteilter Realtime-Anwendungen

in der Automation

Während Unit-Testing sich in der kommerziellen Informatik im Wesentlichen etabliert hat, steckt das systematische und automatisierte

Testen von Modulen in der Automationswelt noch weitgehend in den Kinderschuhen. Dies rührt daher, dass hier häufi g

besondere Anforderungen gestellt werden, wie etwa Realtime-Bedingungen oder verteilte Komponententechnik. Im Rahmen eines

Forschungsprojektes wurde eine Testumgebung für das Unit-Testing eines Leitsystem-Frameworks in einer verteilten Realtime-

Umgebung entwickelt und eingesetzt

Martin Kropp

Dieter Tschanz

Marcel Lanz

Bereich Technik

Das Implementieren und Durchführen von

ausführungsbasierten Tests zur Sicherstellung

des fehlerfreien Funktionierens von

Softwarekomponenten (Unit-Tests) gehört

in der kommerziellen Informatik zur festen

Aufgabe eines Entwicklers. Dieses Vorgehen

hat sich vor allem bei Softwareänderungen

bewährt, um die Fehlerfreiheit der

angepassten Software durch Wiederverwendung

der bestehenden Tests zu überprüfen

(Regressionstests). Mit dieser Technik

wird der Testaufwand in der Wartung

drastisch reduziert und den Entwicklern

die Sicherheit gegeben, dass die durchgeführten

Änderungen keinen Einfl uss auf

die bisherige Funktionalität haben.

In der Automation, wo häufi g besondere

Anforderungen wie Realtime-Verhalten,

asynchrone Kommunikation und verteilte

Komponenten vorkommen, wird diese

Technik des Testens bisher kaum angewendet.

Im Rahmen dieses Projektes wurde

für die Firma Ammann, Langenthal, eine

Unit-Testumgebung im Automationsbereich

für ein verteiltes Leitsystem-Framework

entwickelt und eingeführt.

Die Firma Ammann entwickelt und baut

Anlagen für die Kies- und Betonaufbereitung

mitsamt der erforderlichen Software

zur Bedienung und Steuerung der Anlagen.

Für diesen Zweck hat sie ein komponentenbasiertes

Leitsystem-Framework zur

einfachen Realisierung von kundenspezifi -

schen Lösungen entwickelt (Abb. 1).

42

Informationstechnologie & Wissensmanagement

IT

Testsystem

Automation

Bedienung über Windows

Das Framework besteht aus einer

Kernumgebung, die zur Ansteuerung und

Kontrolle der Anlagen harten Echtzeit-

Anforderungen unterliegt. Die eigentliche

Bedienung des Systems durch den Benutzer

läuft in einer normalen Windows-Umgebung.

Die asynchrone Kommunikation

zwischen diesen beiden Subsystemen geschieht

durch ein Messaging-System. Das

System ist ausserdem mit einer Datenbank

verbunden, in der alle geschäftsrelevanten

Daten abgelegt sind. Die zu testenden

Komponenten befi nden sich alle im Realtime

Kernel des Systems (Abb. 2).

Für das zu entwickelnde Test-Framework

stellten sich folgende Anforderungen:

_Die Tests müssen in der Realtimeumgebung

laufen.

_Es müssen asynchrone Abläufe getestet

werden können.

_Es soll ein generischer, das heisst ein von

den konkreten Testfällen unabhängiger

Test-Client verfügbar sein.

_Der Test-Client soll in der normalen

Win32-Umgebung laufen.

_Die Programmierung der Testfälle soll

möglichst dem Programmiermodell der

normalen Implementierung

folgen.

_Als Implementierungssprache wird Visual

C++ verwendet (Abb 3).

Möglichkeiten der Entwickler

Als Basis für den Software-Entwurf

diente das Open-Source-Test-Framework

CppUnit, das um die obigen Anforderungen

erweitert wurde. Damit konnten

wir die bestehende Funktionalität nutzen

Abb. 1: Das Ammann

Leitsystem Framework.

Weitere Magazine dieses Users
Ähnliche Magazine