How to Ensure Your Medical Device Embedded Software Has Healthy Compliance with FDA Software Quality Requirements
Modern medicine increasingly relies on electronic devices to improve quality of life and medical care. Your devices fulfill important missions: patient monitors, infusions pumps, pacemakers, and defibrillators. The common element is all contain significant amounts of embedded software. These devices need to behave properly and consistently, otherwise the well-being of patients is compromised. Testing is a critical part of ensuring the performance of these devices to pass FDA audits.
Why System Testing Isn't Enough for 100% Predictable and Flawless Results
To ensure flawless, predictable software operation, you need to know each part of the code was tested during system testing. However, the code coverage resulting from system testing alone is likely to be well below 100%. A value between 60% and 70% is common due to many edge cases existing in critical applications like medical devices. The code handling fail-safe conditions and other error cases may be impossible to stimulate during a full device test.
The Solution for Complete FDA-Compliant Medical Embedded Application Testing
VectorCAST/C++ allows you to perform easy system testing, plus unit testing of individual functions or groups of functions to fill in the holes in your testing coverage.
VectorCAST/Cover enables your engineers to perform system testing by automatically recording which parts of the application are stimulated by each system test. VectorCAST/Cover supports statement, branch and Modified Condition/Decision Coverage (MC/DC) coverage levels. VectorCAST/MCDC coverage was originally developed for the Avionics industry and now many leading medical devices companies adopted this as a code coverage standard.
Discover how VectorCAST code coverage analysis tools improve performance in your exact testing environment by registering today for a 30-day, fully-functional version or or arranging a demo for your project.
Proving Due Diligence for FDA Audits.
VectorCAST tools are successfully used by clients demonstrating due diligence with FDA software quality requirements. Coverage and test case reports are exportable to regular HTML or text for easy integration into product documentation. Whether your device is Class I, II or III, the VectorCAST tools provide a dependable and repeatable testing process for your medical device software development.


In the General Principles of Software Validation: Final Guidance for Industry and FDA Staff document, there is a recommended approach to Testing by the Software Developer in section (5.2.5). The various VectorCAST test tools address the software testing referred to in this section and provide an automated capability to satisfy each of the document's requirements. The document below contains excerpts (italics) from section 5.2.5 of the Guideline and a description of how the VectorCAST tools apply:
5.2.5 Testing by the Software Developer
...Software testing entails running software products under known conditions with defined inputs and documented outcomes that can be compared to their predefined expectations.
...An essential element of a software test case is the expected result. It is the key detail that permits objective evaluation of the actual test result.
...Code-based testing is also known as structural testing or "white-box" testing. It identifies test cases based on knowledge obtained from the source code, detailed design specification, and other development documents. Structural testing is accomplished primarily with unit (module) level testing, but can be extended to other levels of software testing.
Specify Input Data and Expected Results with VectorCAST
Pass/Fail Metrics
Code Coverage
...The level of structural testing can be evaluated using metrics that are designed to show what percentage of the software structure has been evaluated during structural testing. These metrics are typically referred to as "coverage" and are a measure of completeness with respect to test selection criteria. The amount of structural coverage should be commensurate with the level of risk posed by the software.
VectorCAST Code Coverage Viewer
VectorCAST Path Coverage Report
Regression Testing
...Regression analysis and testing are employed to provide assurance a change did not create problems elsewhere in the software product. Regression testing is the rerunning of test cases that a program has previously executed correctly and comparing the current result to the previous result in order to detect unintended effects of a software change.
VectorCAST/Manage Automates Regression Testing
In order to provide a thorough and rigorous examination of a software product, development testing is typically organized into levels. As an example, a software product's testing can be organized into unit, integration, and system levels of testing.

...Test procedures, test data, and test results should be documented in a manner permitting objective pass/fail decisions to be reached. They should also be suitable for review and objective decision making subsequent to running the test, and they should be suitable for use in any subsequent regression testing. Errors detected during testing should be logged, classified, reviewed, and resolved prior to release of the software. Software error data that is collected and analyzed during a development life cycle may be used to determine the suitability of the software product for release for commercial distribution.
Requirements Tracing
...Test reports should comply with the requirements of the corresponding test plans.
Requirements to Test Case Mapping
The VectorCAST/Requirements Gateway permits the flow of data between a requirements management tool and the VectorCAST testing tools. This information allows you to easily create the reports that show that all requirements have associated test cases.
Commercial Test Tool Validation
Software testing tools are frequently used to ensure consistency, thoroughness, and efficiency in the testing of such software products and to fulfill the requirements of the planned testing activities. These tools may include supporting software built in-house to facilitate unit (module) testing and subsequent integration testing (e.g., drivers and stubs) as well as commercial software testing tools. Such tools should have a degree of quality no less than the software product they are used to develop. Appropriate documentation providing evidence of the validation of these software tools for their intended use should be maintained.
VectorCAST provides tool validation in the form of qualification documents. The qualification documents consist of Tool Operational Requirements (TOR) and Tool Qualification Data (TQD). TOR describes requirements for VectorCAST tools and TQD, the associated tests and test results. These documents are built for each project and the tests execute on the same compiler/target/runtime environment used by the customer.
VectorCAST Tool Validation Data
See the Benefits of VectorCAST with Your Medical Embedded Software Applications
Discover how VectorCAST code coverage analysis tools improve performance in your exact testing environment by registering today for a 30-day, fully-functional version.
You may also contact us to arrange a demo for your project.





