LinkedIn Logo YouTube Logo
ANZEIGE
Testabdeckung in IEC61131-3 Structured Text/ ST

Softwaretest – Eine Frage des Vertrauens

Entwicklungskosten reduzieren, die Qualität von Software verbessern und Fehler nicht erst beim Kunden finden - dafür sind Softwaretests da. Doch in der Steuerungswelt ist dieses Thema noch nicht sehr verbreitet - darauf macht Patrick Dressel, freiberuflicher Software-Entwickler, aufmerksam. Er bietet dafür ein Test-Framework an und zeigt auf, wie die Testabdeckung ermittelt wird.
 Mit dem AutomateYourCode-Generator lässt sich die Code Coverage Analyse einfach durchführen.
Mit dem AutomateYourCode-Generator lässt sich die Code Coverage Analyse einfach durchführen.Bild: Hoox Software / ©Dcstudio/freepik.com

In Automatisierungswelt werden die Anforderungen an die Qualität von Software immer höher und es kommen immer mehr Entwicklungsmethoden der Hochsprachenwelt zum Einsatz. Die Verwendung einer Versionsverwaltung wie TFS, SVN, Git bzw Gitlab ist inzwischen Standard. Zur Sicherung der Softwarequalität können Buildserver überprüfen, ob der aktuelle Stand fehlerfrei kompilierbar ist. Buildpipelines können automatisiert Tests starten und auswerten. Das Ergebnis des Testlaufs führt dann zu weiteren Aktionen wie beispielsweise E-Mail-Versand und das Archivieren von Daten. Der Entwicklungsabteilung dienen automatisierte Tests, um zu einem frühen Zeitpunkt Fehler bereits im eigenen Haus statt beim Kunden zu erkennen. Metriken, zum Beispiel die Erfassung der Testabdeckung, helfen dabei, die Qualität des Tests zu ermitteln und sind ein belegbarer Nachweis der Testtiefe.

Patrick Dressel, freiberuflicher Software-Entwickler: "Die Code Coverage Analyse als Whitebox-Verfahren zeigt sehr einfach welche Codeteile nicht durch Tests abgedeckt sind."
Patrick Dressel, freiberuflicher Software-Entwickler: "Die Code Coverage Analyse als Whitebox-Verfahren zeigt sehr einfach welche Codeteile nicht durch Tests abgedeckt sind."Bild: Hoox Software

Nachholbedarf in der Automatisierung

„In der Welt der internationalen Norm IEC61131 ist das Thema Softwaretest noch nicht sehr verbreitet, aber es begegnet mir immer öfter in Gesprächen mit Kunden und Kollegen“, berichtet Patrick Dressel. Deshalb stellte er sich vor ein paar Jahren die Frage, wie sich aussagekräftige Tests erstellen lassen. „Bei der Fortbildung zum ISTQB-Testanalyst konnte ich mich intensiv damit beschäftigen und es wurde konkreter. Dabei stellte sich heraus, dass das Thema gerade im Automatisierungsbereich verbreiteter sein könnte“, fährt er fort.

Setzen sich die Entwicklungsabteilungen mit dem Thema Softwaretest auseinander, würden sie sehr schnell zu folgenden Fragen kommen:

• Woher weiß ich, wie gut mein Test ist?

• Welche Kriterien helfen mir bei der Bewertung meines Tests?

Die Antwort liefert Dressel in Form einer parallel zum Test laufenden Code-Coverage-Analyse. Diese zeigt, welche Teile des Quellcodes erreicht werden und in welchem Umfang.

Konzept: Code Coverage Analyse

Bei Beginn der Umsetzung entsprechender Softwaretests stehen die sogenannten Blackbox-Verfahren. Diese helfen dabei die Testfälle und deren Testdaten anhand der Dokumentation zu erstellen, ohne den Code zu kennen. Im besten Fall ist das gewünschte Verhalten einer Funktion definiert und die Formeln für Berechnungen dokumentiert. Anhand dieser Daten kann der Tester dann die Testfälle mit den zugehörigen Testdaten definieren und implementieren.

„Die Code-Coverage-Analyse als Whitebox-Verfahren zeigt sehr einfach welche Codeteile nicht durch Tests abgedeckt sind“, erklärt der Software-Entwickler. Hier wird das Testobjekt (übersetztes Programm) auf einem SPS-System innerhalb seiner Laufzeitumgebung getestet und die Codeabdeckung aufgezeichnet. Dazu ist es notwendig, das zu testende Programm zu instrumentieren und neu zu übersetzen. Diese Vorgehensweise benötigt zwar zusätzlichen Speicher und Rechenleistung, was für aktuelle Systeme aber kein Problem mehr darstellt. Im Zweifelsfall können die Testläufe entsprechend angepasst werden. Nach Ende des Testlaufs erfolgt die Auswertung der durchlaufenen Bausteine und Anweisungen. Diese wird in Form einer lesbaren XML-Datei bereitgestellt.

Aktuell mögliche Testabdeckung für zwei Steuerungen

Der AutomateYourCode-Generator macht es möglich diese Analyse einfach durchzuführen. Mit einer Konfigurationsdatei im XML-Format wird festgelegt was genau zu tun ist und welche Toolchain verwendet werden soll. Dressel: „Aktuell unterstützt der Generator Beckhoff-Twincat-3- und Sigmatek-Lasal-Class-2-Steuerungen, weitere sind in Entwicklung.“

Seiten: 1 2Auf einer Seite lesen

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: MKW GmbH Digital Automation
Bild: MKW GmbH Digital Automation
Mit Flexibilität und 
Präzision zum Erfolg

Mit Flexibilität und Präzision zum Erfolg

In der heutigen Fertigungsindustrie ist die Fähigkeit zur schnellen Anpassung an Marktentwicklungen und interne Herausforderungen ein entscheidender Wettbewerbsfaktor. Die Produktionsplanung hat darauf einen großen Einfluss. Sie muss nicht nur präzise, sondern auch flexibel und reaktionsfähig sein. Während traditionelle Planungsprozesse hierbei oft an ihre Grenzen stoßen, öffnet die Unterstützung durch künstliche Intelligenz (KI) neue Perspektiven für eine effizientere und widerstandsfähigere Gestaltung.

mehr lesen
Bild: Mercedes-Benz AG
Bild: Mercedes-Benz AG
Forschungsprojekt Werk 4.0: Digitale Prozess-Kette im Automobilbau

Forschungsprojekt Werk 4.0: Digitale Prozess-Kette im Automobilbau

Durch kürzere Modellzyklen muss die deutsche Automobilproduktion auch ihre Produktionslinien deutlich schneller umstellen können. Voraussetzung dafür ist eine durchgängige digitale Informationskette der Fertigungsparameter. Eine solche wird im Rahmen des Projektes Werk 4.0 im Mercedes-Benz-Werk Berlin-Marienfelde entwickelt. Damit soll auch auf Produktänderungen und sich verändernde Rahmenbedingungen flexibel reagiert werden.

mehr lesen
Bild: Conrad Electronic SE
Bild: Conrad Electronic SE
So lassen sich komplexe Fertigungsprozesse spielend begreifen

So lassen sich komplexe Fertigungsprozesse spielend begreifen

Conrad Electronic ist nicht nur Distributor, sondern positioniert sich auch als Technologie- und Lösungsanbieter in der Automatisierungsbranche, der seinen Kunden beratend zur Seite steht. Er nutzt dafür z.B. das Miniatur-Fabrikmodell Agile Production Simulation von Fischertechnik, mit dem sich komplexe Automatisierungskonzepte der Industrie 4.0 greifbar machen lassen. Neben Ausbildungszwecken ist es auch für Unternehmen interessant, die Digitalisierung und Automatisierung veranschaulichen möchten.

mehr lesen
Bild: KEB Automation KG
Bild: KEB Automation KG
Daten arbeiten lassen – Wertschöpfung steigern

Daten arbeiten lassen – Wertschöpfung steigern

Viele wollen mehr aus ihren Maschinendaten machen und die Vorteile nutzen. Der praktische Einstieg fällt allerdings schwer. Plattformen für das Industrial Internet of Things (IIoT) sollen zentrale Elemente zur Vernetzung von industriellen Maschinen und Systemen bilden – und in dieser Ausrichtung die Erfassung, Verarbeitung sowie Analyse von Daten ermöglichen. Mittelständische Anwender haben dabei die Wahl zwischen den verfügbaren Standard-IIoT-Plattformen und maßgeschneiderten Lösungen.

mehr lesen