Startseite » Allgemein »

Damit das ganze System funktioniert

Automatischer Systemtest mechatronischer Anlagen
Damit das ganze System funktioniert

Welchen zentralen Stellenwert das Thema Software für den Maschinen- und Anlagenbau hat, wird bei näherer Betrachtung der technischen Strukturen klar. Eine Maschine bzw. Anlage besteht heutzutage nicht nur aus einer Vielzahl von elektronischen und mechanischen Elementen, sondern auch aus einer bunten Kombination aus verschiedenartigen Softwarekomponenten.

Klaus-Peter Rosenthal, ITQ GmbH Martin Platter, ITQ GmbH

Während bei den Hardwarekomponenten (Elektrik, Elektronik, Mechanik) sehr viel Wert auf Qualität gelegt wird, ist im Bereich der Softwareentwicklung das Thema Qualitätssicherung bei weitem nicht so verbreitet. Die Vernachlässigung der Software hinsichtlich der Qualitätsaspekte hat oft weitreichende Folgen. Denn erst durch das harmonische Zusammenspiel der einzelnen Komponenten entsteht ein Gesamtsystem das den meist harten Anforderungen bzgl. der Verfügbarkeit Genüge leisten kann.
Warum testen?
„Kein Produkt menschlicher Intelligenz kommt fehlerfrei zur Welt!“ Dass Menschen Fehler machen, ist weitgehend bekannt und wird auch gerne mit dem Wort menschlich umschrieben. Nachdem Software von Menschen programmiert wird, kann per se festgehalten werden, dass Software fehlerhaft ist und das Unterlassen von Tests damit als mindestens grob fahrlässig eingestuft werden kann.
Auf die Frage, ob die Unternehmen ihr Software testen, erhält man in der Regel einhellig zur Antwort, dass dies selbstverständlich der Fall sei, denn man sei ja schließlich nach ISO9000 zertifiziert. Auf detailliertere Nachfragen, wie denn das genau vonstatten gehe, wie denn der Testplan aufgebaut ist, wo denn der Entwurf der Testfälle sei, wie dokumentiert ist, welche Fehler in welcher Version gefunden wurde, wie sichergestellt wurde, dass durch die Fehlerbehebung nicht wieder neue Fehler eingebaut wurden, wird es meistens etwas ruhiger.
Ergebnis ist also meist, dass der Test wenig systematisch und schlecht vorbereitet abläuft. Umso gravierender wird die Problemstellung, je tiefer die Software in den ‚Innereien’ der Automatisierungslösung eingebettet ist.
Aufgrund dieser Problemstellung wurde ein Testmanagementsystem für eine Stanzmaschine entwickelt.
Wie wird getestet?
Für die Stanzmaschine gibt es grundsätzlich zwei mögliche Ansätze des Testens. Zum einen sind dies der Test an der realen Maschine, zum anderen der Test an einem Simulator mit Hardware in the Loop (HIL). Bei Hardware in the Loop wird eine mechanische oder elektronische Teilkomponente durch die Simulation ersetzt (Bild 1). Dieses Verfahren kommt häufig in der Automobilindustrie zum Einsatz. Tests an der realen Stanze können meist nur manuell durchgeführt werden. Durch die manuelle Ausführung von Tests ist auch die Reproduzierbarkeit und Nachvollziehbarkeit der Tests sehr schwierig. Ein großer Testumfang kann zudem unter Umständen auch einen hohen Material- und Werkzeugverbrauch zur Folge haben.
Anforderungen an ein Testmanagementsystem
Klar formulierte Anforderungen und deren Verifikation durch den Systemtest stellen ein wesentliches Merkmal der Qualitätssicherung dar. Der Systemtest für mechatronische Systeme zeichnet sich dabei durch eine komplexe Testumgebung aus. Je nach Entwicklungsstand der Anlage müssen Tests an realen oder simulierten Systemteilen durchgeführt werden. Für komplexe mechatronische Systeme, wie hier am Beispiel der programmierbaren Stanze, ergeben sich erfahrungsgemäß mehr als 10.000 Testfälle.
Ein Testmanagementsystem ist gerade bei dieser enormen Menge an Testfällen ein hilfreiches Werkzeug zur Unterstützung des Testprozesses. Dabei soll der Tester bei folgenden Aufgaben unterstützt werden:
  • Der Testplanung
  • Der Verwaltung von Testfällen und den dazugehörigen Treibern
  • Der Testausführung und
  • Der Testbewertung
Anders als in klassischen Softwareprojekten muss das Testmanagement-system im mechatronischen Umfeld eine Reihe von Besonderheiten berücksichtigen:
  • Integration von verschiedenen Ingenieursdisziplinen
  • Fehlende oder mangelhafte schriftliche Anforderungen
  • Kein klarer Entwicklungs-, Testprozess für Software
  • Große Maschinenvielfalt, daher viele verschiedene Testumgebungen
  • Lange Lebensdauer der einzelnen Maschinen (bis zu 25 Jahren oder mehr)
  • Lange Entwicklungsdauer (>2 Jahre) mit verschiedenen Iterationsblöcken
Häufig fehlen dabei gerade die für den Systemtest und damit den Testplan notwendigen Anforderungen. Mittels sogenannter Testaufgaben lassen sich diese fehlenden Anforderungen dennoch ersetzten.
Eine Testaufgabe beschreibt jeweils einen Teil oder eine Funktionalität der mechatronischen Anlage. Dabei besteht eine Testaufgabe aus einem Namen, einer allgemeinen Beschreibung, einer lyrischen Beschreibung des „Was wird getestet?“ und eine Beschreibung des „Wie wird getestet?“. Die Testaufgaben werden als hierarchisch angeordneten Strukturbaum abgelegt. Mit dem Testmanagementsystem kann einer Testaufgabe, durch die Verknüpfung mit Meilensteinen aus dem Projektplan, eine zeitliche Abfolge zu Grunde gelegt werden.
Wiederverwendung durch den Pool
Im Pool werden Testaufgaben und Testfälle projektübergreifend verwaltet. Durch die Vielzahl der zu testenden Maschinen und deren langen Entwicklungszeiten von mehreren Jahren ist es enorm wichtig, dass alle Testfälle über verschiedene Maschinen hinweg sehr leicht wieder verwendbar sind. Durch diese Pools können Testaufgaben und Testfälle, die in einem anderen Projekt definiert wurden, in einem neuen Projekt eingebunden werden. Dieser Vorgang wird Einlasten genannt. Umgekehrt können Testaufgaben und Testfälle, die sich zur Wiederverwendung eignen, in den Pool gegeben werden. Dieser Vorgang wird Veröffentlichen genannt. Um einen Testfall unabhängig von der zu testenden Anlage zu entwickeln, ist es nötig die Testarchitektur in mindestens zwei Schichten aufzuteilen. Die Testtreiber ermöglichen es, diese Testfälle auf einer spezifischen Anlage auszuführen. Ein Testfall wird über Parameter gesteuert. Diese Parametersätze werden Testvektoren genannt. Eine Zeile aus einer Testvektordatei ergibt einen Parametersatz. Diese Struktur ist äußert flexibel. Jeder Testfall kann somit mit anders strukturierten Parameterlisten zur Ausführung gebracht werden.
Datenverwaltung
Die Verwaltung der Informationen basiert auf zwei Systemen (Bild 2). Eine SQL-Datenbank wird verwendet, um die Informationsstruktur abzubilden. Durch die Verknüpfungen der Daten ist es möglich:
  • Tests zu planen
  • Testfälle zu verwalten
  • Testläufe zusammenzustellen
  • Diese auszuführen und Auswertungen zu erstellen
Das zweite System ist das Konfigurationsmanagement. Damit werden die Testfall- und Testtreiber-Skripte verwaltet und versioniert. Der Nutzer kann sich die passenden Skripte einer bestimmten Version vom Server holen oder eine neue Version anlegen.
Generierung von Testläufen
Ein Testmanagementsystem soll dem Nutzer auf Anfrage einen Vorschlag für einen möglichen Testlauf unterbreiten. Ein Testlauf ist eine Sammlung von Testfällen, die dem derzeitigen Entwicklungsstand der Anlage entsprechen. Oft ist es auch unmöglich alle Tests auf einmal durchzuführen. Vorschläge für Testfälle ergeben sich nach 3 Gesichtspunkten:
  • Fehlgeschlagene Testfälle aus dem letzten Testlauf des Projektes
  • Testfälle, die je nach Meilenstein ausgeführt werden können.
  • Testfälle zur Abdeckung einer Testaufgabe.
Testauswertung
Die Testauswertung bietet Metriken zur Bewertung der Reife des Prüflings (Bild 3). Bei einem Testmanagementsystem ist es wichtig, alle abgearbeiteten Tests in Statistiken und Auswertungen zu erfassen. Dabei müssen Kennzahlen gefunden werden, die die Reife des Prüflings sinnvoll beschreiben:
  • Fehlertrendanalyse
  • Testabdeckung über die Testaufgaben
  • Testreport zum Testlauf
Fazit
Was muss getestet werden?
Testaufgaben ersetzen fehlende oder mangelhafte Anforderungen für mechatronische Systeme.
Wie muss getestet werden?
Für den Systemtest im mechatronischen Umfeld gibt es zwei Varianten: Den Test an der realen Maschine oder das Testen mittels Hardware in the Loop.
Wann können Tests durchgeführt werden?
Die zeitliche Planung der Tests ist im Bereich der Mechatronik sehr wichtig. Die einzelnen Teile und Subsysteme der Anlage sind erst ab einem bestimmten Zeitpunkt verfügbar und testbar. Diese zeitliche Abhängigkeit wird mit den Meilensteinen in Verbindung mit den Testaufgaben beschrieben.
Wie kann die Wiederverwendung von Tests unterstützt werden?
Die Beschreibung der Anlage mit Testaufgaben in hierarchischer Form ermöglicht es, flexibel auf Änderungen und Erweiterung zu reagieren. Ein Pool verwaltet Testaufgaben, als auch Testfälle. Diese können aus dem Pool eingelastet werden. Der umgekehrte Vorgang heißt veröffentlichen.
ITQ, München
QE 539
Newsletter

Jetzt unseren Newsletter abonnieren

Quality Engineering
Titelbild QUALITY ENGINEERING Control Express 1
Ausgabe
Control Express 1.2024
LESEN
ABO
Webinare & Webcasts

Technisches Wissen aus erster Hand

Whitepaper

Whitepaper zum Thema QS


Industrie.de Infoservice
Vielen Dank für Ihre Bestellung!
Sie erhalten in Kürze eine Bestätigung per E-Mail.
Von Ihnen ausgesucht:
Weitere Informationen gewünscht?
Einfach neue Dokumente auswählen
und zuletzt Adresse eingeben.
Wie funktioniert der Industrie.de Infoservice?
Zur Hilfeseite »
Ihre Adresse:














Die Konradin Verlag Robert Kohlhammer GmbH erhebt, verarbeitet und nutzt die Daten, die der Nutzer bei der Registrierung zum Industrie.de Infoservice freiwillig zur Verfügung stellt, zum Zwecke der Erfüllung dieses Nutzungsverhältnisses. Der Nutzer erhält damit Zugang zu den Dokumenten des Industrie.de Infoservice.
AGB
datenschutz-online@konradin.de