Mit "Software-Testing: Die Forderungen der IEC 62304 und FDA erfüllen" verschlagwortete Einträge
Software-Testing: Die Forderungen der IEC 62304 und FDA erfüllen
Das Software-Testing zählt neben den Code-Reviews zur Software-Verifizierung. Gesetze und Normen stellen Anforderungen an die Art und den Umfang des Software-Testings.
Inhalt
Diese Seite verschafft Ihnen einen schnellen Überblick über das Software-Testing und verlinkt für weitergehende Informationen auf Fachartikel.
Software-Testing: Die Grundlagen
Regulatorische Anforderungen
Sieben Praxistipps
Unterstützung
1. Software-Testing: Die Grundlagen
a) Software-Testing als Teil der Software-Qualitätssicherung
Das Ziel des Testens von Software besteht darin, Fehler in der Software zu finden. Damit ist das Software-Testing ein Teil der analytischen Qualitätssicherung (s. Abb. 1).
Abb. 1: Software-Tests sind ein Teil der analytischen Qualitätssicherung.
Vorsicht!
Es weder möglich noch erlaubt, die Software-Qualität nur mit Testen zu erreichen.
Zur konstruktiven Qualitätssicherung zählen
Prozesse, z. B. Entwicklungsprozesse
Methoden und Verfahren, z. B. das Requirements-Engineering, das Modellieren mit UML und das Ableiten von Testfällen mit Äquivalenzklassen
Werkzeuge wie ALM-Werkzeuge, Entwicklungsumgebungen, Modellierungs- und Testwerkzeuge
Auf der Meta-Ebene gibt es Gesetze und Normen sowie Schulungs- und Weiterbildungsmaßnahmen, die sich u. a. auf die drei oben genannten Aspekte beziehen.
Die analytische Qualitätssicherung versucht, mithilfe von verschiedenen Prozessen, Methoden und Werkzeugen Fehler in verschiedenen Testobjekten zu finden. Man unterscheidet:
Audits: Hier geht es darum, Fehler in Prozessen zu finden.
Reviews: suchen Fehler u. a. in Dokumenten wie Spezifikationen oder Code (Code Reviews)
Software-Tests lassen sich nach vielen Kriterien sortieren (s. Abb. 2).
Abb. 2: Taxonomie der Methoden beim Software-Testing
Die IEC 62304 unterteilt ihre Anforderungen nach den Lebenszyklus-Phasen (s. Abb. 3).
2. Regulatorische Anforderungen
a) Europa
MDR, IVDR
Die MDR und IVDR verlangen Software-Lebenszyklus-Prozesse nach Stand der Technik (s. MDR, Anhang I, Abschnitt 17.2) und die Dokumentation der „Verifizierung und Validierung der Software“ (s. Anhang II, Abschnitt 6.1.b).
Bei der Software-Freigabe (Kapitel 5.8) müssen die Hersteller überprüfen, ob die Software-Tests so durchgeführt wurden, wie im Softwareentwicklungsplan beschrieben.
Abb. 3: Die IEC 62304 fordert in den Kapitel 5.5 bis 5.7 die Verifizierung der Software durch u. a. Software-Tests.
Die Software-Validierung fällt nicht in den Anwendungsbereich der IEC 62304, sondern den der IEC 82304-1. Allerdings sind deren Anforderungen sehr unspezifisch.
Der Begriff Software-Validierung wird in verschiedenen Kontexten unterschiedlich verstanden. Beispielsweise umfasst Computerized Systems Validation nicht nur eine Validierung am Ende der Entwicklung, wie in Abb. 3 zu sehen.
Die FDA erkennt die IEC 62304 als „recognized standard“ an. Aber die relevantesten Vorgaben an die Software-Architektur formuliert die Behörde in ihrer Leitlinie General Prinicples of Software Validation.
Die Leitlinie Content of the premarket submission gibt vor, welche Unterlagen Hersteller einreichen müssen. Darin macht die FDA auch Vorgaben für das Software-Testing.
c) Sonstiges
Hersteller, die die Anforderungen der FDA und der EU an das Software-Testing erfüllen, dürften weitgehend auch konform mit Anforderungen anderer Märkte sein.
Manchmal hilft es, weitere Normen zu beachten. Dazu zählen:
ISO 299119-6 zum Software-Testing in agilen Projekten
ISO 29119-11 zum Software-Testing von KI-basierten Anwendungen
3. Sieben Tipps zum Software-Testing
Tipp 1: Bei Unit-Tests auch die Units testen
Entwickler verstehen unter dem Unit-Testing etwas anderes als Auditoren: Für die Ersteren sind Unit-Tests die Tests der granularen Einheiten, also z. B. der Methoden und Klassen. Hingegen müssen aus regulatorischer Sicht die Unit-Tests die Software-Einheiten testen, die größere Komponenten darstellen können.
Je nach Testziel sollten die Hersteller die passenden Methoden wählen. Ein Fuzz-Test hat eine andere Zielsetzung als ein Penetration-Test.
Nutzen Sie Blackbox-Testverfahren. Damit kann man nicht nur bei Software-Systemtests systematisch diejenigen Testfälle ermitteln, die die höchste Wahrscheinlichkeit haben, Fehler zu finden.
Tipp 3: Die Testabdeckung quantifizieren
Tests können nur dann Fehler finden, wenn der Testcode die zu testende Software tatsächlich durchläuft. Mit Werkzeugen lässt sich der Code-Coverage automatisiert bestimmen. Diese Metrik sollten Hersteller für sich festlegen.
Tipp 4: Alle Tests als Regressionstests nutzen
Jeder zusätzliche Test erhöht die Wahrscheinlichkeit, dass Fehler rechtzeitig gefunden und beseitigt werden. Deshalb hat es sich bewährt, nach Änderungen alle Tests als Regressionstests zu wiederholen. Nicht nur während der Entwicklung, sondern auch während der Software-Wartung.
Tipp 5: Nicht nur in der Entwicklung testen
Wenn Hersteller es den Anwendern erlauben, die Software anzupassen (etwa durch die Parametrierung der Software oder gar eigene Scripts), dann sollten diese Anpassungen ebenfalls durch Software-Tests überprüft werden.
Tipp 6: Mit Beta-Tests vorsichtig sein
Beta-Tests haben das Ziel, ein Produkt (hier eine Software) vor dem offiziellen Release einem ausgewählten Anwenderkreis zur Verfügung zu stellen, um Feedback zum Produkt zu erhalten.
Medizinproduktehersteller müssen sich bewusst sein, dass solch ein Beta-Test bereits eine gesetzeswidrige Inverkehrbringung des Produkts darstellen kann.
Tipp 7: Kompetenz sicherstellen
Software-Testing ist eine Kompetenz, die Hersteller festlegen und gewährleisten müssen. Dazu verpflichtet sie u. a. die ISO 13485; und zwar spezifisch für jedes Entwicklungsprojekt.
4. Unterstützung
Nutzen Sie die Unterstützung des Johner Instituts:
Haben Sie noch Fragen zur Software-Architektur oder zu den regulatorischen Anforderungen? Dann nutzen Sie das kostenfreie Micro-Consulting.
Im Kompaktseminar medizinische Software erwerben Sie die vorgeschriebenen Kompetenzen. Sie lernen die gesetzlichen Anforderungen an die Software-Entwicklung kennen und erfüllen.
Mit dem Auditgarant lernen Sie anhand von Videotrainings, wie Sie Schritt für Schritt eine schlanke und IEC 62304 konforme „Software-Akte“ selbst erstellen. Ein vollständiger Satz an Templates nimmt Ihnen dabei viel Arbeit ab.
Lassen Sie die IT-Sicherheit Ihrer Produkte durch Penetration-Tests bewerten.
Melden Sie sich gleich, damit wir die nächsten Schritte besprechen können. So stellen Sie sicher, dass die „Zulassung“ sicher gelingt und Ihre Software bzw. Ihr Produkt schnell in den Markt kommt.
Die Einbindung von KI bei Medizinprodukten hat große Fortschritte gemacht, z. B. bei der Diagnose von Krankheiten. Hersteller von Produkten mit Machine Learning stehen vor der Herausforderung, die Konformität ihrer Produkte nachweisen zu müssen. Auch wenn Sie die Gesetze kennen – welche Normen und Best Practices sind zu berücksichtigen, um die Nachweise zu führen und…
Viele Behörden und Regularien sprechen von einem Risk-Based Approach (RBA), auf Deutsch: risikobasierter Ansatz. Allerdings definieren sie diesen Begriff nicht und nennen auch keine Beispiele. Dieser Artikel verschafft einen Überblick darüber, wie das Risikomanagement und die ISO 13485 zusammenspielen und was ein „Risk-Based Approach“ ist und gibt konkrete Hinweise dazu, wie
Müssen Medizinproduktehersteller bei der Auswahl des Betriebssystems darauf achten, dass das Betriebssystem IEC- 62304-konform ist? Was sagt die FDA? Dieser Artikel …
Die zyklomatische Komplexität ist eine Metrik im Software-Engineering, welche die Komplexität und damit die Fehlerträchtigkeit und Wartbarkeit von Code zu bestimmen hilft. Die zyklomatische Komplexität wird auch als Mc Cabe Maß bezeichnet.
Unter Unit-Testing wird in der Software-Entwicklung das Testen von Software-Units verstanden. Allerdings gibt es kein einheitliches Verständnis darüber, Dieser Artikel verschafft Klarheit.
Unter einem Regressionstest verstehen die meisten Software-Tester die Wiederholung eines bestehenden Tests. Damit möchten sie prüfen, ob dieser Test nach einer Software-Änderung noch immer erfolgreich durchläuft. Lesen Sie in diesem Beitrag, was Sie bei einem Regressionstest von medizinscher Software beachten sollten.
Wie unterscheiden sich Verifizierung und Validierung und wie sind diese Begriffe definiert? Selbst Normen und Gesetze verwenden die Begriffe falsch oder missverständlich. Dieser Artikel
Unter Software-Wartung versteht man die Phase, in der die Software weiterentwickelt wird, z. B. mit dem Ziel 79% aller Bugs werden laut FDA während der Software-Wartung eingeführt. Entsprechend adressieren einige Regularien dieses Thema. Update: Ergänzung zur Software-Wartung während der Entwicklung
Die MDCG hat im Oktober 2023 eine Leitlinie MDCG 2023-4 veröffentlicht mit dem Titel „Medical Device Software (MDSW) – Hardware combinations – Guidance on MDSW intended to work in combination with hardware or hardware components”.
Der TIR45 („Guidance on the use of AGILE practices in the development of medical device software“) ist ein Technical Information Report (daher TIR) der AAMI, der Association for the Advancement of Medical Instrumentation. Der 2012 erstmalig veröffentlichte TIR45 hat sich vor allem ein Ziel gesetzt: Medizinprodukte-Herstellern eine Anleitung zu geben, wie sie Software agil und…
Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und Ihre Erfahrung zu verbessern.Wenn Sie unter 16 Jahre alt sind und Ihre Zustimmung zu freiwilligen Diensten geben möchten, müssen Sie Ihre Erziehungsberechtigten um Erlaubnis bitten.Wir verwenden Cookies und andere Technologien auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und Ihre Erfahrung zu verbessern.Personenbezogene Daten können verarbeitet werden (z. B. IP-Adressen), z. B. für personalisierte Anzeigen und Inhalte oder Anzeigen- und Inhaltsmessung.Weitere Informationen über die Verwendung Ihrer Daten finden Sie in unserer Datenschutzerklärung.Sie können Ihre Auswahl jederzeit unter Einstellungen widerrufen oder anpassen.
Wenn Sie unter 16 Jahre alt sind und Ihre Zustimmung zu freiwilligen Diensten geben möchten, müssen Sie Ihre Erziehungsberechtigten um Erlaubnis bitten.Wir verwenden Cookies und andere Technologien auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und Ihre Erfahrung zu verbessern.Personenbezogene Daten können verarbeitet werden (z. B. IP-Adressen), z. B. für personalisierte Anzeigen und Inhalte oder Anzeigen- und Inhaltsmessung.Weitere Informationen über die Verwendung Ihrer Daten finden Sie in unserer Datenschutzerklärung.Hier finden Sie eine Übersicht über alle verwendeten Cookies. Sie können Ihre Einwilligung zu ganzen Kategorien geben oder sich weitere Informationen anzeigen lassen und so nur bestimmte Cookies auswählen.