Sie sind hier: HomeRubrikenSonstige

News, Produkte, Fachartikel zu Stromversorgungen, Batterien, Akkus, AC/DC-Wandler, DC/DC-Wandler, Energy Harvesting, Power Management, Wireless Power

Qualitätssicherung medizinischer Software: Durchgängig automatisiert testen

Wenn moderne medizinische Geräte das tun, was sie sollen, dann ist das ein Verdienst aller Entwicklungs- und vor allem auch Qualitätssicherungsmaßnahmen. Innovative Funktionen in Medizinprodukten werden heutzutage durch eingebettete Software realisiert, die nach dem Medizinproduktegesetz hinreichend zu testen ist. Ein automatisierter, durchgängiger Testprozess gewährleistet die erforderliche Tiefe und Effizienz der Testaktivitäten und somit auch die Qualität. Daher muss eine Testplattform verschiedenste Entwicklungs- und Testwerkzeuge miteinander verbinden können und eine einheitliche werkzeugübergreifende Beschreibungsnotation für die Testfälle bieten.

Durch Software erfahren Medizingeräte einen besonderen Mehrwert, denn innovative Funktionen und Leistungen werden heutzutage durch eingebettete Software realisiert. Ohne eingebettete Software wären Medizinprodukte wie zum Beispiel Herzunterstützungssysteme wenig »intelligent«. Wie Software den Funktionsumfang dieser Systeme erweitert und verbessert, lässt sich an einem frequenzadaptierenden Herzschrittmacher veranschaulichen. Früher war in dessen Gehäuse eine Kugel in einem Röhrchen verbaut, das sich bei Bewegung hin- und herbewegte.

Kam es zu vielen Kontakten an den Enden des Röhrchens, ging das System von starker körperlicher Bewegung aus und regelte die Herzfrequenz hoch. Diese Methode ist insofern wenig »intelligent«, als dass eine körperlich wenig anstrengende, aber holprige Traktorfahrt ebenfalls zu einem ungewollten Anstieg der Herzfrequenz mit unangenehmem Herzklopfen führen würde. Moderne frequenzadaptierende Herzschrittmacher detektieren über Sensoren Biosignale, welche die körperliche Aktivität und mentale Belastung des Patienten anzeigen. Im Idealfall steuert das System die Stimulationsfrequenz des Schrittmachers belastungsproportional - eine wichtige Rolle spielt dabei die eingebettete Software.

Betrachtet man die möglichen Auswirkungen medizinischer Geräte und ihrer Software, wird deutlich, wie hoch die Qualitätsansprüche an sie sind. Da sie sicherheitsrelevante, für den Patienten lebenswichtige Funktionen ausführen, würde eine Fehlfunktion den Patienten und seine Gesundheit in hohem Maße gefährden. Diesem Umstand trägt die Gesetzgebung Rechnung, indem sie in der Änderung des Medizinproduktegesetzes (MPG) vom Juli 2009 Software, die für einen medizinischen Zweck bestimmt ist, selbst als Medizinprodukt einstuft. Als solche ist die Software entsprechend dem Stand der Technik unter Berücksichtigung der Grundsätze des Software-Lebenszyklus‘, des Risikomanagements und der Validierung und Verifizierung (DIN EN 62304, ISO 14971 und DIN EN 60601-1-4) zu validieren.

Nachteile manueller Tests

Bild 1: Manuelles Testen hat viele Nachteile wie die mangelnde Reproduzierbarkeit, Subjektivität und hohe Kosten

Bild 1: Manuelles Testen hat viele Nachteile wie die mangelnde Reproduzierbarkeit, Subjektivität und hohe Kosten

Während in Branchen wie der Automobilindustrie oder Avionik bereits ausgefeilte und bewährte Methoden sowie Werkzeuge für den automatisierten Test eingebetteter Software zum Einsatz kommen, testen Hersteller von Medizingeräten ihre Produkte und deren Software noch weitgehend manuell. Ein Funktionsgenerator wird händisch eingestellt und stimuliert die zu testende Software (Bild 1).

Am Ausgang werden die Messdaten beispielsweise anhand eines Oszilloskops abgelesen. Den Fehlerspeicher des medizinischen Geräts liest der Tester mithilfe eines Debuggers aus. Der Tester profitiert bei manuellen Tests zwar von den Vorteilen, dass er keine besonderen Kenntnisse über Testwerkzeuge benötigt und flexibel im Testablauf reagieren kann. Es liegt aber auf der Hand, dass das Fehlerpotenzial bei manuellen Tests recht hoch ist. Die Qualität des Tests hängt stark von der Leistung des Testers ab, menschliche Schwächen (fachlich bedingte oder von der Tagesform abhängige) wirken sich direkt auf die Qualität der Tests aus. Außerdem ist der Test nicht oder nur in eingeschränktem Maße reproduzierbar.

Es ist schwierig, einen manuellen Test mit exakt den gleichen Stimuli zu exakt der gleichen Zeit anzustoßen und zu der exakt gleichen Zeit das Testergebnis abzulesen. Demnach verbleibt bei manuellen Tests immer ein Rest von Subjektivität, der zu unterschiedlichen Testergebnissen führen kann. Ein weiterer Nachteil des manuellen Tests sind die hohen Kosten, die durch den intensiven Personaleinsatz entstehen. Bei Regressionstests werden Testfälle wiederholt, um sicherzustellen, dass die Modifikationen im Testobjekt den schon korrekt umgesetzten Funktionsumfang der älteren Version ebenfalls erfüllen.

Im Falle einer manuellen Durchführung könnte dies nur durch wesentliche Einschränkung des Umfangs der Tests und somit möglichen Einbuße an der Qualität der Software realisiert werden. Wie lässt sich der Softwaretest verbessern? Ein wichtiger Schritt wäre, die Potenziale der Testautomatisierung auszuschöpfen. Theoretisch wäre eine Testautomatisierung in den verschiedenen Testphasen - Testspezifikation, Testdurchführung und Testauswertung - denkbar.

Eine Automatisierung der Testdurchführung trifft jedoch den größten Bedarf der Industrie. In großen Projekten werden hierfür separate Testumgebungen eingesetzt, die alle Hard- und Softwarekomponenten (auch den Testrahmen) enthalten. Angestoßen wird die Testumgebung über eine Testspezifikation, deren Format meist von der eingesetzten Testumgebung abhängt. Solche Testumgebungen sind kostenintensiv und bringen häufig neue Werkzeuge mit, in die sich der Tester einarbeiten muss. Die initiale Investition in eine Test-um-gebung lässt sich reduzieren, wenn bewährte Entwicklungs- und Testwerk-zeuge beibehalten werden können. Um dennoch eine durchgängige Werkzeuglandschaft für automatisierte Tests zu schaffen, müssten sich die vorhandenen Werkzeuge in eine Plattform einbetten und über eine einheitliche Beschreibungsnotation für Testfälle ansprechen lassen.

Testplattform für werkzeug-übergreifende Tests

Bild 2: Die Testplattform »ContinoProva« steuert Stimulations- und Messwerkzeug sowie Debugger beim Test einer Software für die korrekte Frequenzadaption eines Herzschrittmachers

Bild 2: Die Testplattform »ContinoProva« steuert Stimulations- und Messwerkzeug sowie Debugger beim Test einer Software für die korrekte Frequenzadaption eines Herzschrittmachers

Als Testplattform eignet sich »ContinoProva« von IT Power Consultants, um entwicklungsbegleitende Tests  zu automatisieren. Es verbindet die beteiligten Werkzeuge über eine COM-Schnittstelle und bietet eine werkzeugübergreifende Beschreibungsnotation für die Testspezifikation. So lassen sich Funktionsgenerator, Debugger und das Gerät für die automatische Messdatenerfassung und -auswertung (z.B. Oszilloskop) zentral steuern. Im Folgenden soll als Beispiel die korrekte Frequenzadaption eines Herzschrittmachers getestet werden (Bild 2).

Über Sensoren misst der Herzschrittmacher den individuellen Verlauf der Erschütterung, die Impedanz und die Kontraktionsdynamik des Patientenherzens. Die Software des Herzschrittmachers wertet die Biosignale aus und erzeugt als Output Impulse mit optimaler Amplitude in entsprechender Frequenz. Sind die benötigten Werkzeuge für Stimulation, Messdatenerfassung und Debugging an ContinoProva angebunden, wird die Testspezifikation über den Editor erstellt. Testfälle sind in Testgruppen, Testsequenzen, Testschritte und Test-Tasks organisiert. Nicht nur zeitliche Eingabedaten und erwartete Ausgangswerte lassen sich mit ihnen spezifizieren, sondern auch die Steuerung der Werkzeuge selbst (z.B. Aktivierung und Deaktivierung) ist möglich.

Bild 3: Testspezifikation mit ContinoProva

Bild 3: Testspezifikation mit ContinoProva

Bild 3 zeigt eine mit ContinoProva erstellte Testspezifikation. Ein weiteres Feature des Editors ist das Bibliothekskonzept, welches das Referenzieren von Standard-Testelementen erlaubt.

In der Bibliothek vorgenommene Änderungen schlagen sich dann automatisch auf die referenzierten Testelemente durch. Mit dem Editor lassen sich außerdem Parameter und arithmetische Operationen spezifizieren. In manchen Fällen ist es wünschenswert, die Testspezifikation außerhalb des Werkzeugs zu erstellen, zum Beispiel wenn die zuständigen Kollegen lokal verteilt arbeiten und das Werkzeug nicht überall verfügbar ist. Für dieses Szenario bietet ContinoProva eine Schnittstelle nach »Excel«.

Tests können dann in Excel unter Einhaltung bestimmter Konventionen spezifiziert und anschließend in Contino-Prova importiert und ausgeführt werden. Per Knopfdruck stößt der Benutzer die Testdurchführung an. Es stehen verschiedene Durchführungsmodi zur Verfügung. Für den einmaligen Testdurchlauf wählt der Tester den Normal-modus, für die wiederholte Durchführung einzelner oder mehrerer Testspezifikationen eignet sich die Stapelverarbeitung. Für eine bessere Analyse arbeitet ContinoProva im Debug-Modus die Testspezifikation Schritt für Schritt ab.

Dokumentation auf Knopfdruck

Nach Abschluss der Testdurchführung werden die Testergebnisse im Testbericht zusammengefasst. Im Rahmen der Zertifizierung lässt sich dieser als Teil der Dokumentation für die Qualitätssicherung heranziehen. Die Zertifizierung eines Medizinproduktes erfordert eine technische Dokumentation, die unter anderem die grundlegenden Anforderungen und Qualitätssicherungsmaßnahmen enthalten muss.

Um die Abdeckung und Effizienz der Qualitätssicherungsmaßnahmen beurteilen zu können, ist eine Verlinkung zwischen Anforderungen und Tests zu realisieren. In ContinoProva können Anforderungen im .csv-Format importiert und mit den Testelementen verbunden werden. Beim Export der Testspezifikation werden neben den Testfällen auch die verlinkten Anforderungs-IDs aufgeführt, sodass sich im Anforderungsmanagementsystem über die IDs die Links zwischen Testfall und abgedeckten Anforderungen automatisch generieren lassen.

Über die Autorin:

Meike Lim ist Verantwortliche Marketing & PR bei IT Power Consultants

Meike Lim ist Verantwortliche Marketing & PR bei IT Power Consultants