Prof. Dr. Christian Johner

Autor: Prof. Dr. Christian Johner

Inhaber der Johner Institut GmbH

Integrationstests bei Software & Integrationsstrategie

Dienstag 29. September 2015

Sowohl die IEC 62304 als auch die FDA fordern Integrationsprüfungen typischerweise in Form von Integrationstests.

Update: Wie Sie die Forderung der IEC 62304 nach Evaluierung des Integrationsprüfverfahrens erfüllen können (mehr »).

Inhaltsübersicht
Integrationstests: Ziele »
Integrationstests: Aktivitäten »
IEC 62304: Was Sie prüfen sollten »
IEC 62304: Wie Sie prüfen sollten »

Software-Integrationstests & Integrationsstrategie

Ziel der Integrationstests

Das Ziel von Integrationstests besteht darin zu prüfen, ob die Schnittstellen von zwei und mehr Komponenten (auch Module oder Units genannt) zu einander passen. Dieser Integrationstests bedarf es, obwohl professionelle Software-Entwickler bereits die öffentlichen Methoden aller Komponenten prüfen. Denn diese Komponenten-, Modul- oder Unit-Tests reichen nicht aus, wie das folgende Beispiel zeigt:

Eine Raumsonde stürzte ab, obwohl alle Module vollständig getestet waren. Allerdings nutze ein Modul (eine Komponente) SI-Einheiten, ein zweites „imperial units“. Dass die beiden Schnittstellen nicht passen, hätten Modul-/Komponententests nicht finden können, Integrationsprüfungen hingegen schon.

Integrationstests - auch in der Software-Entwicklung einen Pflicht

Integrationstests sind nicht nur in der Software-Entwicklung eine Best-Practice (Quelle: NASA)

Erst mit Hilfe von Integrationstests lässt sich prüfen, ob die Schnittstellen (d.h. die Methoden  und Methodenaufrufe) der Komponenten auch zueinander passen.

Typische Aktivitäten bei den Integrationstests

Bei der Integrationsprüfung fügen die Hersteller stückweise die einzelnen Komponenten zusammen und prüfen, ob diese wie spezifiziert mit einander funktionieren.

Beispielsweise könnte man prüfen, ob die Komponente „Dosisberechnung“ mit der Komponente „Patientendaten“ korrekt zusammenarbeitet, d.h. von dort die Patientendaten anfordert, die Sie für die Dosisberechnung benötigt. In einem weiteren Integrationsschritt könnte die Komponente „Benutzerschnittstelle“ hinzugefügt werden.

Bereits in der Software-Architektur sollten Hersteller die Integrationsstrategie bestimmen, die festlegt, in welcher Reihenfolge die Komponenten integriert werden sollen. Typische Vertreter von Integrationsstrategien sind

  • die Bottom-up-Strategie, die bei Entwicklern beliebt ist und viele Testtreiber benötigt,
  • die Top-Down-Strategie, die einen frühen Eindruck vom finalen Produkt ermöglicht und viele Mock-Objekte bedingt und
  • die Big-Bang-Strategie, die eigentlich gar keine stückweise Integration sondern den Test des gesamten Systems bezeichnet.

Welche Anforderungen die IEC 62304 an die Integrationstests stellt

Was Sie prüfen sollten: Anforderungen an die Integrationstests selbst

Die IEC 62304 verlangt, dass Hersteller für Software der Sicherheitsklassen B  und C Integrationstests – sie spricht von Integrationsprüfungen – durchführen. Konkrete Prüfverfahren für die Integrationstests schreibt die Norm nicht vor. Zumindest folgende Forderungen lassen sich aber ableiten:

  • Die Integrationstests müssen einer vorher festgelegten Integrationsstrategie folgen. Ein Beispiel ist eine Bottom-up-Strategie, bei der z.B. erst die hardware-nahen oder betriebssystem-nahen Schichten und dann die höheren Schichten z.B. UI getestet werden.
  • Die Integrationstests müssen Qualitätseigenschaften prüfen, die an die ISO 9126 erinnern (Funktionalität, Effizienz/Zeitverhalten usw.)
  • Die Integrationstests müssen für die Regressionsprüfung reproduzierbar sein.
  • Fehler die bei Integrationstests entdeckt werden, dürfen nicht einfach gefixed werden, sondern müssen den Problemlösungsprozess durchlaufen. Diese Forderung sehe ich als nur sehr selten bei Medizinprodukteherstellern als erfüllt.

Wie Sie prüfen sollten: Anforderungen an das Integrationsprüfverfahren

In Kapitel 5.6.5 verlangt die IEC 62304: „Der Hersteller muss die Korrektheit des Integrationsprüfverfahrens evaluieren.“  Was die Autoren der IEC 62304 damitt gemeint haben, lässt sich am ehesten aus dem Anhang B.5.6 ableiten:

Bei der Korrektheit geht es der IEC 62304 darum, dass zum einen das bzw. die richtigen „Verfahren“ gewählt wurden und zum anderen dass man diese auch richtig angewendet hat. Der Begriff Verfahren umschließt dabei

  1. die Verfahren, um die Reihenfolge zu bestimmen, mit denen die Komponenten integriert werden (-> Integrationsstrategie),
  2. die Verfahren, mit denen die Testfälle (Testdaten) abgeleitet werden (-> typische White- und Blackbox-Verfahren wie Äquivalenzklassen-, Entscheidungstabellen, Fehler-basierte Testverfahren).
  3. Werkzeuge und der Einsatz von Stubs/Mock-Objekten als Ersatz von Hardware oder von noch nicht entwickelten oder integrierten Software-Komponenten.

Diese Bewertung des Prüfverfahrens wird üblicherweise durch ein Review des Integrationsplans erfolgen. Es geht also nicht um die Überprüfung der korrekten Anwendung des Prüfverfahrens, sondern um die Eignung des Verfahrens. In Amendment 1 ist dieser Abschnitt etwas verständlicher formuliert, da die Begriffe „verify“ mit „evalute“ und „correctness“ mit „adequacy“ ausgetauscht wurden (5.6.5 EVALUATE software integration test procedures The MANUFACTURER shall EVALUATE the integration test procedures for adequacy. [Class B, C]).

Der Auditgarant zeigt Ihnen Schritt für Schritt, wie Sie Software-Tests (nicht nur Integrationsprüfungen) IEC 62304 konform spezifizieren, durchführen und dokumentieren
Der Auditgarant zeigt Ihnen Schritt für Schritt, wie Sie Software-Tests (nicht nur Integrationsprüfungen) IEC 62304 konform spezifizieren, durchführen und dokumentieren.

Kategorien: Software & IEC 62304
Tags: ,

Kommentar schreiben