Leider beobachte ich, dass viele Medizinproduktehersteller weder die Testfälle spezifizieren, noch diese systematisch mit einem Blackbox-Testverfahren herleiten. Vielmehr klickt sich ein Tester einfach durch die Anwendung. So etwas ist weder effektiv (Fehler werden nur mit einer unzureichend hohen Wahrscheinlichkeit gefunden) noch effizient. Das wird regelmäßig zum Problem im Audit.
Blackbox-Testverfahren
Ziele der Blackbox-Tests
Tests können nicht die Korrektheit (hier von Software), d.h. die Abwesenheit von Fehlern nachweisen. Sie können nur die Existenz von Fehlern beweisen.
Mit welchen Testfällen würden Sie folgende Bildschirmmaske testen?
Blackbox-Testverfahren helfen genau dabei, schnell die Testfälle abzuleiten, die mit hoher Wahrscheinlichkeit Fehler aufdecken.
Übersicht über die Blackbox-Testverfahren“
Man unterscheidet mehrere Blackbox-Testverfahren, beispielsweise
- Äquivalenzklassenbasiertes Testen
- Grenzwertbasiertes Testen
- Fehlerbasiertes Testen
- Zustandsbasiertes Testen
- Testen mit Entscheidungstabellen
- Usw.
Beispiel für ein Blackbox-Testverfahren: Äquivalenzklassenbasierte Tests
Beim äquivalenzklassenbasierten Testen betrachtet man Wertebereiche, in denen sich das Produkt bzw. die Software äquivalent verhält. Beispielsweise könnte man bei dem Geburtsdatum folgende Wertebereiche unterscheiden:
- Gültiges Geburtsdatum z.B. im Intervall von heute bis heute vor 120 Jahren.
- Ungültiges Geburtsdatum, weil es in der Zukunft liegt.
- Ungültiges Geburtsdatum, weil es mehr als 120 Jahre zurückliegt (und wir annehmen, keinen Patienten zu haben, die älter sind).
Was gültige und ungültige Geburtsdaten sind, müsste aus der Spezifikation abzuleiten sein. Leider versäumen es die Hersteller ausreichend präzise Spezifikationen zu erstellen.
Sobald Sie die Äquivalenzklassen identifiziert haben, wählen Sie je einen Vertreter für den Blackbox-Test aus. Im obigen Beispiele wäre das beispielsweise die Geburtsdaten 03. Februar 1843, 27. März 1966 und 18. Dezember 2045.
Blackbox-Testing: Weitere Verfahren
Die Kompetenz von Software-Testern besteht darin, die geeigneten Blackbox-Testverfahren auswählen und kombinieren zu können u.a. abhängig
- von der Art des zu testenden Objekts,
- von der zur Verfügung stehenden Zeit,
- vom Risiko des Produkts und
- von der Sicherheitsklasse der Software bzw. Software-Komponente.
Wissen Sie was mich wirklich geschockt hat? Als ein Intensivpfleger mit seinen neu erworbenen Kenntnissen nach 10 Minuten lebensbedrohliche Fehler in einem Anästhesieprogramm fand.
Regulatorische Anforderungen an das Blackbox-Testing
IEC 62304: Entwicklungsplan
Die IEC 62304 schreibt kein konkretes Verfahren für das Blackbox-Testing vor. Sie verlangt aber einen Entwicklungsplan (IEC 62304 Kapitel 5.1), der auch festlegen muss, wie die Software getestet wird. D.h. Medizinproduktehersteller müssen das bzw. die Testverfahren spezifizieren.
IEC 62304: Integrations- und Systemtests
Die IEC 62304 verpflichtet die Hersteller, für Software der Sicherheitsklassen B und C Software-Integrationstest (IEC 62304 Kapitel 5.6) und Software-Systemtests (IEC 62304 Kapitel 5.7) zu spezifizieren und durchzuführen. Da die Software-Systemtests die Software-Anforderungen (IEC 62304 Kapitel 5.2) prüfen müssen, ergibt sich zusammen mit der Definition des Begriffs Blackbox-Testing (s.o.):
Anforderung der FDA an das Software-Testing
Die Anforderungen der FDA gehen bezüglich des (Blackbox-)Testings nicht über die der IEC 62304 hinaus.
Anforderungen der ISO 13485
Auch aus der ISO 13485 ergeben sich zumindest indirekt Anforderungen an das Blackbox-Testing: Die Norm verlangt eine adäquate Ausbildung und Kompetenz des Teams. Dezidierte und Ausgebildete Software-Tester sind für eine professionelle Software-Entwicklung unabdingbar. Das kann nicht eine weitere Aufgabe der Entwickler sein.