Die Entwicklung optimieren
Prozesse automatisiert testen: Pro und Contra
Wie lässt sich der Entwicklungsprozess mechatronischer Produkte unter Zeit- und Kostenaspekten optimieren? Sind automatisierte Tests das selig machende Allheilmittel?
Viele Hersteller bieten Werkzeuge an, welche automatisierte Tests mit geringem Aufwand versprechen. Da es auch in diesem Bereich keine übergreifende Lösung für die Vielzahl der unterschiedlichen Testobjekte bestehend aus Mechanik, elektrischer Hardware und Software gibt, sind diese Werkzeuge entsprechend anzupassen beziehungsweise durch weitere Hardware-Komponenten zu ergänzen. Nicht selten treten bei der eigentlichen Umsetzung und Einführung der Werkzeuge unvorhersehbare Stolpersteine auf. Zahlreiche Tests, die man eigentlich abdecken wollte, werden durch das System nicht unterstützt oder sind nur mit sehr hohem Aufwand zu realisieren. Augenmaß bei der Einführung und Umsetzung der automatisierten Testdurchführung ist daher gefordert. Generell lohnt es nicht, für alle durchzuführenden Tests eine Automatisierung bereitzustellen.
Für den Einsatz automatisierter Tests spricht:
- Eine hohe Regressionsrate der Tests: Sprich, ein und dieselben Tests sind bei einer ständigen Weiter- oder Variantenentwicklung beziehungsweise nach einer Fehlerbehebung immer wieder durchzuführen. Negative Wechselwirkungen von Änderungen werden durch diese Tests ausgeschlossen.
- Technisch einfach zu bedienende Schnittstellen: Der Aufwand zur Bedienung der technischen Schnittstelle ist überschaubar beziehungsweise bereits vorhanden. Dazu zählen beispielsweise Kommunikationsschnittstellen (Profibus, CAN) oder digitale Ein- und Ausgänge. Bei mechanischen Schnittstellen und grafischen Bedienoberflächen kann jedoch der Aufwand schnell ansteigen und damit die Automatisierung sehr aufwendig machen.
- Häufige Wiederverwendung einzelner Testbausteine und -funktionen. Bei einer klaren Strukturierung der Tests in sequenzielle Abläufe immer wiederkehrender Einzelfunktionen können mit geringem Aufwand selbst umfangreiche Testfälle automatisiert werden.
Gegen den Einsatz automatisierter Tests spricht:
- Umfangreiche Systeme: Mit zunehmender Größe des Testobjekts - etwa ganze Maschinen oder Anlagen - wird eine automatisierte Testdurchführung immer ineffizienter. Als Faustformel kann hier gelten: Je umfangreicher das Testobjekt, desto effizienter ist eine manuelle Testdurchführung.
- Einzeln auftretende Spezialfälle: Tests, die nur bei einer einzigen Produktvariante oder einem Spezialfall bei einem Kunden auftreten, rechtfertigen nicht den Aufwand einer Automatisierung.
Weg einer effizienten Testautomation
Die Umsetzung und Einführung einer Testautomatisierung ist in drei Schritte zu gliedern:
Die Anforderungsanalyse:
In einem ersten Schritt sind die Tests, die automatisiert durchgeführt werden sollen, zu strukturieren und zu definieren. Diese Übersicht steckt den Umfang der zu automatisierenden Tests ab und ist wesentlich für die Lösung der Testfallstrukturierung und -verwaltung. Diese Basis ist sowohl für die manuelle als auch die automatische Testdurchführung unerlässlich. Zur Identifikation der technischen Anforderungen an die Testautomatisierung hat es sich dabei als praktikabel erwiesen, aus der Übersicht Testfälle auszuwählen, welche die Grenzen der technischen Anforderungen an die Testautomatisierung abdecken. In einem nächsten Schritt sind diese Testfälle weiter zu detaillieren. Daraus ergeben sich konkrete Anforderungen bezüglich technischer Aspekte, wie der Schnittstellen oder Echtzeit-Themen. Ziel ist, den Anwendungsbereich der Automatisierung für den konkreten Anwendungsfall klar zu beschreiben und einzugrenzen, um falschen Erwartungshaltungen entgegenzuwirken.
Die Lösungsspezifikation:
In einem zweiten Schritt erfolgen die Definition der Architektur der Testautomatisierung sowie die Auswahl der zum Einsatz kommenden Werkzeuge. Bei der automatisierten Testdurchführung mechatronischer Produkte ist hierzu meist ein entsprechender Testaufbau notwendig, der die mechanischen und elektrischen Schnittstellen bedient. Soweit als möglich empfiehlt sich hier der Einsatz standardisierter Komponenten der Automatisierungs- und Messtechnik. Zur eigentlichen Testdurchführung und -verwaltung können entsprechende Softwarewerkzeuge zum Einsatz kommen. Bei der Auswahl dieser Werkzeuge und Komponenten ist darauf zu achten, dass diese einfach zu koppeln und die in der Anforderungsanalyse definierten Testfälle umsetzbar sind. Relevant ist hierbei, einen Lösungsansatz zu generieren, der möglichst einfach den definierten Anwendungsfall abdeckt. Dazu sind nicht immer aufwendige Tools nötig, auch Excel ist für viele Aufgabenstellungen absolut zielführend.
Die Realisierung:
Die Lösungsspezifikation sieht meist die beschriebene Kopplung unterschiedlicher Komponenten und Softwarewerkzeuge vor. Es empfiehlt sich bei der Realisierung eine inkrementelle Vorgehensweise. Dabei sind im Sinne eines ersten Durchstichs die Kopplungen grundsätzlich zu erstellen, um dadurch die Tragfähigkeit der Lösung sicherzustellen. So steht bereits nach relativ kurzer Zeit ein Gesamtsystem zur Verfügung, das erste Basisfunktionen abdeckt. In weiteren überschaubaren Schritten ist ausgehend davon die Lösung um alle spezifizierten Funktionen zu erweitern. Zur Validierung der erstellten Lösung dienen die in der Anforderungsspezifikation erstellten Testfälle. Ähnlich dem zu testenden Produkt unterliegt die Testautomatisierung ebenfalls einer ständigen Weiterentwicklung.
Ist eine automatisierte Testdurchführung gut durchdacht, führt sie zu einer signifikanten Entlastung des Entwicklungsprozesses, sowohl was die Kosten als auch die Entwicklungszeit betrifft. Allerdings: Bei Spezialbetrachtungen und Einzelfällen ist die manuelle Testdurchführung nach wie vor unschlagbar.
Autor: Dr. Bernhard Kausler ist Senior Consultant bei ITQ.










