Prof. Dr. Christian Johner

Autor: Prof. Dr. Christian Johner

Inhaber der Johner Institut GmbH

Blackbox-Testing

Dienstag 30. Juni 2015

on Blackbox-Testing spricht man, wenn man Testfälle alleine aus der Spezifikation des zu testenden Objekt (Produkt, Komponente) ableitet. Beim White-box-Testing leitet man die Testfälle hingegen aus der inneren Struktur des Objekts ab z.B. aus dessen Quellcode oder dessen Software-Architektur.

Blackbox testingLeider 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.

Das Ziel der Blackbox-Testverfahren besteht daher darin, Testfälle zu spezifizieren, die eine besonders hohe Wahrscheinlichkeit haben, Fehler zu finden.

Mit welchen Testfällen würden Sie folgende Bildschirmmaske testen?

Blackbox-Testing am Beispiel einer Bildschirmmaske

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.

Spezifizieren Ihre Tests bereits während Sie die Spezifikation des Produkts entwickeln. So verhelfen Ihnen die Blackbox-Testverfahren zu präzisen und unstrittigen Spezifikationen.

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.
Prof. Dr. Christian Johner
Im Auditgarant zeige ich Ihnen, wie Sie Ihre Software mit Hilfe der Blackbox-Testverfahren normenkonform testen und die Qualität Ihres Produkts sichern können. Schauen Sie sich gleich die Videos an!

Auch Die Studierenden meiner Masterkurse „IT im Gesundheitswesen“ lernen im Rahmen des Studiums ebenfalls das Blackbox Testing. Dabei üben Sie das Spezifizieren von Testfällen u.a. am Beispiel der oben zu sehenden Bildschirmmaske oder am Beispiel ihrer eigenen Anwendungen.

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.):

Die Software muss durch Blackbox-Testings geprüft werden.

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.


Kategorien: Software & IEC 62304
Tags:

Kommentar schreiben