IEC 62304

SOFTWARE TESTING TOOLS FOR IEC 62304

Software quality for medical devices

IEC 62304

SOFTWARE TESTING TOOLS FOR IEC 62304

Software quality for medical devices

IEC 62304

IEC 62304:2006 (Medical Device Software- Software Life-cycle Processes) is a functional safety standard. A system to which IEC 62304 is applicable often has varying levels of risk to the user or different safety requirements. To accommodate this IEC 62304 has three Software Safety Classes (Class A, Class B and Class C), with Class C being assigned to software systems where death or serious injury is possible.

In the European Union compliance with IEC 62304 will satisfy the essential requirements contained in Medical Devices Directive 93/42/EEC (MDD) with amendment M5 (2007/47/EC) as related to software development. In the United States, the US FDA will also accept ANSI/AAMI/IEC 62304 as evidence that medical device software has been designed to an acceptable standard and covers the following regulatory processes: 510(k), IDE, PMA, HDE, Software Validation (FDA Recognition List Number: 020 Publication Date: 09/09/2008). The relationship of IEC 62304 to other standards is documented on Annex C. Of particular note is “Readers of the standard are encouraged to use IEC 61508 as a source for good software methods, techniques and tools while recognising that other approaches, both present and future, can provide equally good results.

Recommended tools for compliance with IEC 62304

QA Systems enables organisations to accelerate IEC 62304 compliance with automated static analysis and software testing tools:

STATISCHE ANALYSE

QA-MISRA

Detaillierte Tiefenanalyse für C/C++-Code

CANTATA TEST ARCHITECT

Software-Architektur: verstehen, definieren und kontrollieren

SOURCE-CODE-METRIKEN

Automatisierte Source-Code-Metriken für C/C++

SOFTWARE TESTS

CANTATA

Automatisierte Unit- und Integrationstests für C/C++-Code

CANTATA TEAM REPORTING

Add-on für die Zusammenarbeit von verteilten Teams

ADATEST 95

Automatisierte Unit- und Integrationstests für Ada-Code

Tool Certification & Qualification

QA Systems’ dynamic testing tool Cantata has been classified and certified by SGS-TÜV GmbH, an independent third party certification body for functional safety, accredited by Deutsche Akkreditierungsstelle GmbH (DAkkS). Cantata has been classified as a Tool Confidence Level (TCL) 1 tool, and is usable in development of safety related software according to IEC 62304:2006 up to SW safety Class C.

For our static analysis tool QA-MISRA, our tool Qualification Support Kit (QSK) automatically executes a full tool qualification verification test suite on the installed tool configuration and generates the necessary reports for IEC 62304 tool qualification.

These tool kits for IEC 62304 are available to ease our customers’ path to certification. They contain everything needed to prove that Cantata and QA-MISRA provide the required confidence in the use of software tools under IEC 62304 recommendations as well as comprehensive and detailed guidance on how to use them to comply with the required software verification activities of IEC 62304.

Please contact us for more information about these tool kits.

Cantata Certificate

Software testing for IEC 62304 compliance

The Cantata testing tool enables developers to automate unit and integration testing and to verify IEC 62304 compliant code on host native and embedded target platforms.

Cantata helps accelerate compliance with the standard’s software testing requirements by automating:

  • Test framework generation
  • Test case generation
  • Test execution
  • Results diagnostics and report generation

Our IEC 62304 Standard Briefing traces the requirements of IEC 62304, identifying the scope of those which are supported by Cantata and identifies how the requirements are supported by Cantata.

Please contact us for more information on Cantata for IEC 62304.

The IEC 62304 software testing recommendations by Class and where these are supported by Cantata are summarised in the tables below:

IEC 62304: Section 5.1 Software development planning

Clauses/Subclauses Class A Class B Class C Cantata
5.1.1 Software development plan X X X Yes
5.1.2 Keep software development plan updated X X X Yes
5.1.4 Software development standards, methods and tools planning X Yes
5.1.5 Software integration and integration testing planning X X Yes
5.1.6 Software VERIFICATION planning X X X Yes
5.1.10 Supporting items to be controlled X X Yes
Key  
X Recommended for this class

IEC 62304: Section 5.5 Software unit implementation and verification

Clauses/Subclauses Class A Class B Class C Cantata
5.5.2 Establish software unit verification process X X Yes
5.5.3 Software unit acceptance criteria X X Yes
5.5.4 Additional software unit acceptance critera X Yes
5.5.5 Software unit verification X X Yes

IEC 62304: Section 5.6 – Software integration and integration testing

Clauses/Subclauses Class A Class B Class C Cantata
5.6.3 Test integrated software X X Yes
5.6.4 Integration testing content X X Yes
5.6.5 Verify integration test procedures X X Yes
5.6.6 Conduct regression tests X X Yes
5.6.7 Integration test record contents X X Yes
5.6.8 Use software problem resolution process X X Yes

IEC 62304: Section 5.7 – Software system testing

Clauses/Subclauses Class A Class B Class C Cantata
5.7.1 Establish test for software requirements X X Yes
5.7.2 Use software problems resolution process X X Yes
5.7.3 Retest after changes X X Yes
5.7.4 Verify software system testing X X Yes
5.7.5 Software system test record contents X X Yes

IEC 62304: Section 5.8 – Software release

Clauses/Subclauses Class A Class B Class C Cantata
5.8.1 Ensure software verification is complete X X Yes
5.8.2 Document known residual anomalies X X Yes
5.8.6 Ensure activities and tasks are complete X X Yes
5.8.7 Archive software X X Yes

IEC 62304: Section 6.0 – Software maintenance process

Clauses/Subclauses Class A Class B Class C Cantata
6.1 Establish software maintenance plan X X X Yes
6.3.1 Use established PROCESS to implement modification X X X Yes

IEC 62304: Section 8 – Software configuration management process

Clauses/Subclauses Class A Class B Class C Cantata
8.1.1 Establish means to identify configurations items X X X Yes
8.2.1 Approve change requests X X X Yes
8.2.2 Implement changes X X X Yes
8.2.3 Verify changes X X X Yes
8.2.4 Provide means for traceability of change X X X Yes
8.3 Configuration status accounting X X X Yes

IEC 62304: Section 9 – Software problem resolution process

Clauses/Subclauses Class A Class B Class C Cantata
9.4 Use change control process X X X Yes
9.5 Maintain records X X X Yes
9.7 Verify software problem resolution X X X Yes
9.8 Test documentation contents X X X Yes

Start a free trial & get a complete copy of Cantata to evaluate using your code.

Static analysis for IEC 62304 compliance

Coding standards form an integral part of software acceptance criteria within the IEC 62304 standard.

The guidance in Annex B.5.5 explains the rationale as “To consistently achieve the desirable code characteristics, coding standards should be used to specify a preferred coding style. Examples of coding standards include requirements for understandability, language usage rules or restrictions, and complexity management.” Static analysis with QA-MISRA can dramatically reduce the manual effort in enforcing compliance with such coding standards. 

The IEC 62304 static analysis recommendations by Safety Class are summarised in the tables below.

IEC 62304: Section 5.1 Software development planning

Clauses/Subclauses Class A Class B Class C
5.1.1 Software development plan X X X
5.1.2 Keep software development plan updated X X X
5.1.4 Software development standards, methods
and tools planning
X
5.1.6 Software verification planning X X X
5.1.7 Software risk management planning X X X
5.1.9 Software configuration management planning X X X
5.1.10 Supporting items to be controlled X X
Key  
X Recommended for this class

IEC 62304: Section 5.5 Software unit implementation and verification

Clauses/Subclauses Class A Class B Class C
5.5.2 Establish software unit verification process X X
5.5.3 Software unit acceptance criteria X X
5.5.4 Additional software unit acceptance critera X
5.5.5 Software unit verification X X

IEC 62304: Section 5.6 – Software integration and integration testing

Clauses/Subclauses Class A Class B Class C
5.6.3 Test integrated software X X
5.6.4 Integration testing content X X
5.6.5 Verify integration test procedures X X
5.6.6 Conduct regression tests X X
5.6.7 Integration test record contents X X
5.6.8 Use software problem resolution process X X

IEC 62304: Section 5.7 – Software system testing

Clauses/Subclauses Class A Class B Class C
5.7.1 Establish test for software requirements X X
5.7.2 Use software problems resolution process X X
5.7.3 Retest after changes X X
5.7.4 Verify software system testing X X
5.7.5 Software system test record contents X X

IEC 62304: Section 5.8 – Software release

Clauses/Subclauses Class A Class B Class C
5.8.1 Ensure software verification is complete X X
5.8.2 Document known residual anomalies X X
5.8.6 Ensure activities and tasks are complete X X
5.8.7 Archive software X X

IEC 62304: Section 6.0 – Software maintenance process

Clauses/Subclauses Class A Class B Class C
6.1 Establish software maintenance plan X X X
6.3.1 Use established PROCESS to implement modification X X X

IEC 62304: Section 8 – Software configuration management process

Clauses/Subclauses Class A Class B Class C
8.1.1 Establish means to identify configurations items X X X
8.1.2 Identify SOUP X X X
8.2.1 Approve change requests X X X
8.2.2 Implement changes X X X
8.2.3 Verify changes X X X
8.2.4 Provide means for traceability of change X X X
8.3 Configuration status accounting X X X

IEC 62304: Section 9 – Software problem resolution process

Clauses/Subclauses Class A Class B Class C
9.4 Use change control process X X X
9.5 Maintain records X X X
9.6 Analyse the problem for trends X X X
9.7 Verify software problem resolution X X X
9.8 Test documentation contents X X X

Start a free trial of QA-MISRA to evaluate your code against MISRA, AUTOSAR, CERT C/C++, CWE and other coding standards to ensure automated compliance with IEC 62304.