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.

IEC 62304 is a safety standard for medical services and devices - Doctor looking at MRI scan on his PC

Testing tools for compliance with IEC 62304 recommendations

 

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

Tool Certification

QA Systems’ tools have been classified and certified by SGS-TÜV GmbH, an independent third party certification body for functional safety, accredited by Deutsche Akkreditierungsstelle GmbH (DAkkS). Each tool 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.

 

Tool certification kits for IEC 62304 are available to ease our customers’ path to certification. This contains everything needed to prove that our tools fulfill IEC 62304 recommendations as well as guidance to help you to achieve compliance.

 

Please contact us for more information about tool certification kits.

SGS TUEV Saar Logo - Functional Safety approved - certified
Cantata unit testing tool for C & C++ - functional safety approved - testing requirements - SGS-TUV SAAR - ISO 26262 - IEC 60880 - IEC 62304 - IEC 61508 - EN 50128 - safety critical - certified

      Cantata Certificate

PRQA Certificate Version 8.2.2/ Version 3.2.2 - QA-C with MISRA C - QA-C++ with MISRA C++ - SGS TUEV Saar - Programming Research Ltd

 QA-C/QA-C++ Certificate

Dynamic 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 dynamic 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 dynamic testing recommendations by Class and where these are supported by Cantata are summarised in the tables below:

Cantata testing model with logo- Dynamic testing for IEC 62304 compliance - acceptance test and system requirements - system test and architectural design - integration test and detailed design - unit test and unit design then code

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

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
Key
X Recommended for this class

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

Static testing 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 testing with QA-C and QA-C++ tools can dramatically reduce the manual effort in enforcing compliance with such coding standards.  QA-Verify adds reporting to ensure this over time and across product versions.

 

Please contact us for more information on QA-C, QA-C++ and QA-Verify for IEC 62304. 

The IEC 62304 static testing recommendations by Class and where these are supported by QA-C and QA-C++ are summarised in the tables below.  

Static testing for IEC 61506 compliance - Advanced static analysis - Coding standards compliance - sophisticated bug detection

IEC 62304: Section 5.1 Software development planning

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

IEC 62304: Section 5.5 Software unit implementation and verification

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

IEC 62304: Section 5.6 - Software integration and integration testing

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

IEC 62304: Section 5.7 - Software system testing

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

IEC 62304: Section 5.8 - Software release

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

IEC 62304: Section 6.0 - Software maintenance process

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

IEC 62304: Section 8 - Software configuration management process

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

IEC 62304: Section 9 - Software problem resolution process

Clauses/Subclauses Class A Class B Class CQA-C QA-C++
9.4 Use change control process X X XYes Yes
9.5 Maintain records X X XYes Yes
9.6 Analyse the problem for trends X X XYes Yes
9.7 Verify software problem resolution X X XYes Yes
9.8 Test documentation contents X X XYes Yes
Key
X Recommended for this class

Start a free trial & get a complete copy of QA-C and QA-C++ to evaluate using your code.

Start
Trial
QA-Systems