Änderungen in zertifizierter Software schnell umsetzen und testen

Autor / Redakteur: Pierre-Henri Stanek / Sebastian Gerstl |

Softwaretests sind Pflicht – vor allem, wenn es um Programmierstandards und Zertifikate geht. Entwickler schrecken daher oft vor nachträglichen Änderungen in bereits zertifizierter Software zurück. Eine Automatisierte Code Change Analyse, welche alle testrelevanten Änderungen selbsttätig ermittelt, hilft hier weiter.

Anbieter zum Thema

Gerade in der Medizintechnik haben Geräte oft eine lange Lebensdauer. Darauf eingesetzte Software muss zudem feste Programmierstandards erfüllen und ZErtifizierungen erlangen, um eigesetzt werden zu können. Was aber, wenn im Lebensverlauf des Geräts die eingesetzte Software nachträglich geändert werden muss?
Gerade in der Medizintechnik haben Geräte oft eine lange Lebensdauer. Darauf eingesetzte Software muss zudem feste Programmierstandards erfüllen und ZErtifizierungen erlangen, um eigesetzt werden zu können. Was aber, wenn im Lebensverlauf des Geräts die eingesetzte Software nachträglich geändert werden muss?
(Bild: Clipdealer)

Lange Lebensdauer: Was die Kunden freut, ist für Software-Entwickler mitunter eine große Herausforderung. Das erfährt die Entwicklungsabteilung eines deutschen Herstellers von Medizintechnik immer wieder, dessen Geräte bis zu zwanzig Jahren im Einsatz sind. An der Therapie an sich ändert sich im Laufe der Zeit wenig. Und da die Geräte auf Qualität und Lebensdauer angelegt sind, leisten sie zur Freude der Kunden über lange Jahre das, was man von ihnen erwartet.

Was tun, wenn Änderungen im fertigen Code nötig werden?

Doch auch wenn die medizintechnischen Geräte selbst problemlos funktionieren, so ändert sich doch über die Jahre im Umfeld einiges: Das beginnt bei Änderungen in Normen, welche die eingebetteten Systeme abbilden müssen. Neue Erkenntnisse in der Technik verursachen Anpassungen in der Software. Neue Überwachungen müssen ergänzt, neue Funktionalitäten hinzugefügt werden. Auch Korrekturen oder Verbesserungen zum Beispiel im User-Interface sind im Laufe der Jahre nicht ungewöhnlich.

All das führt dazu, dass bereits getesteter, standardkonformer Code geändert werden muss. Und das treibt den Entwicklern bisweilen Schweißperlen auf die Stirn. Denn der Aufwand für neue Testreihen ist groß – ebenso wie das Risiko, dass sich neue Schwachstellen einschleichen, die behoben werden müssen.

Nun zählt Medizintechnik nicht unbedingt zu den Entwicklungsfeldern mit ausgesprochener großen Veränderungen. Ganz anders sieht es in Bereichen aus, die sich dynamisch entwickeln. Zum Beispiel in der Automobiltechnik, in der wir echte Umbrüche erleben. Oder in der Unternehmenssteuerung, die fast täglich gegen neue Attacken von außen wehren muss. Das treibt die Kosten von Software-Entwicklungen nach oben – und erhöht gleichzeitig die Risiken für Betriebssicherheit und Schutz von außen.

Safety und Security – um wirklich sichere Software zu entwickeln, sind Unit- und Integrationstests unabdingbar. Wer standardkonforme eingebettete Systeme entwickeln will, kommt um ein fest implementiertes, zertifiziertes Testprocedere nicht herum. Für diese Herausforderung wurde Cantata entwickelt. Die Testumgebung für Unit- und Integrationstests unterstützt C- und C++-Entwickler, ihren Code zu prüfen – sowohl standardkonformen, als auch business-kritischen. Und das auf dem Host genauso wie auf der Zielplattform. Damit minimiert Cantata die Risiken – und damit auch die Kosten in der Entwicklung.

Investitionen der Initialtests sichern

Sobald ein Code bzw. seine Interfaces eine gewisse Stabilität erreicht haben, kommt man als Entwickler um intensive Tests nicht herum. Was aber, wenn sich ein Projekt im Laufe der Zeit verändert? Auch das bestgeplante Projekt kann im Verlauf der Entwicklung maßgebliche Änderungen erfahren. Wie sichert man in so einem Fall die Investitionen, die in den Initialtests stecken?

Als erstem Anbieter ist es QA Systems gelungen, eine automatisierte Code-Change-Analyse zu entwickeln. Sie ist fester Bestandteil der neuen Version Cantata 8.0, die jetzt auf den Markt gekommen ist. Mit der Code-Change-Analyse ist es möglich, Abhängigkeiten innerhalb einer bereits getesteten Soft¬ware zu finden und Test-Updates zu erstellen. Dann wird der geänderte Code im Test mit den bereits bestehenden Tests synchronisiert. Für Entwickler ergibt das eine bedeutende Kostenersparnis und ArbeitserleichterunFA_QA-Systeg, denn der Aufwand, der bislang in das Suchen der Abhängigkeiten gesteckt werden musste, wird in Cantata 8.0 durch die Code-Change-Analyse minimiert.

Analyse von Änderungen und Tests auf Knopfdruck

Ein weiterer Vorteil: Unit- und Integrationstests hängen stark von der Struktur des Source-Codes ab. Wird der Code später geändert, wird er leicht brüchig. Wer Tests entsprechend dem geänderten Code aktualisieren will, muss also herausfinden, wo diese Tests angepasst werden müssen, um sie dort auf den geänderten Code abzustimmen. Auch das geschieht in Cantata 8.0 tool-unterstützt.

Die Analyse von Code-Änderungen und Testabhängigkeiten erfolgt auf Knopfdruck. Die Code-Change-Analyse ermittelt die Änderungen im getesteten Code. Sie zeigt, welche Tests von der Code-Änderung betroffen sind. Das System identifiziert alle Änderungen im Code, die den Test betreffen. Und es zeigt, inwieweit die Code-Abdeckung der Tests wegen der Änderungen fragwürdig oder hinfällig werden.

Die „Automatisierte Code-Change-Analyse“ in Cantata 8.0 bietet Entwicklern eine dialoggeführte Auswahl tool-unterstützter Maßnahmen an, mit denen Tests auf geänderten Code neu synchronisiert werden können. Die Code-Change-Analyse schlägt für jede Änderung passende Aktualisierungen zu den Tests vor und überarbeitet parallel die Testskripte.

Außerdem neu in Cantata 8.0: Dieselben Tests können für mehrere Targets und Toolchains wiederverwendet werden. Möglich macht dies das sogenannte Deployment Switching in Cantata 8.0. So kann derselbe Code für mehrere Umgebungen und unterschiedliche Produktvarianten verwendet werden, ohne den Produktionscode zu ändern.

So wie die Vorgängerversionen auch, wird Cantata 8.0 Compliance-Zertifikate des TÜV Saar für die höchsten Integritätsstufen für ISO 26262 (Automotive), IEC 61508 (Industrie), IEC 62304 (Medizintechnik), EN 50128 (Bahnverkehr) und IEC 60880 (Atomwirtschaft) erhalten.

Der Autor

* Nach seinem Studienabschluss in Electronics und Business begann Pierre-Henri Stanek 1998 seine Karriere bei Attol Testware SA., einem der ersten unabhängigen Vertriebe mit professionellen Testlösungen für sicherheitskritische Software. Anschließend arbeitete er an der technischen Übernahme und im Vertrieb für dynamische Testsoftware bei Rational Software Inc., IBM Inc. und Wind River Inc. Dort unterstützte er Verkaufsteams und arbeitete mit bei der Implementierung industrieller Testlösungen bei wichtigen Unternehmen aus den Märkten Telekom, Luft- und Raumfahrttechnik, Verteidigung und Automotive. Seit 2013 ist Pierre-Henri Stanek Country Manager Frankreich und Produktmanager für Cantata.

(ID:45363108)