Testautomatisierung Entwicklungsbegleitendes Testen mit iPFit

Autor / Redakteur: *Dr. Armin U. Schmiegel, David Löffler, Fabian Vehreschild / Martina Hafner

Entwicklungsbegleitende Integrationstests sorgen für eine höhere Produkt-Qualität und eine zuverlässige Entwicklung. Leider stellen sie Entwicklungsteams aber auch vor Herausforderungen. Ein Erfahrungsbericht von voltwerk electronics zur integrierten Plattform für Integrationstests iPfit-Framework

Firmen zum Thema

Überwachungs- und Konfigurationslösungen für Photovoltaik-Anlagen lassen sich mit dem iPFit-Framework im frühen Entwicklungsstadium testen
Überwachungs- und Konfigurationslösungen für Photovoltaik-Anlagen lassen sich mit dem iPFit-Framework im frühen Entwicklungsstadium testen
( Foto: Rainer Sturm, pixelio.de )

In den letzten Jahren hat im Bereich der Softwareentwicklung ein „sanfter“ Paradigmenwechsel stattgefunden. Standen in der Vergangenheit starre Projektorganisationsformen im Vordergrund, geht mittlerweile der Trend zu agilen Organisationsformen. Parallel hat sich das Verständnis von Softwaretests gewandelt.

Neben den Tests auf Modul- und Komponentenebene, versucht man bereits in der frühen Phase der Entwicklung System- und Integrationstests durchzuführen. Die Vorteile von entwicklungsbegleitenden Integrationstests sind eine höhere Qualität der Produkte und eine zuverlässigere Entwicklung, da das Risiko von kritischen Fehlern reduziert wird, wenn Features bereits in der Entwicklung permanent getestet werden.

Bildergalerie

Leider stellt die Durchführung solcher Tests den Entwickler und den Tester vor große Herausforderungen. Sind nicht alle Testobjekte zum Beginn der Entwicklung vorhanden, müssen Simulatoren entwickelt werden, die unter Umständen mit unterschiedlichen Kommunikationsprotokollen realitätsnah interagieren müssen.

Einfach zu wiederholende, automatisierte Tests unterstützen die Entwicklung und entlasten Tester und Entwickler. In jenen Fällen, in denen Tests zwingend manuell durchgeführt werden müssen, ist sicherzustellen, dass Qualität, Reproduzierbarkeit und Dokumentation konsistent sind.

Das iPFit-Framework im Einsatz bei voltwerk electronics

Für den Betrieb von Photovoltaikanlagen stellt voltwerk electronics neben Wechselrichtern unterschiedlichster Leistungsklassen auch die nötigen Überwachungs- und Konfigurationslösungen bereit. Um diese Geräte und deren Interaktion bereits im frühen Entwicklungsstadium zu testen, wurde das iPFit-Framework entwickelt (integrierte Plattform für Integrationstest). Dieses Framework erlaubt es, die verschiedenen Geräte im Zusammenspiel mit virtuellen und realen Geräten unter Verwendung verschiedenster Schnittstellen (CANopen, CAN, Ethernet oder analog) zu testen.

Bild 1: Beispiel einer Testapplikation für das iPFit-Framework: Ein Datenlogger (VM Touch), ist via CAN an einen Bus mit bis zu 20 Wechselrichtern angeschlossen. Via CANopen erhält er Informationen über Einstrahlung und Temperatur. Eine S0-Schnittstelle liefert Informationen über den aktuellen Strom-verbrauch. Die gesammelten Daten sendet der Logger an ein Portal. (Archiv: Vogel Business Media)

Eine typische Anwendung ist in Bild 1 zu sehen. Hier interagieren eingebettete Systeme mit Webapplikationen und digitalen wie analogen Signalen mit unterschiedlichen Protokollen. Mit Hilfe des iPFit-Frameworks konnte der Datenlogger bereits in der Entwicklung intensiv getestet werden. Ein Großteil der Tests wurde täglich automatisiert durchgeführt. Die Durchführung von manuellen Tests wurde ebenfalls unterstützt. Auf diese Weise wurde ein hohes Qualitätsniveau in der Entwicklung des Loggers gewährleistet.

Das Grundkonzept des iPFit-Frameworks besteht darin, dass Integrationstests bereits vor der Entwicklung aus den Anforderungen heraus erarbeitet werden. Diese Testbeschreibungen werden in Tabellenform oder in tabellierten Handlungsanweisungen in HTML aufgeschrieben. Das freie Tool FIT (http://fit.c2.com/) erlaubt es, diese Tabellen zu parsen und die Tests durchzuführen.

Der Vorteil dieses Konzeptes besteht in der Trennung von Testdurchführung und –Definition. Während sich Schnittstellen und Implementierungen ändern können, bleibt die Testbeschreibung in der Regel konstant. Man kann ihn sogar für andere Produkte übernehmen, muss dann allerdings das ausführende Programm anpassen.

Die modulare System-/Softwarearchitektur von iPFit

Die Architektur des Frameworks ist modular aufgebaut und untergliedert sich in vier Elemente. Für die Verwaltung der Testspezifikationen und –ergebnisse wird das freie Wiki-Sys-tem FitNesse (http://fitnesse.org/) verwendet. Es erlaubt dem Benutzer den Zugriff auf Tests und verschiedene Teststände mittels Browser und protokolliert, bzw. archiviert Testergebnisse.

Der Test-Client wird von der Fit-Engine zur Ausführung der Tests benötigt. Er basiert auf dem freien Fit-Framework. Dieser übersetzt die Anweisungen der Testspezifikation in Anforderungen an den Test-Server. Er verwendet dabei nur abstrakte Schnittstellen zum Testobjekt und den Simulatoren im Server. Im Server werden die Schnittstellen implementiert und auf die Schnittstellen des Testobjekts angepasst. Der Server abstrahiert dabei die konkreten Schnittstellen zum Testobjekt und stellt sie dem iPFit.Client zur Verfügung.

Wie in Bild 1 dargestellt, wird für das Auslesen eines elektronischen Energiezählers die S0-Schnittstelle des Energiezählers genutzt. Für die Datenübertragung werden hierbei gewichtete Impulse über die S0-Schnittstelle versendet, welche von einem Empfänger ausgewertet werden.

Artikelfiles und Artikellinks

(ID:352108)