Vector Software Solutions for Medical
Ensuring healthy software in medical devices
Modern medicine is increasingly relying on electronic devices to improve the quality of life and medical care. These devices fulfill important missions: patient monitors, infusions pumps, pacemakers, and defibrillators all contains 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.
How VectorCAST can help?
To ensure flawless, predictable software operation, you need to know that each part of the code has been tested during system testing. VectorCAST/Cover enables your engineers to do this easily. It automatically records which parts of the application have been 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 are adopting this as a code coverage standard.
The code coverage that results from system testing alone is likely to be well below 100%, a value between 60% and 70% is common. This result is primarily due to the many edge cases that exist in critical application like medical devices. The code that handles fail-safe conditions, and other error cases may be impossible to stimulate during a full device test. The solution to testing these parts of your application is VectorCAST/C++. VectorCAST/C++ allows you to perform unit testing of individual functions or groups of functions to fill in the holes in your testing coverage.
Proving due diligence for FDA audits.
The VectorCAST tools have been successfully used by clients demonstrating due diligence with FDA software quality requirements. Our coverage and test case reports can be exported to regular HTML or text for easy integration into product documentation. Whether your device is Class I, II or III, the VectorCAST tools provides 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 that a change has not created 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.
Regression 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 the Tool Operational Requirements (TOR) and the Tool Qualification Data (TQD). The TOR describes the requirements for the VectorCAST tools and the TQD the associated tests and test results. These documents are built for each project and the tests are executed on the same compiler/target/runtime environment used by the customer.
VectorCAST Tool Validation Data
Sample Customers:
- Abbott Labs/Medisense
- Acist Medical
- Boston Scientific
- Covidien
- Enteromedics
- Hoana Medical
- Hospira Medical
- Impact Instrumentation
- Medtronic
- Philips Medical-Heartstream
