Softwareentwicklung nach EN 62304

Teil 2: Normkonforme Implementierung

27. November 2017, 13:00 Uhr | Mark Pitchford, Technical Specialist bei LDRA
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Softwareintegration und Integrationstest

Der Softwareintegrationstest konzentriert sich auf den Datentransfer und die Kontrolle über die internen und externen Schnittstellen eines Softwaremoduls, wie etwa jene, die mit Medizingeräte-Hardware, Betriebssystemen und Softwareapplikationen und Bibliotheken von externen Zulieferern zusammenhängen. Diese Aktivität verlangt vom Hersteller, dass er die Integration in immer umfangreicheren Softwarebausteinen plant und ausführt – bis er im Endeffekt verifiziert, dass sich das resultierende integrierte System so verhält wie beabsichtigt.

Integrationstests können auch zur Demonstration des Programmverhaltens an den Grenzen seiner Eingangs- und Ausgangsbereiche dienen und die Reaktion des Programms auf ungültige, unerwartete und spezielle Eingaben bestätigen. Es werden die Aktionen des Programms offengelegt, wenn bestimmte Kombinationen von Eingaben oder unerwartete Eingabesequenzen empfangen oder definierte Timing-Anforderungen nicht eingehalten werden. Die im Plan enthaltenden Anforderungen sollten sowohl White-Box- als auch Black-Box-Tests enthalten.

Die Testwerkzeuge sollten die Fähigkeit zur dynamischen strukturellen Coverage-Analyse mitbringen – und zwar sowohl für System- als auch für Modultests. Mit diesem Mechanismus lässt sich zeigen, welche Teile der Codebasis während der Tests angesprochen werden. Die gewonnenen Daten lassen sich zusammenführen, die effektivste Möglichkeit, um auf die individuellen Testanforderungen eines bestimmten Entwicklungsprojekts hinzuarbeiten.  In der Regel werden sie gemeinsam betrieben, um zum Beispiel während eines dynamischen Systemtests die Coverage-Informationen für einen Großteil des Quellcodes zu generieren, durch Modultests zu vervollständigen und damit den defensiven Code und andere Aspekte anzusprechen.

Geänderte Quellcodes können ebenfalls mithilfe von Regressionstests überprüft werden. Die Testfälle sollten automatisch validiert werden, um sicherzustellen, dass Änderungen am Code keine Auswirkungen auf bereits erprobte Funktionalität an anderer Stelle haben. Die Anforderungen an strukturelle Coverage-Kennzahlen wie Anweisungs-, Verzweigungs-, Bedingungs-, Prozedur/Funktionsaufruf- und Datenfluss-Coverage variieren abhängig von der Geräte-Klassifizierung und werden durch die Modul- und Systemtest-Funktionen von Tools wie der LDRA Tool Suite bereitgestellt.

Test des Softwaresystems

Auf Systemebene muss der Hersteller die Software-Funktionalität verifizieren. Hierzu überprüft er, ob die Anforderungen an die Software erfolgreich umgesetzt wurden. Software-Systemtests liefern den Nachweis dafür, dass die spezifizierte Funktionalität im System in seiner eingesetzten Form existiert und dass seine Leistung der Spezifikation entspricht.

Software-Systemtests sind in verschiedener Hinsicht die ultimative Form des Integrationstests, sodass die dort gemachten Kommentare auch hier gelten. Funktionsbezogene (Black-Box-) Tests ohne Code Coverage können ebenfalls durchgeführt werden, auch wenn es möglicherweise wünschenswert ist, White-Box-Tests anzuwenden, um bestimmte Tests effizienter durchzuführen, Stressbedingungen oder Fehler zu initiieren oder die Codeüberdeckung der Qualifikationstests zu erhöhen.


  1. Teil 2: Normkonforme Implementierung
  2. Softwareintegration und Integrationstest
  3. Wartung des Softwaresystems

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu LDRA Inc.