SOFTWARE TESTING TOOLS FOR IEC 62304

Software quality for medical devices

Slider

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.

Testing tools for compliance with IEC 62304 recommendations

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

STATIC ANALYSIS

INTEGRATED STATIC ANALYSIS

Automated analysis synchronised with Cantata

CANTATA TEST ARCHITECT

Understand, define and control software architecture

SOURCE CODE METRICS

Automated source code metrics for C/C++

SOFTWARE TESTING

CANTATA

Automated unit and integration testing for C/C++ code

CANTATA TEAM REPORTING

Test status management dashboard add-on

ADATEST 95

Automated unit and integration testing for Ada code

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). 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.

The tool certification kit for IEC 62304 is available to ease our customers’ path to certification. This contains everything needed to prove that Cantata fulfills IEC 62304 recommendations as well as guidance to help you to achieve compliance.

Please contact us for more information about the tool certification kit.

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 60880 Standard Briefing traces the requirements of IEC 60880, 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 60880.

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/SubclausesClass AClass BClass CCantata
5.1.1 Software development planXXXYes
5.1.2 Keep software development plan updatedXXXYes
5.1.4 Software development standards, methods and tools planningXYes
5.1.5 Software integration and integration testing planningXXYes
5.1.6 Software VERIFICATION planningXXXYes
5.1.10 Supporting items to be controlledXXYes
Key
XRecommended for this class

IEC 62304: Section 5.5 Software unit implementation and verification

Clauses/SubclausesClass AClass BClass CCantata
5.5.2 Establish software unit verification processXXYes
5.5.3 Software unit acceptance criteriaXXYes
5.5.4 Additional software unit acceptance criteraXYes
5.5.5 Software unit verificationXXYes

IEC 62304: Section 5.6 – Software integration and integration testing

Clauses/SubclausesClass AClass BClass CCantata
5.6.3 Test integrated softwareXXYes
5.6.4 Integration testing contentXXYes
5.6.5 Verify integration test proceduresXXYes
5.6.6 Conduct regression testsXXYes
5.6.7 Integration test record contentsXXYes
5.6.8 Use software problem resolution processXXYes

IEC 62304: Section 5.7 – Software system testing

Clauses/SubclausesClass AClass BClass CCantata
5.7.1 Establish test for software requirementsXXYes
5.7.2 Use software problems resolution processXXYes
5.7.3 Retest after changesXXYes
5.7.4 Verify software system testingXXYes
5.7.5 Software system test record contentsXXYes

IEC 62304: Section 5.8 – Software release

Clauses/SubclausesClass AClass BClass CCantata
5.8.1 Ensure software verification is completeXXYes
5.8.2 Document known residual anomaliesXXYes
5.8.6 Ensure activities and tasks are completeXXYes
5.8.7 Archive softwareXXYes

IEC 62304: Section 6.0 – Software maintenance process

Clauses/SubclausesClass AClass BClass CCantata
6.1 Establish software maintenance planXXXYes
6.3.1 Use established PROCESS to implement modificationXXXYes

IEC 62304: Section 8 – Software configuration management process

Clauses/SubclausesClass AClass BClass CCantata
8.1.1 Establish means to identify configurations itemsXXXYes
8.2.1 Approve change requestsXXXYes
8.2.2 Implement changesXXXYes
8.2.3 Verify changesXXXYes
8.2.4 Provide means for traceability of changeXXXYes
8.3 Configuration status accountingXXXYes

IEC 62304: Section 9 – Software problem resolution process

Clauses/SubclausesClass AClass BClass CCantata
9.4 Use change control processXXXYes
9.5 Maintain recordsXXXYes
9.7 Verify software problem resolutionXXXYes
9.8 Test documentation contentsXXXYes

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 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 static analysis tools and QA-Verify for IEC 62304.

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

IEC 62304: Section 5.1 Software development planning

Clauses/SubclausesClass AClass BClass C
5.1.1 Software development planXXX
5.1.2 Keep software development plan updatedXXX
5.1.4 Software development standards, methods
and tools planning
X
5.1.6 Software verification planningXXX
5.1.7 Software risk management planningXXX
5.1.9 Software configuration management planningXXX
5.1.10 Supporting items to be controlledXX
Key
XRecommended for this class

IEC 62304: Section 5.5 Software unit implementation and verification

Clauses/SubclausesClass AClass BClass C
5.5.2 Establish software unit verification processXX
5.5.3 Software unit acceptance criteriaXX
5.5.4 Additional software unit acceptance criteraX
5.5.5 Software unit verificationXX

IEC 62304: Section 5.6 – Software integration and integration testing

Clauses/SubclausesClass AClass BClass C
5.6.3 Test integrated softwareXX
5.6.4 Integration testing contentXX
5.6.5 Verify integration test proceduresXX
5.6.6 Conduct regression testsXX
5.6.7 Integration test record contentsXX
5.6.8 Use software problem resolution processXX

IEC 62304: Section 5.7 – Software system testing

Clauses/SubclausesClass AClass BClass C
5.7.1 Establish test for software requirementsXX
5.7.2 Use software problems resolution processXX
5.7.3 Retest after changesXX
5.7.4 Verify software system testingXX
5.7.5 Software system test record contentsXX

IEC 62304: Section 5.8 – Software release

Clauses/SubclausesClass AClass BClass C
5.8.1 Ensure software verification is completeXX
5.8.2 Document known residual anomaliesXX
5.8.6 Ensure activities and tasks are completeXX
5.8.7 Archive softwareXX

IEC 62304: Section 6.0 – Software maintenance process

Clauses/SubclausesClass AClass BClass C
6.1 Establish software maintenance planXXX
6.3.1 Use established PROCESS to implement modificationXXX

IEC 62304: Section 8 – Software configuration management process

Clauses/SubclausesClass AClass BClass C
8.1.1 Establish means to identify configurations itemsXXX
8.1.2 Identify SOUPXXX
8.2.1 Approve change requestsXXX
8.2.2 Implement changesXXX
8.2.3 Verify changesXXX
8.2.4 Provide means for traceability of changeXXX
8.3 Configuration status accountingXXX

IEC 62304: Section 9 – Software problem resolution process

Clauses/SubclausesClass AClass BClass C
9.4 Use change control processXXX
9.5 Maintain recordsXXX
9.6 Analyse the problem for trendsXXX
9.7 Verify software problem resolutionXXX
9.8 Test documentation contentsXXX